美文网首页
统计机器学习-拟牛顿法

统计机器学习-拟牛顿法

作者: 又双叒叕苟了一天 | 来源:发表于2020-06-16 18:04 被阅读0次

假设f(x)\textbf R^n上具有二阶连续偏导数的函数,要求解的无约束最优化问题是
\min_{x\in\textbf R^n}f(x)\tag1
x^*表示目标函数f(x)的极小点。

牛顿法的迭代中,需要计算海塞矩阵的逆矩阵H^{-1},这一计算比较复杂,考虑用一个n阶矩阵G_k=G(x^{(k)})来近似代替H_k^{-1}=H^{-1}(x^{(k)})。这就是拟牛顿法的基本想法。

假设在第k次迭代时,找到的点是x^{(k)},让f(x)在点x^{(k)}附近进行二阶泰勒展开:
f(x)=f(x^{(k)})+g_k^T(x-x^{(k)})+\frac12(x-x^{(k)})^TH(x^{(k)})(x-x^{(k)})\tag2
其中g_k=g(x^{(k)})=\nabla f(x^{(k)})f(x)在点x^{(k)}的梯度,H(x^{(k)})f(x)的海塞矩阵(类似于二阶导数)在点x^{(k)}的值:
H(x)=\bigg[\frac{\partial^2f}{\partial x_i\partial x_j}\bigg]_{n\times n}\tag3
公式(2)两边对x求导:
\nabla f(x)=g_k+H(x^{(k)})(x-x^{(k)})=g_k+H_k(x-x^{(k)})\tag4
将点x^{(k+1)}代入公式(4)得到:
g_{k+1}=\nabla f(x^{(k+1)})=g_k+H_k(x^{(k+1)}-x^{(k)})\tag5
所以
g_{k+1}-g_k=H_k(x^{(k+1)}-x^{(k)})\tag6
y_k=g_{k+1}-g_k\delta_k=x^{(k+1)}-x^{(k)},则
y_k=H_k\delta_k\tag7
或者说
H_k^{-1}y_k=\delta_k\tag8
公式(7)或公式(8)叫做拟牛顿条件。

如果H_k是正定的(H_k^{-1}也是正定的),那么可以保证牛顿法搜索方向p_k=-H_k^{-1}g_k是下降方向。对公式(2)只展开到1阶:
f(x)=f(x^{(k)})+g_k^T(x-x^{(k)})\tag9
x的更新公式为:
x=x^{(k)}-\lambda H_k^{-1}g_k\tag{10}
将(10)中的x代入(9)得到:
f(x)=f(x^{(k)})+g_k^T(x^{(k)}-x^{(k)}-\lambda H_k^{-1}g_k)=f(x^{(k)})-\lambda g_k^TH_k^{-1}g_k\tag{11}
因为H_k^{-1}正定,所以g_k^TH_k^{-1}g_k\gt0。当\lambda为一个充分小的正数时,总有f(x)\lt f(x^{(k)}),也就是说p_k是下降方向。

综上所述,拟牛顿法使用G_k近似H_k^{-1}(DFP算法)或者使用B_k(BFGS算法)近似H_k,需要满足满足两个条件:

  1. G_kB_k正定
  2. 满足拟牛顿条件,即G_{k+1}y_k=\delta_ky_k=B_{k+1}\delta_k

G_kB_k通过迭代的方式进行更新,即G_{k+1}=G_k+\Delta G_kB_{k+1}=B_k+\Delta B_k

DFP算法

DFP算法使用G_k近似H_k^{-1},需要满足拟牛顿条件G_{k+1}y_k=\delta_kG_k通过G_{k+1}=G_k+\Delta G_k迭代更新。

使
\Delta G_k=P_k+Q_k\tag{12}

G_{k+1}=G_k+P_k+Q_k\tag{13}
公式(13)两边乘上y_k
G_{k+1}y_k=G_ky_k+P_ky_k+Q_ky_k\tag{14}

Q_ky_k=-G_ky_k\tag{15}

P_ky_k=\delta_k\tag{16}

则公式(14)为
G_{k+1}y_k=\delta_k\tag{17}
满足拟牛顿条件,也不难找出满足条件(15)和(16)的P_kQ_k
P_k=\frac{\delta_k\delta_k^T}{\delta_k^Ty_k}\tag{18}

Q_k=-\frac{G_ky_ky_k^TG_k}{y_k^TG_ky_k}\tag{19}

于是得到矩阵G_{k+1}的迭代公式:
G_{k+1}=G_k+\frac{\delta_k\delta_k^T}{\delta_k^Ty_k}-\frac{G_ky_ky_k^TG_k}{y_k^TG_ky_k}\tag{20}

算法

输入:目标函数f(x),梯度g(x)=\nabla f(x),精度要求\varepsilon

