机器人中的数值优化(八)——拟牛顿方法(上)

这篇具有很好参考价值的文章主要介绍了机器人中的数值优化(八)——拟牛顿方法(上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

   本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例



   十、拟牛顿方法

   1、拟牛顿方法介绍

   Newton方法的缺点是在每步迭代时需计算Hesse矩阵 ∇ 2 f ( x k ) \nabla^2 f(x_k) 2f(xk),为此要计算n(n + 1)/2个二阶偏导数;若该方法产生的迭代点不能充分接近极小点, ∇ 2 f ( x k ) \nabla^2 f(x_k) 2f(xk)的正定性不能保证。Newton方法的优点在于它具有二阶收敛的速度.这促使我们去考虑是否可以构造一种方法,它既不需要计算二阶偏导数,又具有较快的收敛速度。

机器人中的数值优化(八)——拟牛顿方法(上),数值优化方法,机器人,数值优化,最优化方法,机器学习,牛顿法,拟牛顿法,运动规划
   假设我们要构造一个矩阵M去近似Hessian矩阵,那么M应该满足什么条件?

   ①:它应该不需要计算所有元素的二阶导

   ②:可以不用显式的求解线性方程组,方程组应该有闭式解,以便很快的解出

   ③:它应该不需要是满秩的,所以它的存储应该是紧凑的

   ④:它必须保持下降方向,即它必须是正定的

   ⑤:它应该包含曲率信息(局部二次近似),即应该逼近Hessian矩阵

机器人中的数值优化(八)——拟牛顿方法(上),数值优化方法,机器人,数值优化,最优化方法,机器学习,牛顿法,拟牛顿法,运动规划


   从下图的推导可以看出,当近似矩阵M是正定的矩阵时,可以保证搜索方向与负梯度方向成锐角,即可保证搜索方向为下降方向。

机器人中的数值优化(八)——拟牛顿方法(上),数值优化方法,机器人,数值优化,最优化方法,机器学习,牛顿法,拟牛顿法,运动规划


   ☆☆☆注:在深蓝学院课程机器人中的数值优化中,用H表示Hessian矩阵,用M表示Hessian矩阵的近似,用B表示M的逆矩阵,而在数值最优化方法(高立 编著)这本书中,用B表示Hessian矩阵的近似,而用H表示B的逆矩阵,在下文的文字描述中采用数值最优化方法(高立 编著)这本书中的表示方法,下文中的图片大部分是基于深蓝学院课程机器人中的数值优化课程中的PPT进行修改补充后而形成的,采用该课程的表示方法


   假定当前迭代点为 x k + 1 x_{k+1} xk+1,若我们用已得到的 x k x_{k} xk x k + 1 x_{k+1} xk+1及其一阶导数信息 ∇ f ( x k ) \nabla f\left(x_{k}\right) f(xk) ∇ f ( x k + 1 ) \nabla f\left(x_{k+1}\right) f(xk+1),构造一个正定矩阵 B k + 1 B_{k+1} Bk+1作为 ∇ f 2 ( x k + 1 ) \nabla f^2\left(x_{k+1}\right) f2(xk+1)的近似,这样下降方向 d k + 1 d_{k+1} dk+1 由以下方程组给出

   B k + 1 d = − ∇ f ( x k + 1 ) {B}_{k+1}d=-\nabla f\left(x_{k+1}\right) Bk+1d=f(xk+1)

   然而这样做仍需求解一个线性方程组.进一步的改进为用相同的信息构造一个矩阵 H k + 1 H_{k+1} Hk+1作为 ∇ f 2 ( x k + 1 ) − 1 \nabla f^2\left(x_{k+1}\right)^{-1} f2(xk+1)1的近似,这样下降方向 d k + 1 d_{k+1} dk+1就可以由下式给出

   d = − H k + 1 ∇ f ( x k + 1 ) d=-H_{k+1}\nabla f\left(x_{k+1}\right) d=Hk+1f(xk+1)

   近似矩阵的构造应该是简单有效的,它应具有如下的条件:

   ①:只需 f ( x ) f(x) f(x)的一阶导数信息;

   ②: B k + 1 {B}_{k+1} Bk+1 ( H k + 1 ) (H_{k+1}) (Hk+1)正定,以保证方向的下降性;

   ③:方法具有较快的收敛速度。


   对梯度进行泰勒展开,去掉高阶小量,可得下式

   ∇ f ( x k + 1 ) − ∇ f ( x k ) ≈ ∇ 2 f ( x ) ∗ ( x k + 1 − x k ) \nabla f\left(x_{k+1}\right)-\nabla f\left(x_{k}\right) ≈ \nabla^2 f(x)*(x_{k+1}-x_k) f(xk+1)f(xk)2f(x)xk+1xk

   若进行以下定义:

   s k = x k + 1 − x k , y k = ∇ f ( x k + 1 ) − ∇ f ( x k ) , \begin{array}{c}s_k=x_{k+1}-x_k,\\ \\ y_k=\nabla f\left(x_{k+1}\right)-\nabla f\left(x_{k}\right),\end{array} sk=xk+1xk,yk=f(xk+1)f(xk),

   B k + 1 {B}_{k+1} Bk+1作为 ∇ f 2 ( x k + 1 ) \nabla f^2\left(x_{k+1}\right) f2(xk+1)的近似,应该满足以下方程:

   B k + 1 s k = y k B_{k+1}s_k=y_k Bk+1sk=yk

   该方程称为拟Newton方程或拟Newton条件。若记 H k + 1 = B k + 1 − 1 , H_{k+1}=B_{k+1}^{-1}, Hk+1=Bk+11, H k + 1 H_{k+1} Hk+1应该满足下式

   H k + 1 y k = s k . H_{k+1}y_k=s_k. Hk+1yk=sk.

   拟Newton方法是指由 B k + 1 d = − ∇ f ( x k + 1 ) {B}_{k+1}d=-\nabla f\left(x_{k+1}\right) Bk+1d=f(xk+1)式或者 d = − H k + 1 ∇ f ( x k + 1 ) d=-H_{k+1}\nabla f\left(x_{k+1}\right) d=Hk+1f(xk+1)式确定迭代方向d的最优化方法,其中的 B k + 1 {B}_{k+1} Bk+1需满足拟 Newton条件 B k + 1 s k = y k B_{k+1}s_k=y_k Bk+1sk=yk H k + 1 {H}_{k+1} Hk+1需满足拟Newton条件 H k + 1 y k = s k H_{k+1}y_k=s_k Hk+1yk=sk

   下面我们给出一般拟Newton方法的结构,其算法以矩阵 H k + 1 H_{k+1} Hk+1的迭代为例.

机器人中的数值优化(八)——拟牛顿方法(上),数值优化方法,机器人,数值优化,最优化方法,机器学习,牛顿法,拟牛顿法,运动规划

   在上述算法中,初始矩阵H通常取为单位矩阵,这样算法的第一步迭代的迭代方向取为负梯度方向.

   那么如何修正 H k {H}_{k} Hk H k + 1 {H}_{k+1} Hk+1呢?,即如何确定在下式中的 Δ H k \Delta H_k ΔHk呢?

   H k + 1 = H k + Δ H k H_{k+1}=H_k+\Delta H_k Hk+1=Hk+ΔHk

   Δ H k \Delta H_k ΔHk的取法是多种多样的,但它应具有简单、计算量小、有效的特点.下面介绍几种重要的修正 H k H_k Hk B k B_k Bk的公式.


   1、拟牛顿方法修正公式

   (1)对称秩1公式(SR1)

   对称秩1(Symmetric Rank 1,SR1)公式是由Broyden、Davidon等人独立提出的。

   H k + 1 S R 1 = H k + ( s k − H k y k ) ( s k − H k y k ) T ( s k − H k y k ) T y k , H_{k+1}^{\mathrm{SR1}}=H_k+\dfrac{(s_k-H_ky_k)(s_k-H_ky_k)^{\mathrm{T}}}{(s_k-H_ky_k)^{\mathrm{T}}y_k}, Hk+1SR1=Hk+(skHkyk)Tyk(skHkyk)(skHkyk)T,

   B k + 1 S R 1 = B k + ( y k − B k s k ) ( y k − B k s k ) T ( y k − B k s k ) T s k . B_{k+1}^{\mathrm{SR1}}=B_k+\dfrac{(y_k-B_k s_k)(y_k-B_k s_k)^{\mathrm{T}}}{(y_k-B_k s_k)^{\mathrm{T}}s_k}. Bk+1SR1=Bk+(ykBksk)Tsk(ykBksk)(ykBksk)T.


   (2)DFP公式

   DFP公式,或者说DFP方法,首先是由Davidon于1959年提出,后经Fletcher 和 Powell发展得到的。该方法是第一个被提出的拟 Newton方法,它为拟 Newton方法的建立与发展奠定了基础.

   H k + 1 D F P = H k + s k s k T s k T y k − H k y k y k T H k y k T H k y k . H_{k+1}^{\mathrm{DFP}}=H_k+\frac{s_k s_k^{\mathrm{T}}}{s_k^{\mathrm{T}}y_k}-\frac{H_ky_ky_k^{\mathrm{T}}H_k}{y_k^{\mathrm{T}}H_ky_k}. Hk+1DFP=Hk+skTykskskTykTHkykHkykykTHk.

   我们称采用DFP公式来修正矩阵的拟Newton方法为DFP方法。假定 H k H_k Hk H k + 1 H_{k+1} Hk+1都可逆,根据Shermann-Morrison-Woodbury 公式,由上式可以导出 B k + 1 B_{k+1} Bk+1的修正公式

   B k + 1 D F P = B k + ( 1 + s k T B k s k s k T y k ) y k y k T s k T y k − ( y k s k T B k + B k s k y k T s k T y k ) . B_{k+1}^{\mathrm{DFP}}=B_{k}+\left(1+\frac{s_{k}^{\mathrm{T}}B_{k}s_{k}}{s_{k}^{\mathrm{T}}y_{k}}\right)\frac{y_{k}y_{k}^{\mathrm{T}}}{s_{k}^{\mathrm{T}}y_{k}}-\left(\frac{y_{k}s_{k}^{\mathrm{T}}B_{k}+B_{k}s_{k}y_{k}^{\mathrm{T}}}{s_{k}^{\mathrm{T}}y_{k}}\right). Bk+1DFP=Bk+(1+skTykskTBksk)skTykykykT(skTykykskTBk+BkskykT).

   上式其实也是下面问题的解:

   min ⁡ ∥ W − T ( B − B k ) W − 1 ∥ F , s.t. B = B T , B s k = y k , \begin{array}{l}\min\|W^{-\mathrm T}(B-B_k)W^{-1}\|_{\mathrm F},\\ \text{s.t.}\quad B=B^{\mathrm T},B s_k=y_k,\end{array} minWT(BBk)W1F,s.t.B=BT,Bsk=yk,

   其中 W ∈ R n × n W ∈R^{n×n} WRn×n非奇异。 W T W = B W^TW=B WTW=B满足拟Newton条件 B s k = y k Bs_k=y_k Bsk=yk、这个问题的目的是在所有对称、满足拟Newton条件的矩阵中,寻找在加权F范数意义下与 B k B_k Bk的差最小的矩阵.如果在这个问题中改变目标函数的矩阵范数,就得到其他的拟Newton修正公式



   参考资料:

   1、数值最优化方法(高立 编著)

   2、机器人中的数值优化文章来源地址https://www.toymoban.com/news/detail-696533.html


到了这里,关于机器人中的数值优化(八)——拟牛顿方法(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器人中的数值优化|【一】数值优化基础

    凸集的定义 令X是线性空间。如果对于X的子集S中的所有x和y,并且在区间 [0,1]中的所有t,点 ( 1 − t ) x + t y (1-t)x + ty ( 1 − t ) x + t y 也属于S,则S称为凸集。 不失一般性,对于所有的凸集,其线性组合点都位于凸集内部: ∑ θ i x i ∈ X ∑ θ i = 1 , θ i ≥ 0 , ∀ θ i sum theta_

    2024年02月09日
    浏览(40)
  • 机器人中的数值优化(十三)——QP二次规划

       本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会

    2024年02月09日
    浏览(41)
  • 机器人中的数值优化(十)——线性共轭梯度法

       本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会

    2024年02月09日
    浏览(54)
  • 机器人中的数值优化(六)—— 线搜索最速下降法

       本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会

    2024年02月10日
    浏览(52)
  • 机器人中的数值优化(十二)——带约束优化问题简介、LP线性规划

       本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会

    2024年02月09日
    浏览(66)
  • 机器人中的数值优化(十四)——罚函数法(Penalty Method)、障碍函数法(Barrier Method)、拉格朗日松弛法(Lagrangian Relaxation)

       本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会

    2024年02月04日
    浏览(42)
  • 情感分析中的情感分析机器人:基于语音识别的方法

    作者:禅与计算机程序设计艺术 引言 1.1. 背景介绍 随着人工智能技术的快速发展,自然语言处理(Natural Language Processing,NLP)和情感分析(Emotion Analysis,EA)在众多领域取得了广泛的应用,如社交媒体分析、客户服务、心理健康等。在众多情感分析应用中,基于语音识别的

    2024年02月06日
    浏览(34)
  • 医疗机器人软件中的机器人协作技术:机器人技术在医疗保健中的应用

    作者:禅与计算机程序设计艺术 引言 医疗机器人软件中机器人协作技术是近年来备受关注的研究热点。随着机器人技术的不断发展,医疗机器人应用的范围也越来越广泛。机器人协作技术可以为医疗机器人提供更加高效、精确、安全、可靠的操作,大大提高医疗服务的质量

    2024年02月06日
    浏览(63)
  • 医疗机器人软件中的机器人机器人编程技术:机器人技术的创新应用

    作者:禅与计算机程序设计艺术 随着科技的发展,医疗机器人逐渐成为人们关注的热门话题。医疗机器人可以在医院、康复中心等各种场合为病人提供帮助,不仅可以提高工作效率,还能降低医护人员的工作强度。而机器人编程技术则是实现医疗机器人功能的关键,本文将围

    2024年02月07日
    浏览(66)
  • RPA自动化中的机器人开发:如何开发机器人软件

    随着工业4.0时代的到来,企业对于提高生产效率、降低成本的需求越来越强烈,机器人自动化技术作为其中的一部分,逐渐被广泛应用。机器人自动化技术的其中一个分支——机器人软件,对于机器人的开发和应用具有重要的推动作用。本文旨在介绍如何进行机器人软件的开

    2024年02月13日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包