1 线性代数
1.1 矩阵的意义
矩阵来源于方程组,矩阵的意义在矩阵的乘法,矩阵与向量相乘,等效于对向量进行线性变换
1.2 矩阵特征值和特征向量
Ax⃗ =λx⃗
矩阵对特征向量进行线性变换,变化后的向量与特征向量保持平行
2. 微积分
首先需要注意的一点是,梯度应该是列向量
∇f(x⃗ )=∂f(x⃗ )∂x⃗ =(∂f(x⃗ )∂x1,∂f(x⃗ )∂x2,⋯,∂f(x⃗ )∂xn)T
Hessian矩阵与二阶导数密切相关
∇2f(x⃗ )=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢∂f(x⃗ )∂x12∂f(x⃗ )∂x2∂x1⋯∂f(x⃗ )∂xn∂x1∂f(x⃗ )∂x1∂x2∂f(x⃗ )∂x22⋯∂f(x⃗ )∂xn∂x2⋯⋯⋯⋯∂f(x⃗ )∂x1∂xn∂f(x⃗ )∂x2∂xn⋯∂f(x⃗ )∂xn2⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥
2.1 为什么梯度的方向是函数上升最快的方向
这要从泰勒级数说起,泰勒级数只保留前两项的表达式为
f(x⃗ +δ⃗ )=f(x⃗ )+∇Tf(x⃗ )δ⃗
那么要想
f(x⃗ +δ⃗ )
上升最快,需要
∇Tf(x⃗ )δ⃗
上升最快,由向量基础知识,我们可以知道,
δ⃗
与
∇f(x⃗ )
同方向时,
∇Tf(x⃗ )δ⃗
上升最快。因此,才会有梯度的方向是函数上升最快的方向的结论。
2.2 为什么极大值和极小值的区分与Hessian矩阵(二阶导数)相关
此外,为了判断极大值或者极小值,我们会考虑泰勒级数中的第三项,
f(x⃗ +δ⃗ )=f(x⃗ )+∇Tf(x⃗ )δ⃗ +12δ⃗ T∇2f(x⃗ )δ⃗
很显然,如果Hessian矩阵正定,那么为局部极小点,反之为局部极大点。如果Hessian矩阵不定,则为鞍点。
3 拉格朗日乘数法
充分地将约束问题转化为无约束问题
min s.t. L(x⃗ )=f(f(x⃗ )g(x⃗ )=cx⃗ )+λ(g(x⃗ )−c)(1)(2)(3)
下图以三维空间为例,虚线表示等高线。红色的曲线表示符合约束
g(x,y)=c
的
(x,y)
的集合。当
f(x,y)
的某条等高线与红色曲线相切时,
f(x,y)
取得极值。其中,
L(x⃗ )
对
x⃗
求偏导表示相切,对
λ
求偏导表示约束。
注意:图中只是给出简单的单个极值点的情况,可能会有多个极值点。
3.2 KKT