zoukankan      html  css  js  c++  java
  • A-03 牛顿法和拟牛顿法


    更新、更全的《机器学习》的更新网站,更有python、go、数据结构与算法、爬虫、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11686958.html

    牛顿法和拟牛顿法

    牛顿法(Newton method)和拟牛顿法(quasi-Newton method)和梯度下降法一样也是求解最优化问题的常用方法,但是他们的收敛速度比梯度下降法快。牛顿法是迭代算法,每一步都需要求目标函数的海森矩阵的逆矩阵,计算复杂;拟牛顿法通过正定矩阵近似海森矩阵的逆矩阵,简化这个计算过程。

    一、牛顿法详解

    1.1 无约束最优化问题

    对于一个约束问题

    minxRnf(x)

    其中x为目标函数的极小点。

    1.2 牛顿法迭代公式

    假设f(x)具有二阶连续偏导数,如果第k次迭代值为x(k),则可以把f(x)x(k)附近使用二阶泰勒展开

    f(x)=f(x(k))+gkT(xx(k))+12(xx(k))TH(x(k))(xx(k))

    其中gk=g(x(k))=f(x(k))f(x)的梯度向量在点x(k)的值,H(x(k))f(x)的海森矩阵

    H(x)=[2fxixj]mn

    在点x(k)的值。函数f(x)有极值的必要条件是在极值点处一阶导数为0,即梯度向量为0。特别是当H(x(k))是正定矩阵的时候,函数f(x)的极值为极小值。
    牛顿法利用极小点的必要条件

    f(x)=0

    每次迭代中从点x(k)开始,求目标函数的极小点,作为第k+1次迭代值x(k+1),即假设x(k+1)满足

    f(x(k+1)=0

    通过泰勒二阶展开式即可得

    f(x)=gk+Hk(xx(k))

    其中Hk=H(x(k)),由此f(x(k+1)=0变成

    gk+Hk(x(k+1)x(k))=0

    因此

    x(k+1)=x(k)Hk1gk

    x(k+1)=x(k)+pk

    其中

    (1)x(k+1)=x(k)Hk1gk=x(k)+pk(2)Hk1gk=pk(3)Hkpk=gk

    使用x(k+1)=x(k)Hk1gk作为迭代公式的算法就是牛顿法。

    1.3 牛顿法和梯度下降法

    从本质上去看,牛顿法是二阶收敛,梯度下降是一阶收敛,所以牛顿法更快。如果更通俗地说的话,比如你想找一条最短的路径走到一个盆地的最底部,梯度下降法每次只从你当前所处位置选一个坡度最大的方向走一步,牛顿法在选择方向时,不仅会考虑坡度是否够大,还会考虑你走了一步之后,坡度是否会变得更大。所以,可以说牛顿法比梯度下降法看得更远一点,能更快地走到最底部。

    虽然牛顿法看起来比梯度下降法好很多,但是别忘记了牛顿法迭代过程中需要计算海森矩阵的逆矩阵,如果数据量较大的话,牛顿法的计算开销将远远大于梯度下降法。

    二、牛顿法流程

    2.1 输入

    目标函数f(x),梯度g(x)=f(x),海森矩阵H(x),精度要求ϵ

    2.2 输出

    f(x)的极小点x

    2.3 流程

    1. 取初始点x(0),并且让k=0
    2. 计算gk=g(x(k))
    3. 如果||gk||ϵ,停止计算,得到近似解x=x(k)
    4. 计算Hk=H(x(k)),并求出pk

    Hkpk=gk

    1. x(k+1)=x(k)+pk
    2. k=k+1,转到第2步

    在第4步求pk的时候,pk=Hk1gk,要求求海森矩阵的逆矩阵Hk1,计算会比较复杂。

    三、拟牛顿法简介

    在牛顿法的迭代中,需要计算海森矩阵的逆矩阵H1,这个过程是比较复杂的,而拟牛顿法则使用了一个n阶矩阵Gk=G(x(k))近似替代Hk1=H1(x(k)),此处不多赘述。

  • 相关阅读:
    linux brige中mac地址的比较
    BCM6358 加上TTL线 OPENWRT刷机全方位教程
    BCM6358 进入CFE界面
    BCM6358编译openwrt并刷机
    BCM6358开发板硬件资源 【OPENWRT刷机全方位教程】
    WRT54GS openwrt pppoe拨号
    CentOS6.5安装JDK1.8
    Sql Server 事物
    linux系统中的删除操作
    Java学习-集合的理解
  • 原文地址:https://www.cnblogs.com/abdm-989/p/14117944.html
Copyright © 2011-2022 走看看