1700536760
经典的优化方法,如梯度下降法,在每次迭代时需要使用所有的训练数据,这给求解大规模数据的优化问题带来了挑战。如何克服这个挑战,对于掌握机器学习,尤其是深度学习至关重要。
1700536761
1700536762
知识点
1700536763
1700536764
随机梯度下降法,经典优化算法
1700536765
1700536766
问题 当训练数据量特别大时,经典的梯度下降法存在什么问题,需要做如何改进?
1700536767
1700536768
难度:★☆☆☆☆
1700536769
1700536770
分析与解答
1700536771
1700536772
在机器学习中,优化问题的目标函数通常可以表示成
1700536773
1700536774
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
[
上一页 ]
[ :1.70053676e+09 ]
[
下一页 ]