CSCI3230 L03 · Part 5/5 ESTR3108:凸性与解析解
课程:CSCI3230 (ESTR3108) Fundamentals of Artificial Intelligence · 2026T1
本讲:L03,第 5 部分 / 共 5 部分 · 原件 L03-Logistic-Regression-2026T1.pdf(本地课件) p.56–68
定位:逐步算出交叉熵梯度和 Hessian,用二次型证明凸性,并说明凸性不等于有简单解析解。
前后:上一份 Summary
范围先说明:p.56 明确写 ESTR3108,p.57 列出凸性与解析解两个问题。本篇是该拓展段的慢讲,不把 Hessian 证明冒充 CSCI3230 首次学习逻辑回归的必要门槛。若尚不能用概率残差手算更新,请先回主线。
本篇前置是链式法则、向量点积与矩阵乘法。第一次读只需理解证明路线:先对损失求一次导数,再求第二次,最后说明沿任何方向都不会向下弯。 不必一开始记住最终矩阵。
凸性必须针对参数(p.58–60)【延伸 L02 p.26–28】
p.58 为一条样本的正类概率取简写 gi(θ)。本篇去掉样本下标先看一条:输入 x∈Rd 固定,标签 y 为0或1,参数 θ∈Rd 是我们移动的变量,z=xTθ 是标量分数,g=σ(z) 是标量概率。损失是
E(θ)=−ylng−(1−y)ln(1−g).这不是五个互相独立的变量:参数变→分数变→概率变→损失变。只看损失对概率的曲线,还没有检查参数到概率这一层,因此 p.59–60 需要对参数谈凸性。
p.59 的定义可以先用数值理解。补充:取一维函数 f(a)=a2,两个位置0和2,中点为1。两端高度的平均是 (0+4)/2=2,真实中点高度是1,不超过连线高度。凸性要求任意两点和任意中间比例都如此,不只是这个例子。
f(tθ1+(1−t)θ2)≤tf(θ1)+(1−t)f(θ2),0≤t≤1.t 是混合比例;左边先混合位置再算高度,右边先算两端高度再混合。初学时先辨这两个计算次序,比“背不等号方向”更可靠。
p.60 给二阶判断:一维看二阶导是否非负,多维看 Hessian 是否半正定。Hessian 记 H,第 j,k 项是先对参数 θj 再对 θk 求导的结果,是 d×d 矩阵。半正定不是矩阵每个元素都非负,而是对每个方向向量 v 都有 vTHv≥0。它检查沿任意方向的二阶弯曲,不是检查表格里的符号。
**图(p.59):凸性不等式的两个高度。**元素:紫色曲线经过左右端点;黑虚线连接两端函数值;同一中间横坐标有上、下两个空心标记,上点在线段上、下点在曲线上。看什么:上点是 tf(θ1)+(1−t)f(θ2),下点是 f(tθ1+(1−t)θ2);不等号要求曲线不高于弦,而不是把左右两端的横坐标大小进行比较。p.60 二阶判据要求在整个所论区间/凸定义域内成立,不能只检查一个点的 Hessian。
链式法则中的两项恰好约掉(p.61–63)
先做两段求导,再相乘,避免在一个长式子里丢负号。p.61 先暂时把概率 g 看作直接变量。y 是已知标签,求导时当常数:
∂g∂E=−gy+1−g1−y=g(1−g)−y(1−g)+(1−y)g=g(1−g)−y+yg+g−yg=g(1−g)g−y.第二项为何是加号?损失前面一个负号,ln(1−g) 求导又带一个−1,负负得正。通分后的 yg 与 −yg 才能相消,不能尚未通分就随意约。
p.62 再求概率对参数的导数。先求 sigmoid 对分数的导数:
dzdg=dzd(1+e−z)−1=−(1+e−z)−2(−e−z)=(1+e−z)2e−z=g(1−g).这里一次负号来自负一次幂求导,另一次来自 e−z 的内部−z。又因为 z=∑jxjθj,对第 j 个参数求导就是 xj,所以 ∂g/∂θj=g(1−g)xj。
p.63 合并两段:损失随概率的变化率,乘概率随参数的变化率:
∂θj∂E=g(1−g)g−yg(1−g)xj=(g−y)xj.因此整个梯度是 (g−y)x,维数与参数相同。有限参数下 0<g<1,约去的 g(1−g) 非零,这个条件别漏掉。
补充·数字检验:取 x=(1,2)T、θ=(0,0)T、y=1,则 g=0.5。先看损失对概率的导数是−2,再看概率对两个参数的导数是 (0.25,0.5)T,相乘得 (−0.5,−1)T。直接用残差−0.5乘 x,得到同一个结果。链式法则不是形式游戏,而是把两段影响连起来。
三层关系的集中复述见见附录 A1。到这里先停一下:只要能说明为何只剩概率残差乘特征,第一阶部分就已理解。
Hessian 是加权外积(p.64–66)【新】
p.64 再对第 j 个梯度分量 (g−y)xj 求第 k 个参数的导数。特征 xj 和标签 y 都固定,只有 g 随参数变,因此
Hjk=xj∂θk∂g=g(1−g)xjxk.把各项排进矩阵,p.65 得到
H=g(1−g)xxT.x 是列,xT 是行,故 xxT 是 d×d 的外积。别写成 xTx,后者只是一个标量。用上一节数字,g(1−g)=1/4,所以
H=41(1224)=(0.250.50.51).p.66 证明半正定。不用逐个找特征值,只需给任意方向 v,计算二次型:
vTHv=g(1−g)vTxxTv=g(1−g)(xTv)2≥0.最后一步的理由分两件事:g(1−g)>0,实数的平方非负;两者乘积非负。xTv 是一个标量,因此其平方没有“矩阵怎么平方”的歧义。
补充·为什么只说半正定:在上例取 v=(2,−1)T,点积 xTv=2−2=0,所以非零方向上二次型仍可为0。沿此方向移动参数不改变该样本分数,单个样本不能约束所有参数方向。若用一个特征正、另一个负,外积还会出现负的非对角元素,但依然半正定;元素符号不是判据。
小检查:已知 g(1−g)>0,能否立即说 H 正定、最优参数唯一?
参考答案
不能。还需外积在任何非零方向都给正值,而单样本外积一般有零方向。总数据的列秩、是否存在有限解等条件还要另查。凸性本身也不保证唯一性。
求和保持凸,但零梯度方程仍非线性(p.67–68)
p.67 将各样本凸性不等式逐项相加。每条不等式方向相同,相加后左边就是总损失在中间参数处的值,右边就是端点总损失的加权平均,所以总损失凸。也可以相加 Hessian:
Htotal=i=1∑mgi(1−gi)xixiT.任意 v 下的二次型是很多个非负数相加,因此仍非负。这并不要求每条数据有一样的概率。
**p.67 原来的不等式证明:**对每个样本 i,先用已证凸性写
Ei(tθ1+(1−t)θ2)≤tEi(θ1)+(1−t)Ei(θ2).对所有 i 相加,常数 t 与 1−t 可提出求和号:
i∑Ei(tθ1+(1−t)θ2)E(tθ1+(1−t)θ2)≤ti∑Ei(θ1)+(1−t)i∑Ei(θ2),≤tE(θ1)+(1−t)E(θ2).最后一行恰好是总损失的凸性定义,完成从一条样本到整份训练集的论证。下面 Hessian 求和是同结论的核验表达,不代替原页方法。
若已熟悉矩阵,令 X 每行是一个样本的特征转置,形状 m×d;令 W 是 m×m 对角矩阵,第 i 个对角元素为 gi(1−gi)。那么同一个总Hessian可压缩成 Htotal=XTWX,形状 (d×m)(m×m)(m×d)=d×d。展开矩阵乘法就是前面的逐样本加权外积,没有新增一个假设。
p.68 问能否像最小二乘一样由零梯度直接求参数。零梯度条件为
i=1∑m(σ(xiTθ)−yi)xi=0.参数在 sigmoid 的指数内部,不能当常数移到求和号外,再套正规方程。凸性让我们了解优化形状,并没有把这个方程变成线性方程;因此一般依靠数值迭代。
补充·有限最优值的边界:只有一条 x=1,y=1 的数据时,损失为 ln(1+e−θ)。θ 越大损失越接近0,但任何有限 θ 损失仍大于0。它是凸函数,却没有有限参数达到最小值。这个小例子解释为何“凸”不能推出“梯度下降必然停在一个有限最优参数”;可分数据的无正则逻辑回归也要注意这类现象。
把这条补充数据再配上一条 (x,y)=(−1,0),仍不设截距,两条都由正参数正确分开。总损失变成 2ln(1+e−θ):参数从1变成10,两条都早已分对,但损失仍持续降低,仍只有趋向0的下界而无有限参数取到它。这个两点版本更清楚地说明“所有标签分对”和“交叉熵有有限最小点”不同。
补充 · 严格凸也不保证有限位置上取得最小值(通识讲解;演示数据不属于原题)。
先区分“如果有最小点,是否唯一”和“最小点是否存在”。取一维演示数据 (x,y)=(1,1),(−1,0),无截距、无正则化,参数为 w。两点都被越来越大的正 w 越来越自信地判对,总交叉熵为
J(w)=2ln(1+e−w),J′(w)=−1+ew2<0.任何有限 w 下,损失都正且还能继续下降;w→+∞ 时损失趋近 0,却没有一个有限参数使它等于 0。二阶导为 2ew/(1+ew)2>0,所以这是严格凸函数,仍然没有有限最小点。这里零是下确界,即可以无限接近的下界,不是实际达到的最小值。
这解释了可分数据上无正则逻辑回归可能出现“分类早已全对,参数却还在长大”。看到该现象不能立刻断言梯度程序写错。实际有限步训练、正则化和停止条件会改变结果;它们不是原无约束问题自动附送的保证。本段属于 ESTR 条件辨析,不增加主课的证明要求。
补充:把“任意方向”真的写成两个坐标
自编两样本扩展,取 x1=(1,0)T,x2=(1,1)T,在 θ=(0,0)T 时,两条概率均为1/2。不论两条标签如何,总Hessian在这个位置都是
H=41((1000)+(1111))=41(2111).任取 v=(a,b)T,二次型为 (a2+(a+b)2)/4。要等于0,两个平方都须零,先有 a=0,再有 a+b=0,所以 b=0。因此任何非零方向都严格为正。这次与单样本外积不同:两个独立样本方向共同消除了看不见的参数方向。
一般有限参数下,各 qi(1−qi)>0;若 X列满秩,v=0 时至少有一个 xiTv=0,加权平方和严格为正。这证明严格凸,但不能省掉上一节的“最小点存在吗”。取本例标签 (0,1),沿参数 (−t,2t),两个分数分别为 −t,t,损失为 2ln(1+e−t),仍向0逼近而不在有限处达到。两个参数、满秩、每个有限位置Hessian正定,仍不能由此推出有限最优参数存在。
本讲核心考点
- ESTR拓展:凸性针对待优化参数,Hessian半正定是所有方向上的二阶条件(p.58–60)。
- 链式法则两段相乘,得到残差乘特征的梯度(p.61–63)。
- 加权外积用二次型证明半正定,求和保留凸性(p.64–67)。
- 凸性、唯一性、有限最优解、闭式可解是不同命题(p.68及补充)。
以上为讲义拓展知识整理,不声明CSCI3230基础考试必须掌握全部证明。
附录
A1 梯度的完整链式推导
从最内层开始复述更易定位漏项:参数 θj 改一点,分数改约 xj 倍;分数改一点,概率改约 g(1−g) 倍;概率改一点,损失改约 (g−y)/(g(1−g)) 倍。把三段局部变化率相乘:
∂θj∂E=∂g∂Edzdg∂θj∂z=g(1−g)g−yg(1−g)xj=(g−y)xj.这条链适用于本篇未裁剪的 sigmoid 与交叉熵配对。若代码在中间插入裁剪等操作,必须重新检查链式法则,不能只背最终结果。回到正文。
来源与证据
逐页核对当前 L03-Logistic-Regression-2026T1.pdf(本地课件) p.56–68(本地68页阅读版);p.56 明示ESTR3108。本篇自取数字、半正定误区和有限解例子标为补充。考试证据:未据试卷扩大本课要求,未声称本轮阅读其他教材。