本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
牛顿法求极值是一种机器学习中常见的方法,
本文介绍什么是牛顿法求极值,包括一维及多维的情况
通过本文可以理解牛顿求极值的相关理论思路与公式推导
本节简单介绍牛顿求极值是什么及本文的讲解思路
牛顿求极值与本文讲解思路
牛顿法求极值是一种机器学习中常见的方法,
由于牛顿法利用了二阶导信息,它的迭代速度比梯度下降法要更加快,
但同时,由于二阶导信息的计算量较为复杂,牛顿法的使用往往没有梯度法广泛
本文的讲解思路
由牛顿求极值方法的思想来源于牛顿求根法,
因此,本文的讲解思路先从牛顿求根法开始,如下:
本节讲解牛顿法求根的原理与流程,它是牛顿求极值的前身
牛顿法求根的思路
什么是函数求解
函数求根,即求函数 时 x 的取值.😳
牛顿法求根的思路
牛顿法求根的思路如下
(1) 设初始点为
(2) 在该点附近函数可用 该点切线 近似替代,
(3) 用该近似函数 (直线 ) 的解 作为新的解.
即迭代公式为:
牛顿法求根的迭代方法
牛顿法求根的迭代方法如下:
(1) 设置一个初始解
(2)按公式 进行迭代,直到满足退出条件
退出条件:已极度近似0,或者达到最大迭代次数
本节讲解一维情况下,牛顿法求极值的公式及推导
牛顿法求极值的思路
什么是一维函数求极值
一维函数求极值,即求函数取得极值时 x 的取值😳
牛顿法求极值的思路
利用牛顿法求解一维函数极值的思路有两个:
1. 直接转化为牛顿求根问题
2. 利用牛顿法的思想进行推导
下面分别讲解两种思路的具体推导过程
思路1:直接化为牛顿求根法
求 的极值,即求
套用牛顿求根法,可得迭代公式:
思路2:借用牛顿求根法思路
现在我们要求取 的极值,
借用牛顿求根法思路如下:
(1) 设初始点为
(2) 在该点附近函数可用该点的近似二次曲线替代:
(3) 用该近似函数 ( 二次曲线) 的极小解作为新的解.
即迭代公式为:
✍️附:近似二次曲线的解推导
该曲线的极值点为其一阶导为0处:
得: ,即
本节讲解牛顿法求解多维函数极值问题的公式及推导
牛顿求极值-多维迭代方法
多维函数求极值-问题
求 的极值, 其中,为多维向量
牛顿法求解多维函数极值问题的公式及流程
(1) 设置一个初始解
(2) 按以下公式迭代,直到满足终止条件
其中:
G为梯度(Gradient)(F的一阶偏导)
H为Hession矩阵(F的二阶偏导矩阵 )
推导过程
多维情况下是类似的
在 的近似二次曲面为:
该曲面极值点为其一阶导为 0 处:
即得:
一阶导称为梯度(Gradient),记为G
二阶导称为Hession矩阵,记为H
则简记为:
综上所述,即可得到多维牛顿法的迭代公式:
其中,
G为梯度(一阶导)
为的Hession矩阵(二阶导)
End