机器人中的数值优化之修正阻尼牛顿法

本文ppt来自深蓝学院《机器人中的数值优化》

目录

1 Newton's Method

2 Pratical Newton's Method


1 Newton's Method

机器人中的数值优化之修正阻尼牛顿法_第1张图片

当我们引入函数的二阶信息就考虑到了curvature info,这里先对函数进行泰勒展开,取二阶近似,对近似后的函数取最优解,通过梯度等于0得到一个等式

机器人中的数值优化之修正阻尼牛顿法_第2张图片当函数是二次型时,近似没有起到效果,迭代的过程就是求解原函数最优解的过程,因此当然一次迭代就能得到最优解

机器人中的数值优化之修正阻尼牛顿法_第3张图片这是利用牛顿法的一次迭代举例 

机器人中的数值优化之修正阻尼牛顿法_第4张图片将牛顿法与最速下降法相比,牛顿法需要的迭代次数很少就能直达最优解,但是由于需要求解hessian矩阵的逆,导致,每一步的迭代时间有所增加 

机器人中的数值优化之修正阻尼牛顿法_第5张图片但我们还需要注意牛顿法的适用条件是hessian矩阵正定,否则会出现上述两种情况,若半正定可能找不到最优解若负定,将使迭代方向变成上升方向,因此我们必须保证迭代方向与负梯度方向成锐角

2 Pratical Newton's Method

机器人中的数值优化之修正阻尼牛顿法_第6张图片当遇到hessian矩阵不是正定时,我们需要构造一个足够接近hessian的正定矩阵M

backtracking line search不需要梯度与hessian

机器人中的数值优化之修正阻尼牛顿法_第7张图片 

首先M矩阵等于hessian矩阵加上一个单位阵乘上一个系数

对于对称正定线性方程组而言,可采用Cholesky分解或Bunch-Kaufman 分解对下降方向d进行快速求解。

假如函数为凸函数,M矩阵可以利用 cholesky 分解,将稠密的矩阵分解为上三角与下三角乘积,具体的数学推导请参考[数值计算] LU分解、LUP分解、Cholesky分解 - 知乎 (zhihu.com)

假如函数为非凸函数, M矩阵可以利用 Bunch-Kaufman 分解,具体的数学推导请参考LDLT分解法_百度百科 (baidu.com)

你可能感兴趣的:(数值优化,算法,人工智能)