参考:海森矩阵和牛顿法
人工智能-损失函数-优化算法:牛顿法的背后原理【二阶泰勒展开】
牛顿法与Hessian矩阵
给出一个总结:
1. 求解方程的根
我们先从一个最简单的情况来分析。
当方程没有求根公式,或者求根公式很复杂而导致求解困难时,怎么办呢?此时牛顿法就起作用了。
这里假设我们要求的根。步骤如下:
- 首先,选择一个接近函数
的
,计算相应的
和切线斜率
。
- 然后计算穿过点
并且斜率为
的直线和
轴的交点的坐标,也就是求如下方程的解(公式1):
- 我们将新求得的点的
坐标命名为
。可以看到,
会比
更接近方程
的解。因此我们现在可以利用
开始下一轮迭代。我们对公式1进行变换,得到公式2:
通过公式2不断地迭代,就可以越来越接近 的根。整个的过程可以由下图表示:
在上面,我们利用求解直线方程的方式,给出了公式1最为直接的推导方法。这里我们给出从泰勒展开推导的过程:
因此可以看到,迭代公式就是是泰勒一阶展开。
由于泰勒等式只是近似相等,所以每次求得的近似解并不能使完全成立,但是可以认为相比与上一次迭代的结果更加接近。
2. 二阶优化方法——牛顿法
牛顿法求解二阶优化问题已经不是求解的问题,而是求解
的问题,可以参考二阶泰勒展开公式:
此时把想象成
然后套用进公式2可得:
对于高维函数,牛顿法通用公式可以写成:
3. 牛顿法 与 Hessian矩阵的关系
: