为什么机器学习(一)——Hessian矩阵的正定性为什么可以决定函数是否有极值
在学习机器学习的过程中,我们不可绕开的是训练模型的时候怎么找到损失函数的极值。
可能大家都曾记住过这样一个结论:若M点处函数的梯度为0,则M为驻点,那么:
(1)Hessian矩阵正定=>函数在M点有极小值
(2)Hessian矩阵负定=>函数在M点有极大值
(3)Hessian矩阵不定=>M点不是极值点
最初我看到这个结论的时候把他当公式背下来了,但是时间久了容易忘而且理解不深刻,最近试着证明理解了一下,希望大家批评指正。
1.引理:多元函数的Taylor展开
多元函数的在 x ⃗ 0 \vec x_0 x0处的Taylor展开为:
f ( x 1 , x 2 , . . . . . . , x n ) = f ( x 0 ( 1 ) , x 0 ( 2 ) , . . . . . . , x 0 ( n ) ) + ∑ i = 1 n f x 0 ( i ) ′ ( x 0 ( 1 ) , x 0 ( 2 ) , . . . . . . , x 0 ( n ) ) ( x i − x 0 ( i ) ) + 1 2 ! ∑ i , j = 0 n ( x i − x 0 ( i ) ) ( x j − x 0 ( j ) ) f x 0 ( i ) x 0 ( j ) ′ ′ ( x 0 ( 1 ) , x 0 ( 2 ) , . . . . . . , x 0 ( n ) ) + o n f(x_1,x_2,......,x_n) = f(x_{0(1)},x_{0(2)},......,x_{0(n)})+ \sum_{i=1}^{n}f'_{x_{0(i)}}(x_{0(1)},x_{0(2)},......,x_{0(n)})(x_i - x_{0(i)})\\+ \frac{1}{2!}\sum_{i,j=0}^n(x_i-x_0(i))(x_j-x_{0(j)})f''_{x_0(i)x_0(j)}(x_{0(1)},x_{0(2)},......,x_{0(n)}) + o^n f(x1,x2,......,xn)=f(x0(1),x0(2),......,x0(n))+∑i=1nf