L03_局部最小值与鞍点

文章目录

    • 最优化失败的原因
      • 如何鉴别是局部最小值还是鞍点呢
      • 不用惧怕鞍点(Saddle point)

最优化失败的原因

梯度(gradient)为0,最优化无法继续进行下去,称这个点为critical pointcritical point分为local minima(局部最小值)saddle point(鞍点)。如果卡在local minima就已经无路可走,如果在saddle point还是有路可以走的

如何鉴别是局部最小值还是鞍点呢

使用Tayler Series Approximation(泰勒级数近似) L ( θ ) L(\theta) L(θ) θ = θ ′ \theta=\theta^{\prime} θ=θ的近似可以写成下边的式子:
L ( θ ) ≈ L ( θ ′ ) + 1 2 ( θ − θ ′ ) T H ( θ − θ ′ ) L(\theta)\approx L(\theta^{\prime})+\frac{1}{2}(\theta-\theta^{\prime})^{T}H(\theta - \theta^{\prime}) L(θ)L(θ)+21(θθ)TH(θθ)
梯度 g 是一个向量
g = ∇ L ( θ ′ ) g i = ∂ L ( θ ′ ) ∂ θ i g=\nabla L(\theta^{\prime})\quad g_{i} = \frac{\partial L(\theta^{\prime})}{\partial \theta_{i}} g=L(θ)gi=θiL(θ)
H是海森矩阵
H i j = ∂ 2 ∂ θ i θ j L ( θ ′ ) H_{ij}=\frac{\partial ^{2}}{\partial \theta_{i}\theta_{j}} L(\theta^{\prime}) Hij=θiθj2L(θ)
在进入到一个critical point g = 0 \mathbf{g}=0 g=0,则有:
L ( θ ) ≈ L ( θ ′ ) + 1 2 ( θ − θ ′ ) T H ( θ − θ ′ ) L(\theta)\approx L(\theta^{\prime})+\frac{1}{2}(\theta-\theta^{\prime})^{T}H(\theta - \theta^{\prime}) L(θ)L(θ)+21(θθ)TH(θθ)

  • 如果 H H H正定,即特征值全为正,则这个点是局部最小值(Local minima)
  • 如果 H H H负定,即特征值全为负,则这个点是局部最大值(Local maxima)
  • 如果 H H H的特征值有正有负,则这个点是鞍点(Saddle point)

不用惧怕鞍点(Saddle point)

如果最优化卡在了鞍点,那么这一点的海森矩阵会告诉我们更新参数的方向。取一个特征值 λ < 0 \lambda<0 λ<0,令 λ \lambda λ对应的特征向量为 u u u,我们可以得到:
u T H u = u T ( λ u ) = λ ∣ ∣ u ∣ ∣ 2 < 0 u^{T}Hu=u^{T}(\lambda u)=\lambda ||u||^{2}<0 uTHu=uT(λu)=λu2<0
因此,假设 θ − θ ′ = u \theta - \theta^{\prime}=u θθ=u,可以得到:
1 2 ( θ − θ ′ ) T H ( θ − θ ′ ) < 0 \frac{1}{2}(\theta-\theta^{\prime})^{T}H(\theta - \theta^{\prime})<0 21(θθ)TH(θθ)<0
也就是说 L ( θ ) < L ( θ ) ′ L(\theta)L(θ)<L(θ),故取 θ = θ ′ + u \theta = \theta^{\prime}+u θ=θ+u,就可以得到更小的 L o s s Loss Loss

你可能感兴趣的:(李宏毅机器学习_学习笔记,机器学习,人工智能,深度学习)