Gradient descent 梯度下降

李宏毅老师机器学习课程笔记——Gradient descent 梯度下降

在上一篇笔记regression回归中,提到了回归过程中参数求解利用了梯度下降法,本篇笔记将对梯度下降法展开深入讨论。
梯度下降是机器学习过程中常见的优化算法,用于求解机器学习算法的模型参数。

一、理论

机器学习算法求解最优参数可以表示为:
在这里插入图片描述
其中,L(θ)为loss function损失函数,θ为parameters参数。
假设现在有{θ_1,θ_2}两个待计算的参数,
(1)随机生成初始值:
在这里插入图片描述
(2)求函数在θ1,θ2位置上的偏微分:
在这里插入图片描述
代入θ1,θ2,即:
在这里插入图片描述
(3)持续迭代直至到达局部最优点,梯度下降的方向一直由∇L(θ)决定:
在这里插入图片描述
在这里插入图片描述
-学习率 η

选取正确的learning rate 学习率 η:
在这里插入图片描述
如图是不同选值的学习率在梯度下降过程中的表现,明显可知:
在这里插入图片描述
在这里插入图片描述
选取best η 能够又快又好得完成迭代。

二、adaptive learning rate 自适应学习率

自适应学习率满足两个条件:

(1)每一步迭代都用不同的学习率
(2)每个参数用不同的学习率

简单自适应学习率只满足条件(1):
在这里插入图片描述
其中,
在这里插入图片描述
Adagrad则同时满足条件(1)和(2):
在这里插入图片描述
其中,σ^t是过去所有值的均方
在这里插入图片描述
代入
在这里插入图片描述
化为:
在这里插入图片描述
其中,分母能够防止梯度爆炸或梯度消失.

三、stochastic gradient descent 随机梯度下降

损失函数表示为:
在这里插入图片描述
批量梯度下降对所有所有样本都计算:
在这里插入图片描述
而随机梯度下降法,只取一个样本计算损失函数进行迭代:
在这里插入图片描述
优点:随机梯度下降速度比批量梯度下降更快。

四、feature scaling 特征缩放

特征缩放是梯度下降过程中常用的技法之一。
需要用到特征缩放的情况:
在Y=B+W1X1+W2X2的函数中,X1的取数范围在1-10,而X2的取数范围在1000-10000,这就需要进行特征归一化平衡特征值,使得梯度更加容易得下降到全局最优。
在这里插入图片描述
在这里插入图片描述

实现特征缩放:
在这里插入图片描述 其中mi是特征的平均值,σi是特征最大值减去最小值。