机器学习--常用的矩阵求导运算和优化算法

常用的矩阵求导运算

向量和矩阵的导数满足乘法规则
在这里插入图片描述
在这里插入图片描述

常用的矩阵

  1. 梯度:f(x) 是 x 的标量函数,x为向量, 那么f(x) 对 x 的导数为梯度:
    在这里插入图片描述

  2. 雅可比矩阵

  3. 海森矩阵:f(x) 关于 x 的二阶导数成为海森矩阵。

非线性优化算法

考虑简单的最小二乘问题,如下:

求解这样一个优化问题。显然,如果f是个数学形式上很简单的函数,那么该问题可以用解析形式来求。令目标函数的导数为零,然后求解x的最优值,就和求二元函数的极值一样:

解此方程,就得到了导数为零处的极值。它们可能是极大、极小或鞍点处的值,只要逐个比较它们的函数值大小即可。但是,这个方程是否容易求解呢?这取决于f导函数的形式。如果f为简单的线性函数,那么这个问题就是简单的线性最小二乘问题,但是有些导函数可能形式复杂,使得该方程可能不容易求解。
求解这个方程需要我们知道关于目标函数的全局性质,而通常这是不大可能的。对于不方便直接求解的最小二乘问题,我们可以用迭代的方式从一个初始值出发,不断地更新当前的优化变量,使目标函数下降。具体步骤可列写如下:

这让求解导函数为零的问题变成了一个不断寻找下降增量△Xk的问题,我们将看到,由于可以对f进行线性化,增量的计算将简单很多。当函数下降直到增量非常小的时候,就认为算法收敛,目标函数达到了一个极小值。在这个过程中,问题在于如何找到每次迭代点的增量,而这是一个局部的问题,我们只需要关心f在迭代值处的局部性质而非全局性质。

在这里插入图片描述


最速下降法过于贪心,容易走出锯齿状,而牛顿法需要计算二阶海森矩阵,过于复杂,经常使用的是高斯牛顿和LM非线性优化算法。



这里把左侧记作H是有意义的。对比牛顿法可见,高斯牛顿法用JJ’作为牛顿法中二阶Hessian矩阵的近似,从而省略了计算H的过程。求解增量方程是整个优化问题的核心所在。中间优化过程需要H(x)矩阵可逆这一性质,实际情况下可能并不能保证满足,可能导致算法不收敛。此时增量的稳定性较差,直观地说,原函数在这个点的局部近似不像一个二次函数。更严重的是,就算我们假设H非奇异也非病态,如果我们求出来的步长△a 太大,也会导致我们采用的局部近似式不够准确,这样一来我们甚至无法保证它的迭代收敛,哪怕是让目标函数变得更大都是有可能的。

LM算法不再介绍,公式如下:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

她的我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值