1700536775
1700536776
1700536777
(7.37)
1700536778
1700536779
其中θ是待优化的模型参数,x是模型输入,f(x,θ)是模型的实际输出,y是模型的目标输出,函数L刻画了模型在数据(x,y)上的损失,Pdata表示数据的分布,E表示期望。因此,L(θ)刻画了当参数为θ时,模型在所有数据上的平均损失。我们希望能够找到平均损失最小的模型参数,也就是求解优化问题
1700536780
1700536781
1700536782
1700536783
1700536784
(7.38)
1700536785
1700536786
经典的梯度下降法采用所有训练数据的平均损失来近似目标函数,即
1700536787
1700536788
1700536789
,
1700536790
1700536791
(7.39)
1700536792
1700536793
1700536794
,
1700536795
1700536796
(7.40)
1700536797
1700536798
其中M是训练样本的个数。模型参数的更新公式为
1700536799
1700536800
1700536801
1700536802
1700536803
(7.41)
1700536804
1700536805
因此,经典的梯度下降法在每次对模型参数进行更新时,需要遍历所有的训练数据。当M很大时,这需要很大的计算量,耗费很长的计算时间,在实际应用中基本不可行。
1700536806
1700536807
为了解决该问题,随机梯度下降法(Stochastic Gradient Descent,SGD)用单个训练样本的损失来近似平均损失,即
1700536808
1700536809
1700536810
1700536811
1700536812
(7.42)
1700536813
1700536814
1700536815
1700536816
1700536817
(7.43)
1700536818
1700536819
因此,随机梯度下降法用单个训练数据即可对模型参数进行一次更新,大大加快了收敛速率。该方法也非常适用于数据源源不断到来的在线更新场景。
1700536820
1700536821
1700536822
为了降低随机梯度的方差,从而使得迭代算法更加稳定,也为了充分利用高度优化的矩阵运算操作,在实际应用中我们会同时处理若干训练数据,该方法被称为小批量梯度下降法(Mini-Batch Gradient Descent)。假设需要同时处理m个训练数据 ,则目标函数及其梯度为
1700536823
1700536824
[
上一页 ]
[ :1.700536775e+09 ]
[
下一页 ]