牛顿法介绍

15 篇文章 1 订阅
本文详细介绍了牛顿法的原理和推导过程,阐述了它如何通过海森矩阵和泰勒公式来寻找函数的最小值。牛顿法的迭代公式基于一阶导数和二阶导数,其特点是收敛速度快,但存在局部收敛性和对二阶海森矩阵的要求。同时,文章提到了牛顿法与梯度下降法的关系,指出学习率与曲率的反比关系。牛顿法在正定二次函数中能一步到达最优解,但在非正定情况下可能不保证下降方向。
摘要由CSDN通过智能技术生成

牛顿法介绍

  • 首先牛顿法是求解函数值为0时的自变量取值的方法。如果你看不懂这句没关系,继续往下看就好。
  • 利用牛顿法求解目标函数的最小值其实是转化成求使目标函数的一阶导为0的参数值。这一转换的理论依据是,函数的极值点处的一阶导数为0。
  • 其迭代过程是在当前位置x0求该函数的切线,该切线和x轴的交点x1,作为新的x0,重复这个过程,直到交点和函数的零点重合。此时的参数值就是使得目标函数取得极值的参数值。
    其迭代过程如下:
    在这里插入图片描述
    这里我们通过对上图迭代过程的描述就可以求出参数 θ θ θ的迭代公式,这里来推导一下。
    设上图的切线为 y = k x + b y=kx+b y=kx+b,很明显,斜率 k k k f ′ ′ ( θ ) f''(θ) f(θ),同时切线过点 ( θ , f ′ ( θ ) ) (θ,f'(θ)) (θ,f(θ)),则b=f’(θ)-f’’(θ)θ,所以切线方程为: y = f ′ ′ ( θ ) x + f ′ ( θ ) − f ′ ′ ( θ ) θ y=f''(θ)x+f'(θ)-f''(θ)θ y=f(θ)x+f(θ)f(θ)θ,现在求 y = 0 y=0 y=0时候的 x x x值,结果为: x = ( f ′ ′ ( θ ) θ − f ′ ( θ ) ) / f ′ ′ ( θ ) = θ − f ′ ( θ ) / f ′ ′ ( θ ) x=(f''(θ)θ-f'(θ))/f''(θ)=θ-f'(θ)/f''(θ) x=(f(θ)θf(θ))/f(θ)=θf(θ)/f(θ)即每次执行的迭代操作是 θ − = f ′ ( θ ) / f ′ ′ ( θ ) θ-=f'(θ)/f''(θ) θ=f(θ)/f(θ),其中 f ( ⋅ ) f(·) f()是损失函数。

推导

  • 其正规的推导流程如下:
    在这里插入图片描述
    其中 H H H是海森矩阵。

海森矩阵、泰勒公式、梯度下降法

  • 这里说一下海森矩阵、泰勒公式、梯度下降法之间的关系。
  • 首先由泰勒公式有:
    在这里插入图片描述
    这里涉及到多元函数下的泰勒展开式子,可见下图:
    在这里插入图片描述
    在这里插入图片描述
    以二元为例:
    在这里插入图片描述
    然后再看:
    在这里插入图片描述
    是这样的,因为 ε ∈ ( 0 , 1 ) ε∈(0,1) ε0,1,而当 g T H g < = 0 g^THg<=0 gTHg<=0时二次函数开口向下,然后极值点的横坐标=-b/2a(高中数学),即 ( g T g ) / ( g T H g ) < 0 ( 分 子 大 于 0 , 分 母 小 于 0 ) (g^Tg)/(g^THg)<0(分子大于0,分母小于0) (gTg)/(gTHg)<000,所以在 ε ∈ ( 0 , 1 ) ε∈(0,1) ε0,1时, ε ε ε增加会导致 f ( x ) f(x) f(x)减小。至于 ( g T H g ) < ( g T g λ m a x ) (g^THg)<(g^Tgλ_{max}) (gTHg)<(gTgλmax)则是一个定理证明,这里不多说了,有兴趣的看这里:https://www.hankcs.com/ml/gradient-descent-and-hessian-matrix.html#respond
  • 学习率与曲率成反比,也就是说在曲率大的方向(垂直于峭壁)的学习率小,而在曲率小的方向(平行于峭壁)的学习率大。也就是是说此时的梯度下降在顺流而下的方向的学习率更大,也就更快收敛了。

牛顿法特点

  • 牛顿法收敛速度为二阶,对于正定二次函数一步迭代即达最优解。
  • 牛顿法是局部收敛的,当初始点选择不当时,往往导致不收敛
  • 牛顿法不是下降算法,当二阶海塞矩阵非正定时,不能保证产生方向是下降方向。
  • 二阶海塞矩阵必须可逆,否则算法进行困难。
  • 对函数要求苛刻(二阶连续可微,海塞矩阵可逆),而且运算量大。
  • 当函数的海森矩阵在梯度为零的位置上的特征值全为正时,该函数得到局部最小值。
  • 当函数的海森矩阵在梯度为零的位置上的特征值全为负时,该函数得到局部最⼤值。
  • 当函数的海森矩阵在梯度为零的位置上的特征值有正有负时,该函数得到鞍点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CtrlZ1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值