【Machine Learning】17 大规模机器学习(Large Scale Machine Learning)

本章主要介绍大数据规模下的机器学习算法:随机梯度下降算法、小批量梯度下降算法、在线学习思想、并行计算思想等等。

17.1 Learning With Large Datasets

“It’s not who has the best algorithm that wins. It’s who has the most data.”

由之前所说,通过描绘学习曲线来判断增大数据量是否对学习效果有改进:

可以看到对于高方差的情况会有比较好的效果。

17.2 Stochastic Gradient Descent

      

批量梯度下降每次θ的更新都考虑了所有的样本;

随机梯度下降每次θ的更新仅考虑了一个样本,随机体现在第一步的随机排序;

随机梯度下降算法可能并不能保证每步都是下降方向,最后也不一定收敛到最优解,但是一个可接受的解。

17.3 Mini-Batch Gradient Descent

   

mini-batch gradient descent每次迭代使用b个样本, 不难理解。这是一种介于批量下降和随机下降的方法,但是b的取法需要自己观察,最好有量化实现方法。

17.4 Stochastic Gradient Descent Convergence

上述随机梯度  mini-batch梯度方法中,解可能收敛到最优解的邻域,我们如何保证该解收敛到合适的位置呢?

在随机梯度下降中,我们在每一次更新 θ 之前都计算一次代价(后面一部分数据平均值就可以,不用扫面全部数据),然后每 X 次迭代后,求出这 X 次对训练实例计算代价的平均值,然后绘制这些平均值与 X 次迭代的次数之间的函数图表:

左上:我们采用比较小的学习率会使得解更接近最优解,但此时时间显然花费更多;

右上:我们采用更多的数据量会使得代价函数曲线更加平滑,更容易看出变化趋势;

左下:代价函数下降并不明显,需要观察模型是否出错;

右下:代价函数增长,呈发散趋势,此时要采用较小的学习率。

观察到随机梯度方法很难收敛到最优解,一般会在最优解邻域跳动,我们可以令α取值逐渐变小来使得解尽可能逼近最优解。

讨论收敛性目的:

1、观察算法是否依目标收敛;

2、调节算法,如学习率α等等。

17.5 Online Learning

对于持续的数据流,我们抛弃使用的用户数据,根据用户的行为不断更新模型以适应用户的新需求。

   

邮费定价问题和手机推荐问题。与随机梯度下降不同这里的数据集在线更新,随着用户喜好或需求变化,模型更贴近用户新的状态。

17.6 Map Reduce and Data Parallelism

1、多计算机并行计算:

数据集分解,4台计算机各完成一部分计算,再把结果传输至数据中心处理得到新的θ,这里得到的θ与并行计算前一致。

2、单计算机多核计算:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值