1、相关符号说明
M 训练样本的数量
x 输入变量,又称特征
y 输出变量,又称目标
(x, y) 训练样本,对应监督学习的输入和输出
表示第i组的x
表示第i组的y
h(x)表示对应算法的函数
θ是算法中的重要参数(向量)
表示参数为θ的函数,以下考虑线性回归,所以表述为:
2、梯度下降算法
用
表示函数计算输出的结果,用y表示期望的输出值
则
-y表示误差,若我们有m组训练样本,在训练过程中,我们希望误差越小越好,所以来调整参数θ使得
其中二分之一是使得运算更加简便,采用误差的平方来计算,对于所有的样本,误差之和最小的参数θ就是我们要得到的结果。
我们称上述式子为
,我们要不断修改参数,使
的值尽可能小。
初始时候,我们设定
接下来不断改变θ:
更新
,其中α为手动设置的学习速率参数。
通过对J函数求偏导数,我们求得J的梯度,即J下降最快的方向,通过这个方向更新参数,使得J的函数值越来越小。
计算当m=1时,只有1组训练样本时:
当有m组样本时,把每一组的效果累加起来:
则其中后一部分便是
的结果。
由于每次更新参数,都遍历了一次所有的样本数据,这样做属于完全梯度下降,具有更高的准确性,却在遍历m集合上花费了大量的时间,当训练集合很大时,这种方法是很浪费时间的,所以引出随机梯度下降。
3、随机梯度下降
对于j从1到m:
对于每一次更新参数,不必遍历所有的训练集合,仅仅使用了一个数据,来变换一个参数。这样做不如完全梯度下降的精确度高,可能会走很多弯路,但整体趋势是走向minmum。
这样做可以节省更多的时间,算法更快。