本文已参与「新人创作礼」活动,一起开启掘金创作之路。
梯度下降算法
1、案例分析
向量是特殊化的梯度,也就是导数变化最快的那个方向,首先看一个梯度下降的图,这个图也是我在其他地方找的一张图,也就是线性回归的里面的损失函数图。
损失函数
W的梯度:
W的梯度
W发生变化:
w的新值
从上面的图结合公式我们不难看出,▽ω 是斜率,也就是说,
当 α > 0 的时候 ω 逐渐变小,点在上图中向左边移动
当 α < 0 的时候 ω逐渐变大,点在上图中向右边移动
从上图的来看,我们需要的是损失函数最小,也就是需要这个点向右边的底部移动,这个过程就是梯度下降。
OK 到这里如果还不懂没有关系,请继续往下看。
2、什么是梯度
解释一:梯度是多元函数的变化趋势,比如二维、三维、四维..... 。其实导数是只有一个变量时候的梯度。
解释二:在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。
3、什么是梯度下降
我们还是以上图为例,我们把上图的方程看成一个函数,这个函数就是损失函数,我们需要的损失函数最小,那么我们也就是需要求这个函数的最小值,那么就是需要不断的进行梯度下降。这里是二维的,我们看一个三维的:
梯度下降
那么我们似乎可以看成为求最小值呢,呵呵,其实只要你理解了就行。
4、什么是梯度上升
这个问题我们就不多讨论了,其实就是梯度下降反过来了。
5、梯度下降的一些概念
1、步长:就是每次变化的大小,如下图
步长问题
2、损失函数: 损失函数就是预测和偏差形成的一个函数
其中Xi 表示第 i 个样本特征,Yi 表示第 i 个样本对应的输出,hθ(xi)为假设函数,也就是预测的结果, Yi 为真实值。而我们的目标就是使得这个损失函数最小
。