梯度下降(Gradient Descent)小结

**梯度:**在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。沿着梯度向量的方向,函数增长最快,反向减少最快。

**梯度下降与梯度上升:**在最小化损失函数时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数,和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。

梯度下降法算:

梯度下降 指数衰减 梯度下降概念_初始化


起点(山顶)找最陡峭的位置向下走一步(梯度的负方向),继续求解当前位置梯度,走最陡峭的下山,走一步看一步。梯度下降不一定能够找到全局的最优解,有可能是一个局部最优解。如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解。

概念:

步长(Learning rate):延梯度每一步长度

特征(feature):指的是样本中输入部分

假设函数(hypothesis function):在监督学习中,为了拟合输入样本,而使用的假设函数,记为梯度下降 指数衰减 梯度下降概念_损失函数_02

损失函数(loss function):为了评估模型拟合的好坏,通常用损失函数来度量拟合的程度。损失函数极小化,意味着拟合程度最好,对应的模型参数即为最优参数。 梯度下降 指数衰减 梯度下降概念_梯度下降_03 计算结果和实际结果的方差。其中梯度下降 指数衰减 梯度下降概念_初始化_04表示第i个样本特征,梯度下降 指数衰减 梯度下降概念_梯度下降_05表示第i个样本对应的输出,梯度下降 指数衰减 梯度下降概念_初始化_06为假设函数。

梯度下降的详细算法

先决条件: 确认优化模型的假设函数和损失函数。

比如对于线性回归,假设函数表示为 梯度下降 指数衰减 梯度下降概念_损失函数_07, 其中$ \theta_{j}$ (j = 0,1,2… n)为模型参数,梯度下降 指数衰减 梯度下降概念_梯度下降_08 (j = 0,1,2… n)为每个样本的n个特征值。这个表示可以简化,我们增加一个特征梯度下降 指数衰减 梯度下降概念_损失函数_09 ,这样梯度下降 指数衰减 梯度下降概念_梯度下降 指数衰减_10。同样是线性回归,对应于上面的假设函数,损失函数为:梯度下降 指数衰减 梯度下降概念_损失函数_11, 如果前面有系数参考线性回归损失函数为什么要用平方形式。

算法相关参数初始化:主要是初始化梯度下降 指数衰减 梯度下降概念_梯度下降_12,算法终止距离梯度下降 指数衰减 梯度下降概念_梯度下降 指数衰减_13以及步长梯度下降 指数衰减 梯度下降概念_梯度下降 指数衰减_14。在没有任何先验知识的时候,我喜欢将所有的梯度下降 指数衰减 梯度下降概念_梯度下降 指数衰减_15初始化为0, 将步长初始化为1。在调优的时候再优化。

算法过程:

1.确定损失函数,对梯度下降 指数衰减 梯度下降概念_初始化_16:梯度下降 指数衰减 梯度下降概念_梯度下降 指数衰减_17.

2.确定步长:梯度下降 指数衰减 梯度下降概念_梯度下降 指数衰减_18.

3.确定是否所有的梯度下降 指数衰减 梯度下降概念_初始化_19,梯度下降的距离都小于梯度下降 指数衰减 梯度下降概念_梯度下降 指数衰减_13,如果小于梯度下降 指数衰减 梯度下降概念_梯度下降 指数衰减_13则算法终止,当前所有的梯度下降 指数衰减 梯度下降概念_初始化_19(i=0,1,…n)即为最终结果。否则进入步骤4.

4.更新所有的梯度下降 指数衰减 梯度下降概念_梯度下降 指数衰减_23,对于梯度下降 指数衰减 梯度下降概念_初始化_19,其更新表达式如下。更新完毕后继续转入步骤1.梯度下降 指数衰减 梯度下降概念_梯度下降_25.

梯度下降的算法调优:

  1. 算法的步长选择。在前面的算法描述中,我提到取步长为1,但是实际上取值取决于数据样本,可以多取一些值,从大到小,分别运行算法,看看迭代效果,如果损失函数在变小,说明取值有效,否则要增大步长。前面说了。步长太大,会导致迭代过快,甚至有可能错过最优解。步长太小,迭代速度太慢,很长时间算法都不能结束。
  2. 算法参数的初始值选择。 初始值不同,获得的最小值也有可能不同,因此梯度下降求得的只是局部最小值;当然如果损失函数是凸函数则一定是最优解。由于有局部最优解的风险,需要多次用不同初始值运行算法,关键损失函数的最小值,选择损失函数最小化的初值。
    3.归一化。由于样本不同特征的取值范围不一样,可能导致迭代很慢,为了减少特征取值的影响,可以对特征数据归一化,也就是对于每个特征x,求出它的期望梯度下降 指数衰减 梯度下降概念_初始化_26和标准差std(x),然后转化为:

梯度下降 指数衰减 梯度下降概念_梯度下降_27
    这样特征的新期望为0,新方差为1,迭代次数可以大大加快。
转载梯度下降(Gradient Descent)小结