梯度下降法

「梯度下降法」,又称为最速下降法。1847 年由著名数学家柯西提出

基本思想为,假设我们爬山,如果想要最快地上到山顶,那么我们应该从山势最陡峭的地方上山。也就是山势变化最快的地方上山。同样,如果从任意一点出发,需要最快搜索到极大值,我们也应该从函数变化最快的方向搜索。

函数变化最快的方将就是函数的梯度。如果需要寻找函数极小点,那么应该从负梯度的方向寻找。该方法称为「梯度下降法」,即

梯度下降法的一般步骤为:考虑函数 ,给定初始参数

  1. 设定迭代步长 以及参数变化量 ,以及迭代次数
  2. 计算当前位置出的各个偏导数
  3. 设置 ,更新当前函数的各个参数值

4. 计算当前参数的变化量 ,如果小于 ,则退出;否则返回第二步。

再线性回归问题中,假设 ,此时的代价函数是关于 的二次函数

注意,根据问题的不同,应设置不同的学习速度,如果代价函数很平滑,可以设置稍大的 以尽快收敛,若很陡峭,可以设置稍小的 以不至于直接跳出最优解。

在线性回归问题中,假设 为待估计参数。此时的代价函数是关于 的二元函数,在第 次迭代时,更新公式为

时,估计参数 ,此时代价函数为一个曲面。推广至一般情况,对 个属性描述的样本 ,在 步时迭代公式为

在解搜索空间中,若某个解与所有其他解相比是最优的,就可以被称为全局最优。在解搜索空间,某个解在局部搜索空间是最优的,但不一定在全部解搜索空间最优,则称为局部最优

代价函数可能有多个局部最优值,通常局部最优值不对应全局最优值。起始点即对应着
的初始化值。从不同的起始点出发时,梯度下降会收敛到不同的局部最优位置。
可以多次初始化初始值点 ,取多次迭代结果中的最小值作为最后输出解。

例题

对于函数 ,给定初始出发点 ,利用梯度下降法求其极值

因此

最终 ,终止迭代