zoukankan      html  css  js  c++  java
  • 优化算法2-牛顿法

    牛顿法,全称Newton's method。

    当N=1时,

    牛顿法的基本思想是:在现有极小点估计值的附近对f(x)做二阶泰勒展开,进而找到极小点的下一个估计值。设 为当前的极小值点的估计值,那么通过二阶泰勒:

                                             

    由于求的是最值, 应满足

    求得

                    

    ,则

    当N>1时,超过二维。二阶泰勒展开式可以做推广。

     

    为f的梯度向量,为f的海森矩阵,其定义如下所示。

                                   

                                                           

    同理,

     

    若矩阵非奇异,存在逆矩阵时,可求解为:

     

    牛顿法算法伪代码:

    1)         给定初始值x0和精度阈值ε,并令k:=0

    2)         计算

    3)         若,则停止迭代,否则确定搜索方向

      

    4)         计算新的迭代点,

    5)         令

     

    6)         转至2

    缺点:原始牛顿法在迭代公式中没有步长因子,定迭代,对于非二次型目标函数,有时会使函数值上升,表明牛顿法不能保证函数值稳定地下降,在严重的情况下,甚至可能造成迭代点列发散而失败。

  • 相关阅读:
    JS正则表达式
    TortoiseGit 中文汉化
    java之 Mybatis框架
    正向代理和反向代理
    Java基础之 多线程
    python库参考学习网址
    postman进行https接口测试所遇到的ssl证书问题,参考别人方法
    hbase单机搭建
    搭建单机版伪分布zookeeper集群
    搭建hadoop单机版
  • 原文地址:https://www.cnblogs.com/cymx66688/p/11514568.html
Copyright © 2011-2022 走看看