大规模数据集学习
得数据者得天下,一般而言,在进行机器学习时,比较好的情况时拥有大量的数据以及高方差(过拟合)的模型。
在处理大量数据前,可以利用之前在另一篇博文中提到的学习曲线,查看模型是高偏差还是高方差,确定是高方差后再处理大量数据:
随机梯度下降
原梯度下降(批量(Batch)梯度下降)过程:
如上图,每更新一个参数,便需要循环m次
随机梯度下降过程:
如上图,用一个样本来更新所有模型参数 θ \theta θ,即可使参数立刻获得更新,加快迭代速度,且所有样本都遍历更新的这个大循环过程,重复1至10次即可。
PS:注意上图,需要先把样本的顺序打乱再进行梯度下降,以免产生影响。
批量梯度下降与随机梯度下降在下降过程中的区别在于,批量梯度下降直接逼近最小值,而随机梯度下降则曲折接近最小值,最后在最小值附近徘徊
小批量梯度下降
小批量梯度下降介于批量梯度下降和随机梯度下降之间,其过程为:
如上图,用不断用b个样本更新参数,直至遍历所有样本为一个大循环。
随机梯度下降的收敛
对于批量梯度下降而言,在每次迭代后&#x