1、相关符号说明

M 训练样本的数量

x 输入变量,又称特征

y 输出变量,又称目标

(x, y) 训练样本,对应监督学习的输入和输出

随机梯度下降权重怎么计算_随机梯度下降权重怎么计算

表示第i组的x

随机梯度下降权重怎么计算_随机梯度下降权重怎么计算_02

表示第i组的y

h(x)表示对应算法的函数

θ是算法中的重要参数(向量)

随机梯度下降权重怎么计算_随机梯度下降权重怎么计算_03

表示参数为θ的函数,以下考虑线性回归,所以表述为:

随机梯度下降权重怎么计算_监督学习_04

2、梯度下降算法


随机梯度下降权重怎么计算_梯度下降_05

表示函数计算输出的结果,用y表示期望的输出值


随机梯度下降权重怎么计算_随机梯度下降_06

-y表示误差,若我们有m组训练样本,在训练过程中,我们希望误差越小越好,所以来调整参数θ使得

随机梯度下降权重怎么计算_随机梯度下降_07


其中二分之一是使得运算更加简便,采用误差的平方来计算,对于所有的样本,误差之和最小的参数θ就是我们要得到的结果。

我们称上述式子为

随机梯度下降权重怎么计算_随机梯度下降_08

,我们要不断修改参数,使

随机梯度下降权重怎么计算_监督学习_09

的值尽可能小。

初始时候,我们设定

接下来不断改变θ:

更新

随机梯度下降权重怎么计算_监督学习_10

,其中α为手动设置的学习速率参数。

通过对J函数求偏导数,我们求得J的梯度,即J下降最快的方向,通过这个方向更新参数,使得J的函数值越来越小。

计算当m=1时,只有1组训练样本时:

随机梯度下降权重怎么计算_随机梯度下降权重怎么计算_11

当有m组样本时,把每一组的效果累加起来:

随机梯度下降权重怎么计算_监督学习_12


则其中后一部分便是

随机梯度下降权重怎么计算_随机梯度下降权重怎么计算_13

的结果。

由于每次更新参数,都遍历了一次所有的样本数据,这样做属于完全梯度下降,具有更高的准确性,却在遍历m集合上花费了大量的时间,当训练集合很大时,这种方法是很浪费时间的,所以引出随机梯度下降。

3、随机梯度下降

对于j从1到m:

随机梯度下降权重怎么计算_梯度下降_14


对于每一次更新参数,不必遍历所有的训练集合,仅仅使用了一个数据,来变换一个参数。这样做不如完全梯度下降的精确度高,可能会走很多弯路,但整体趋势是走向minmum。

这样做可以节省更多的时间,算法更快。