Ⅰ. Taylor expansion
对于光滑函数可以进行泰勒展开。
任意函数只要可以求导,放大看它的局部必是高阶的多项式求和的形式,根据要求的拟合误差决定需要的阶数。
One-variable case
Multi-variable case
def. Hessian Matrix:
Linear approximation of f(x) at x
当
Quadratic approximation of f(x) at x
当
Ⅱ. Optimazation
求
原始办法
得到两个方程,但对于复杂函数而言求导后解方程极其复杂。
∇f(x)=⎡⎣⎢⎢⎢∂f(x)∂x1∂f(x)∂x2⎤⎦⎥⎥⎥=0 A.Cauchy Method
不通过解方程找到方程的解。
随便找一个xk ,然后使其移动得到更小的函数值,interatively,直到∇f(x)→0 .
取δ=−∇f(xk) ,xk+1=xk−∇f(xk)
f(xk+δ)−f(xk)≈∇Tf(xk)δ=−||∇f(xk)2||<0 f(xk+δ) 比原先的f(xk) 更小。
以此为基础还可以设置步长α
F(α)=f(xk−α∇Tf(xk)) α 的非线性函数,当取到αopt 时可以得到最小的函数值。
关于α 的选取,可参见Line search.
以此迭代产生
xk+1=xk−αk∇f(xk) xk+2=xk+1−αk+1∇f(xk+1) ... ∇f(x)→0 .
- Newton Method
上面的α 求起来麻烦也不好估计。由于f 同时也是关于δ 的二阶多项式
f(x+δ)≈f(x)+∇Tf(x)δ+12δT∇2f(x)δ δ 的最小值可关于δ 求导
∇δ( f(xk)+∇Tf(xk)δ+12δT∇2f(xk)δ )=0 ∇(cTx)=c
∇f(xk)+∇2f(xk)δ=0
δ=−(∇2f(xk))−1∇f(xk)
xk+1=xk−(∇2f(xk))−1∇f(xk)
如图真实函数为黑线。一开始任取xk ,其Taylor展开后对函数为红线的近似。求得红线的极值点为xk+1 ,又得到绿色的近似,得到绿线的极值点为xk+2 ,反复迭代不断地逼近理想的极值点。
比较Cauchy和Newton的方法
比较哪种方法的质量好,可以通过
Ⅲ. Quadratic Form
Quadratic approximation of f(x) at x
想知道二次型的正负性,取决于H的特征值
比如
陆老师一眼看出它是N.D,用了主子式(leading principal minors)简化运算:
Convex Function
对于开口向上的凸函数而言,其图像有性质:任何点的切线都在函数图象下方。
则对于x点处切线
因此,求eig(H)则可得函数是否convex。
即使复杂如Logistic regression中的二阶梯度
感谢陆老师~
ECNU的秋