输出:f(x)的极小点x^*

  1. 选定初始点x^{(0)},取G_0为正定对称矩阵,置k=0
  2. 计算g_k=g(x^{(k)})。若||g_k||\lt\varepsilon,则停止计算,得近似解x^*=x^{(k)};否则转(3)
  3. p_k=-G_kg_k
  4. 一维搜索,求\lambda_k使得

f(x^{(k)}+\lambda_kp_k)=\min_{\lambda\geq0}f(x^{(k)}+\lambda p_k)

  1. x^{(k+1)}=x^{(k)}+\lambda_kp_k
  2. 计算g_{k+1}=g(x^{(k+1)}),若||g_{k+1}||\lt\varepsilon,则停止计算,得近似解x^*=x^{(k+1)};否则按公式(20)算出G_{k+1}
  3. k=k+1,转(3)

BFGS算法

DFP算法使用B_k近似H_k^{-1},需要满足拟牛顿条件y_k=B_{k+1}\delta_kB_k通过B_{k+1}=B_k+\Delta B_k迭代更新。

使
\Delta B_k=P_k+Q_k\tag{21}

B_{k+1}=B_k+P_k+Q_k\tag{22}
公式(22)两边乘上\delta_k
B_{k+1}\delta_k=B_k\delta_k+P_k\delta_k+Q_k\delta_k\tag{23}

Q_k\delta_k=-B_k\delta_k\tag{24}

P_k\delta_k=y_k\tag{25}

则公式(23)为
B_{k+1}\delta_k=y_k\tag{26}
满足拟牛顿条件,也不难找出满足条件(24)和(25)的P_kQ_k
P_k=\frac{y_ky_k^T}{y_k^T\delta_k}\tag{27}

Q_k=-\frac{B_k\delta_k\delta_k^TB_k}{\delta_k^TB_k\delta_k}\tag{28}

于是得到矩阵G_{k+1}的迭代公式:
G_{k+1}=G_k+\frac{y_ky_k^T}{y_k^T\delta_k}-\frac{B_k\delta_k\delta_k^TB_k}{\delta_k^TB_k\delta_k}\tag{29}

算法

输入:目标函数f(x),梯度g(x)=\nabla f(x),精度要求\varepsilon

输出:f(x)的极小点x^*

  1. 选定初始点x^{(0)},取B_0为正定对称矩阵,置k=0
  2. 计算g_k=g(x^{(k)})。若||g_k||\lt\varepsilon,则停止计算,得近似解x^*=x^{(k)};否则转(3)
  3. p_k=-B_k^{-1}g_k
  4. 一维搜索,求\lambda_k使得

f(x^{(k)}+\lambda_kp_k)=\min_{\lambda\geq0}f(x^{(k)}+\lambda p_k)

  1. x^{(k+1)}=x^{(k)}+\lambda_kp_k
    1. 计算g_{k+1}=g(x^{(k+1)}),若||g_{k+1}||\lt\varepsilon,则停止计算,得近似解x^*=x^{(k+1)};否则按公式(29)算出B_{k+1}
  2. k=k+1,转(3)

相关文章

  • 统计机器学习-拟牛顿法

    假设是上具有二阶连续偏导数的函数,要求解的无约束最优化问题是表示目标函数的极小点。 在牛顿法的迭代中,需要计算海塞...

  • 统计机器学习-牛顿法

    假设是上具有二阶连续偏导数的函数,要求解的无约束最优化问题是表示目标函数的极小点。 函数有极值的必要条件是在极值点...

  • 机器学习入门之 — 梯度下降,牛顿法,拟牛顿法

    梯度下降法 梯度下降法用来求解目标函数的极值。这个极值是给定模型给定数据之后在参数空间中搜索找到的。迭代过程为: ...

  • [机器学习必知必会]牛顿法与拟牛顿法

    前言 同梯度下降法一样,牛顿法和拟牛顿法也是求解无约束最优化问题的常用方法。牛顿法本身属于迭代算法,每一步需要求解...

  • 梯度优化算法

    梯度下降,共轭梯度法;牛顿法,拟牛顿法;信赖域方法,罚函数法。

  • 牛顿法、拟牛顿法

    摘抄:https://blog.csdn.net/lilong117194/article/details/781...

  • 牛顿法、拟牛顿法

    牛顿法: 根据二阶泰勒展开,用一阶和二阶倒数确定参数迭代步长和方向 设初始向量,它在处的泰勒展开如下: ,当时 注...

  • 局部搜索之牛顿法

    除了前面说的梯度下降法,牛顿法也是机器学习中用的比较多的一种优化算法。 牛顿法求方程解 牛顿法又称为牛顿-拉弗森方...

  • Newton's method and Quasi Ne

    Welcome To My Blog 牛顿法和拟牛顿法是求解无约束最优化问题的常用方法,优点是收敛速度快.牛顿法...

  • 最优化方法

    常见最优化方法 1.梯度下降法 2.牛顿法 3.拟牛顿法 4.共轭梯度法

网友评论

      本文标题:统计机器学习-拟牛顿法

      本文链接:https://www.haomeiwen.com/subject/zvbrxktx.html