参考:https://blog.csdn.net/kevin_123c/article/details/51879935
机器学习中,常常会用到梯度下降法来减小损失,求解模型的最优解。
线性回归函数的一般可以写成:hθ=∑n j=0 θjxj
损失函数为:
1、批量梯度下降法(BGD,batch gradient decent)
批量梯度下降法是每次迭代更新参数时,都用上所有的样本。这样,迭代一次就需要用到十几万训练样本,而一次迭代不可能最优,如果迭代10次的话就需要遍历训练样本10次。
这样虽然可以得到全局最优解,但是计算量很大,影响速度。
2、随机梯度下降法(SGD,stochastic gradient decent)
随机梯度下降法是每次迭代更新参数时,只使用一个样本。如果样本量很大的情况,那么可能只用其中部分的样本,就已经将参数theta迭代到最优解了。
该方法优点是训练速度快,缺点是单个样本的噪声较大,使得SGD并不是每次迭代都是向着整体最优的方向,准确率下降,并不是全局最优。
3、小批量梯度下降法(MBGD,mini batch gradient decent)
小批量梯度下降法是在每次迭代更新参数时,使用固定a个样本。比如总样本1000,取a=10。
该方法是对上述两种方法做的改进。