深度学习笔记3:梯度下降
梯度下降
概念
首先,假设数据只有一个特征,因此只有一个权重,绘制以
为横坐标,
为纵坐标的图像如下所示:

在梯度下降最开始的时候,首先,随机设定初始权重,其对应的纵坐标
就是初始的损失函数值,坐标点就是梯度下降的起点。
接下来,从起始点开始,让自变量向损失函数
减小最快的方向移动。以上方图像为例, 一眼就能看出减小损失函数最快的方向是横坐标的右侧(也就是
逐渐变大的方向),但起始点是一个“盲人”,它看不到也听不到全局,每次走之前得用“拐杖”探探路,确定下方向。
并且,对于如下复杂的图像而言,最开始时损失函数减小最快的方向,不一定指向损失函数的最小值,如果一条路走到黑,最后反而可能找不到最小值点。所以”盲人“起始点每次只敢走一小段距离。每走一段距离,就要重新确认一下方向对不对,走很多步之后,才能够到达或接近损失函数的最小值。

因此,在这个过程中,每步的方向就是当前坐标点对应的梯度向量的反方向,每步的距离就是步长 * 当前坐标点所对应的梯度向量的大小(也就是梯度向量的模长),梯度向量的性质保证了沿着其反方向、按照其 大小进行移动,就能够接近损失函数的最小值。
存在问题
整个梯度下降过程存在两个问题:
1、怎么找出梯度向量的方向和大小?
2、怎么让坐标点按照梯度向量的反方向,移动与梯度向量大小相等的距离?
解决第一个问题
怎么找出梯度向量的方向和大小?

对任意向量来说,其方向和大小都是依赖于向量元素具体的值而确定。比如向量(1,2)的方向就是从原 点(0, 0)指向点(1, 2)的方向,大小就是(向量的大小也叫模长),梯度向量的大小和方向也是如此计算。梯度向量中的具体元素就是各个自变量的偏导数,这些偏导数的具体值必须依赖于当前所在坐标点的值进行计算。所以:
1)梯度的大小和方向对每个坐标点而言是独一无二的。坐标点一旦变化,梯度向量的方向和大小也会变化。
2)每走到一个新的点,读取该点的坐标并带入梯度向量的表达式进行计算,就可以得到当前点对应的梯度向量的方向和大小。
解决第二个问题
怎么让坐标点按照梯度向量的反方向,移动与梯度向量大小相等的距离?
解决这个问题其实就是进行了一次迭代,使坐标点能够按照梯度下降的方向前进。


以上就是迭代权重的迭代公式,偏导数的大小影响整体梯度向量的大小(看走多大的步子),偏导数前的减号影响整体梯度向量的方向(看往哪个方向走)。
当人为将(步长)的值设置的很小时,每次迭代都会走出很小的一步,设置的很大时就会走出比较大的一步。
更多推荐



所有评论(0)