本文转载自牛顿法,在有些概念不清晰的地方,我添加了一些自己的说明。
牛顿法及其变种方法:目录链接:
(1) 牛顿法
(2) 拟牛顿条件
(3) DFP 算法
(4) BFGS 算法
(5) L-BFGS 算法
(6) 高斯-牛顿法
牛顿法至少有两个应用方向:
- 1.求方程的根;
- 2.最优化。
详情请参考这篇博客:【数学与算法】牛顿法的两种应用:求根和最优化
下面是数学原理和推导:
机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering
算法,其主要工作在于求解一个非线性极小化问题
。在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是L-BFGS
。为了解这个算法的数学机理,这几天做了一些调研,现把学习过程中理解的一些东西整理出来。
本部分将两个牛顿法:原始牛顿法
和阻尼牛顿法
。
还有一些牛顿法例如拟牛顿法
,请参考博客拟牛顿法,里面有牛顿法系列博客索引,点击即可跳转。
=====================================================================================
对一维向量
x
x
x求导,就是常见的求导,对多维向量
X
⃗
\vec{X}
X求导,就变成了对每个维度求偏导,也就是进行梯度算子运算了。
下面会将式(1.7)对向量
X
⃗
\vec X
X求导,也就是进行梯度算子运算。
有个知识点:(证明请参考:二次型求导)
d
(
X
⃗
T
A
X
⃗
)
d
X
⃗
=
2
A
X
⃗
\frac{d(\vec{X}^TA\vec{X})}{d\vec{X}}=2A\vec{X}
dXd(XTAX)=2AX
其中
A
A
A是常数对称矩阵,
A
=
A
T
A=A^T
A=AT。
=====================================================================================
=====================================================================================