最优化第三讲——无约束的梯度技术

本讲主要看一下,在无约束的求解过程中使用的梯度技术

解决无约束问题的算法框架

1. 选定一个初始点x0,计算一些数值,例如x0的值f(x0),x0点的梯度,x0点的嗨森矩阵

2. 基于以上计算的信息,选定一个搜索方向d0

3. 沿着搜索方向找到下一个点x1,

4. 以以上的方法产生x1,x2,x3.....。

以上的方法称为逐次下降法,很多算法都是逐次下降法,只不过是确定搜索方向、确定步长的方法不同,本章主要介绍的事逐次下降法的一种-梯度下降法。

梯度,如果是一维的,那么其实就是导数,多维的,那么就是多每个变量求偏导

梯度下降法:就是以负梯度方向作为找极小值点的方向

这里就有两个问题

1. 为什么要以负梯度方向作为寻找极小值点的方向

证明如下图

最优化第三讲——无约束的梯度技术_第1张图片

第一行:根据泰勒公式得到

第二行:做了下等式变换

第三行:因为想找到最速下降的方向,也就是从当前点到下一个点的距离最大

第四行:最大化等式左边等于最小化等式右边的负值

第六行:向量相乘转化为夹角余弦跟模的乘积

最后得出dx的方向是梯度的反方向

2. 最有步长法(既然梯度的负方向是下降最快的方向,为什么实际使用的过程中用梯度下降方收敛的比较慢)

因为从局部看,也就是从当前点看,沿着负梯度的方向是下降最快的,但是从全局看,走了很多弯路,因为当前点的梯度和下一点的梯度是正交的,也就是内积为0,所以从全局看,寻优的路线是锯齿状的问题一已经求得最速下降的方向是负梯度的方向,那么沿着这个方向走多长才是最优的呢,也就是现在方向确定了方向,需要确定下最优的步长

连续两点的梯度是正交的证明如下

最优化第三讲——无约束的梯度技术_第2张图片

第一行:写出下一点的函数值,k代表步长

第二行:我们是要最小化下一个点的,(这是我们的目的,要尽快的找到最小点)

第四行:我们现在的优化问题变成了一维优化,因为只有k是未知数,那么就对k进行求导,最后得到,当前点的梯度和下一个点的梯度是正交的

其实这个问题可以推广,上一个点沿着任何方向a用最优步长到下一个点,下一个点的梯度与 a正交

3. 梯度下降的收敛性——一阶收敛

梯度下降的收敛性可以通过证明得到,证明如下

最优化第三讲——无约束的梯度技术_第3张图片

4. 梯度下降的实现

见另外一篇博客

你可能感兴趣的:(最优化)