Hesse 矩阵与极值点的二阶导数判定
为了避免张量的概念, 我们考虑 Rn 中的开集 Ω 并假设 Rn 中已经选取坐标 (x1,⋯,xn). 我们假设 f 是 Ω 上至少两次连续可微的函数. 对于给定的点 p∈Ω, 我们定义 f 在 p 处的 Hesse 矩阵为∇2f(p)=Hf(p)=(∂xi∂xj∂2f(p))=⎝⎛∂x12∂2f(p)∂x2∂x1∂2f(p)⋯∂xn∂x1∂2f(p)∂x1∂x2∂2f(p)∂x12∂2f(p)⋅∂xn∂x2∂2f(p)⋯⋅⋯⋯∂x1∂xn∂2f(p)∂x2∂xn∂2f(p)⋯∂xn2∂2f(p)⎠⎞根据 Clairaut-Schwarz 的定理, 这是一个对阵矩阵. 另外, 根据线性代数中所学的知识, 我们还可以将 Hesse 矩阵看成是 R2 上的二次型: Hf(p):Rn⊗Rn→R, (v,w)↦1⩽i,j⩽n∑∂xi∂xj∂2fviwj.我们假设在 Rn 给了内积 ⟨⋅,⋅⟩, 使得 {∂xi∂}i⩽n 恰好是标准正交基. 那么上面的二次型还可以写成Hf(v,w)=⟨v,∇2f(w)⟩.另外, 我们的 Taylor 公式在 2 阶的时候可以写成f(x)=f(x0)+⟨∇f(x0),x−x0⟩+21⟨x−x0,∇2f(x0)(x−x0)⟩+o(∣x−x0∣2).
对于实对称矩阵, 我们可以讨论它是否正定/负定. 我们简单回忆线性代数中的概念: 矩阵/二次型 ∇2f 是正定 (半正定) 的, 指的是它满足如下条件之一:
1) | 对任意的 v∈Rn, Hf(v,v)>0 (Hf(v,v)⩾0) ; |
2) | 矩阵 ∇2f 的特征值都是正 (非负) 的. |
我们用 ∇2f>0 和 ∇2f⩾0 表示正定和半正定的二次型; 负定的情形类似.
给定 f∈C2(Ω), 其中 Ω⊂Rd 是开集, 如果 x0∈Ω 是 f 的最小值点, 那么, ∇f(x0)=0 并且 ∇2f(p0)⩾0 (半正定) .
证明. 首先,
∇f(x0)=0 即
df(x0)=0, 这是明显的. 为了说明
∇2f(x0)⩾0, 我们用反证法, 假设
∇2f 有一个负特征值
λ<0, 我们用
v 表示相应的一个特征向量 (非零) . 考虑
x=x0+tv 并利用 Taylor 公式 (一阶导数项自动为零) :
f(x)=f(x0)+21⟨tv,∇2f(x0)(tv)⟩+o(∣x−x0∣2)=f(x0)+λ×2∣v∣2t2+o(t2∣v∣2)根据
o(∣t∣2) 的定义, 存在
ε>0, 当
∣t∣<ε 时, 我们有
o(t2∣v∣2)<21∣λ∣2∣v∣2t2. 根据
λ<0, 从而
f(x)<f(x0)+λ×4∣v∣2t2<f(x0)这与
x0 是最小值矛盾.
这个证明可以用来证明一个接近于上述命题逆命题的命题:
给定 f∈C2(Ω), 其中 Ω⊂Rd 是开集, 如果 x0∈Ω 满足 ∇f(x0)=0 并且 ∇2f(p0)>0 (正定) , 那么, x0 是 f 的局部最小值点, 即存在开集 U⊂Ω, 使得 x0 是 f 在 Ω 上的最小值.
证明. 由于
∇2f(p0)>0, 我们令
0<λ1⩽λ2⩽⋯⩽λn 是它的特征值, 其中
λ1 是最小的特征向量. 根据线性代数的知识, 我们可以选取相应于上述特征值的特征向量
v1,v2,⋯,vn, 其中它们都是单位向量并且两两正交. 据此, 对任意的
w∈Rn, 我们可以把
x 写成
w=a1v1+⋯+anvn, i⩽n∑(ai)2=∣x∣.由于
∇2f(x0)(w)=λ1a1v1+⋯+λnanvn, 所以, 我们有
∣∇2f(x0)(w)∣=i⩽n∑(λiai)2⩾λ1∣w∣.根据 Taylor 公式 (一阶导数项自动为零) , 我们有
f(x)=f(x0)+21⟨x−x0,∇2f(x0)(x−x0)⟩+o(∣x−x0∣2)⩾f(x0)+λ1∣x−x0∣2+o(∣x−x0∣2)根据
o(∣x−x0∣2) 的定义, 存在
ε>0, 当
∣x−x0∣<ε 时 (我们就选取
U=Bε(x0)) , 我们有
o(∣x−x0∣2)<21∣λ∣2∣x−x0∣2. 从而
f(x)>f(x0)+λ×4∣x−x0∣2>f(x0)这说明
x0 是
U 中的最小值点.
二阶导数与凸函数
给定凸集 Ω⊂Rn (即对任意的 x,y∈Ω, 对任意的 t∈[0,1], tx+(1−t)y∈Ω) , f:Ω→R 是在凸集上定义的函数, 如果对任意的 x,y∈Ω, 对任意的 t∈[0,1], 都有f(tx+(1−t)y)⩽tf(x)+(1−t)f(y).我们就称 f 是凸函数. (如果 −f 是凸函数, 就称 f 是凹函数)
另外, 如果对任意的 x,y∈Ω, 对任意的 t∈(0,1), 都有f(tx+(1−t)y)<tf(x)+(1−t)f(y).我们就称 f 是严格凸的.
换而言之, 对于任意 Ω 中的线段, f 在这个线段上的限制是 1 维的凸函数. 另外, 我们可以同样地证明 Jensen 不等式 (请参见上学期第十八次课, 证明完全可以照搬) :
假设 f:Ω→R 是凸函数, 其中 Ω⊂Rn 为凸集, 那么对任意的 x1,⋯,xn∈Ω 和任意的 t1,⋯,tn∈[0,1], 其中 t1+t2+⋯+tn=1, 我们有f(t1x1+⋯+tnxn)⩽t1f(x1)+⋯+tnf(xn).
我们先看几个凸函数的例子 (我们总假设 Ω⊂Rn 是凸集)
1) | f(x)=a1x1+⋯+anxn+b 是 Ω 上的线性函数. |
2) | 假设 ∥⋅∥:Rn→R 是任意一个范数, 那么, 这是一个凸函数, 因为∥tx+(1−t)y∥⩽∥tx∥+∥(1−t)y∥=t∥x∥+(1−t)∥y∥. |
3) | 假设 A 是一个 n×n 的半正定矩阵, 那么, 二次型f(x)=⟨x,Ax⟩是凸函数. 实际上, 我们可以验证代数恒等式: (1−t)f(x)+tf(y)−f((1−t)x+ty)=t(1−t)f(x−y).右边的值是非负的. |
假设 Ω⊂Rn 是凸的开集, f:Ω→R 是凸函数, 那么, f 是连续函数.
证明. 假设
0∈Ω, 我们只要证明
f 在
0 处连续即可, 其余的点类似. 我们不妨假设如下的向量
±e1=(±1,0,⋯,0),⋯,±en=(0,⋯,0,±1)都在
Ω 中 (否则做适当的放缩即可, 或者选取
ε±ei 来代替这些向量) . 我们注意到, 当
r 足够小的时, 任意的
∣x∣<r, 如果
x 在第一相限 (即坐标都是非负的) , 存在
λ1,⋯,λn∈[0,1) 使得
x=λ1e1+λ2e2+⋯+λnen.如果
r 足够小, 我们还可以要求
λ1+⋯+λn<1, 这是因为
λ1+⋯+λn⩽n(λ12+⋯+λn2)=∣x∣n.选定这样一个
r. 此时, 我们令
λ0=1−λ1⋯−λn, 所以
x=λ0⋅0+λ1e1+λ2e2+⋯+λnen.根据凸函数的性质 (Jensen 不等式) , 我们就有
f(x)⩽λ0f(0)+λ1f(e1)+λ2f(e2)+⋯+λnf(en)=f(0)+λ1(f(e1)−f(0))+⋯+λn(f(en)−f(0)).从而,
f(x)−f(0)⩽λ1(f(e1)−f(0))+⋯+λn(f(en)−f(0))⩽λ12+⋯+λn2∣f(e1)−f(0)∣2+⋯+∣f(en)−f(0)∣2.即 (对其他相限类似可以证明)
f(x)−f(0)⩽C∣x∣, 对任意的 ∣x∣<r.我们还可以用
x,−e1,⋯,−en 的凸组合来表示
0, 实际上, 利用
x 的坐标, 我们选取
λ0=x1+⋯+xn+11, λi=λ0xi,i⩾1.此时, 我们有
0=λ0x+λ1(−e1)+λ2(−e2)+⋯+λn(−en).所以,
f(0)⩽λ0f(x)+λ1f(−e1)+λ2f(−e2)+⋯+λnf(−en)=λ0(f(x)+x1f(−e1)+x1f(−e2)+⋯+xnf(−en)).从而,
f(0)−f(x)⩽(λ0−1)f(x)+类似前述, ⩽C′∣x∣λ0(x1f(−e1)+x1f(−e2)+⋯+xnf(−en)).对于第一项, 我们有
∣∣(λ0−1)f(x)∣∣⩽1+x1+⋯+xnx1+⋯+x2∣f(x)∣⩽C′′∣x∣∣f(x)∣.从而,
f(0)−f(x)⩽C′′∣x∣∣f(x)∣+C′∣x∣⩽C′′∣x∣∣f(x)−f(0)∣+C′′∣x∣∣f(0)∣+C′∣x∣.综合之前的不等式, 我们就得到
∣f(x)−f(0)∣⩽C′′∣x∣∣f(x)−f(0)∣+C′′′′∣x∣.不妨假设选取的
∣x∣ 使得
C′′∣x∣<0.5, 从而,
∣f(x)−f(0)∣⩽2C′′′′∣x∣.这就说明了
f(x) 是连续的 (实际上是局部 Lipschitz 的) .
如果 f 具有一阶导数的话, 我们可以用几何的方式 (大约是切平面) 来描述凸函数 (请参考上学期第十八次课中凸函数的五个等价定义) :
假设 Ω⊂Rn 是凸的开集, f:Ω→R 是可微函数 (即微分 df 逐点存在) , 我们用 Γf 表示 f 在 Ω×R⊂Rn×R 中的图像: Γf={(x,y)∈Rn×R∣∣x∈Ω,y=f(x)}.该图像在 (x0,f(x0)) 处的切平面我们定义为TΓf(x0)={(x0,f(x0))+df(x0)(x−x0)∣∣x∈Rn}.那么, 如下命题是等价的:
1) | f 是 Ω 上的凸函数; |
2) | 对任意的 x0∈Ω, 函数图像 Γf 都在切平面 TΓf(x0)“上方”, 即f(x)⩾Lx0(x),其中 Lx0(x)=f(x0)+df(x0)(x−x0), x∈Ω. |
证明. 证明分两个方向:
1) | 假设 f 是凸函数, 所以对任意的 x,y∈Ω, 函数 f(tx+(1−t)y) 是凸函数并且f((1−t)x+ty)⩽(1−t)f(x)+tf(y)=f(x)+t(f(y)−f(x)).另外, 根据 Taylor 公式以及可微性, 我们有f((1−t)x+ty)=f(x+t(y−x))=f(x)+tdf(x)(y−x)+o(t).令 t→0, 我们就得到df(x)(y−x)⩽f(x).令 x=x0, y=x, 整理就得到 2) 中的等式. |
2) | 反过来, 我们假设 2) 中不等式成立, 对于给定的 x,y∈Ω, t∈[0,1], 我们令 z=(1−t)x+ty. 对 z 用不等式, 我们有f(w)⩾f(z)+df(z)(w−z).令 w=x 和 w=y, 我们得到f(x)⩾f(z)−tdf(z)(y−x),f(y)⩾f(z)+(1−t)df(z)(y−x),.将第一个不等式乘 (1−t), 将第二个不等式乘 t, 然后相加就得到所要的结论. |
我们还可以将函数限制到线段上用 1 维结论直接说明等价性, 这留给同学思考.
如果我们的函数是二阶可微的, 类似于
1 维的情况, 我们也有对凸函数的二阶导数的判定:
假设 Ω⊂Rn 是凸的开集, f:Ω→R 是 C2 的函数, 那么, f 是凸函数当且仅当 f 在每个点处的 Hesse 矩阵都是半正定的. 进一步, 如果在每个点处 Hesse 矩阵都是正定的, 那么 f 是严格凸的.
证明. 首先假设 f 是凸函数. 我们在 x0 处将 f 进行 Taylor 展开: f(x)=Lx0(x−x0)f(x0)+⟨∇f(x0),x−x0⟩+21⟨x−x0,∇2f(x0)(x−x0)⟩+o(∣x−x0∣2)⩾Lx0(x−x0).从而, 对任意的 x→x0, 我们有21⟨x−x0,∇2f(x0)(x−x0)⟩+o(∣x−x0∣2)⩾0.令 x−x0=tv, t=∣x−x0∣, 其中 v 是任意的长为 1 的向量, 从而t221⟨v,∇2f(x0)(v)⟩+o(t2)⩾0 ⇒ 21⟨v,∇2f(x0)(v)⟩⩾o(1).令 t→0, 我们就得到了⟨v,∇2f(x0)(v)⟩⩾0,其中 v 是任意的长为 1 的向量, 所以 ∇2f(x0) 是正定的.
反过来, 我们假设在任何一点
x0∈Ω 处, 我们有
∇2f(x0)⩾0. 此时, 根据 Talyor 展开公式 (Lagrange 余项) , 我们有
f(x)−Lx0(x−x0)=21⟨x−x0,∇2f(x′)(x−x0)⟩⩾0,其中
x′ 位于
x0 与
x 之间. 根据前面一阶导数的命题,
f 是凸的.