python 拟牛顿法 求非线性方程_最优化导论(Machine Learning)拟牛顿法总结

Day 8

拟牛顿法总结

前几日因西安连日阴雨,略感冒0b41c3b5c766561f88fe01f16ef183b5.png,延迟至今天更新拟牛顿法   489ec768c73f279b7e2ed5aa2c138aff.png

77041485debfb06b218977013950b7b7.gif          

拟牛顿法

    关于之前的牛顿法以及具体推导,请参考 Day 7最优化导论(Machine Learning)牛顿法特辑以及python代码实现

    传统的牛顿法是一种具有较高实用性的优化问题求解方法,若牛顿法收敛,则收敛阶数至少为2,但当目标函数为一般的非线性函数时,牛顿法不能保证从任意起始点x(0)收敛到函数的极小点

    [即,如果初始点x(0)不足够接近极小点,则牛顿法有可能不具有下降特性]

    牛顿法的基本思路是在每次迭代中,利用二次型函数来局部近似目标函数f并求解近似函数的极小点作为下一次迭代,迭代公式为:

    x(k+1) = x(k) - F(x(k))^-1*g(k)

    修正后的牛顿法迭代公式为:

        x(k+1) = x(k) - åkF(x(k))^-1*g(k)

        步长为åk = arg minå>=0 f(x(k) - åF(x(k))^-1*g(k))

    合理的确定步长,使得f(x(k+1)) < f(x(k))通过在方向-F(x(k))^-1*g(k)上进行一维搜索,即可确定åk

    其一维搜索过程实际上就是求一元实值函数øk(å)=f(x(k)-åF(x(k))^-1*g(k))的极小点

*拟牛顿法的思路

    因为牛顿法的缺陷是必须计算黑塞矩阵F(x(k))和求解方程F(x(k))d(k)=-g(k)[即:d(k)=-F(x(k)^-1*g(k)) ]为避免F(x(k))^-1这种矩阵求逆运算,可通过设计F(x(k))^-1的近似矩阵来代替它,这就是拟牛顿法的思路

    F(x(k))^-1的近似矩阵随着迭代的进行而不断更新,使其至少拥有F(x(k))^-1的部分性质,为分析近似矩阵所应该具有的关于F(x(k))^-1的性质,引入等式:

                    x(k+1)=x(k) - åHkg(k)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值