第十八章 大规模机器学习

课时140 学习大数据集
以线性回归模型为例,每一次梯度下降迭代,都要计算训练集的误差平方和,计算量很大。
首先应该做的是画学习曲线,判断大规模数据集有没有必要,左图说明需要增加数据量,右图说明应该添加额外的特征或增加神经网络的隐藏单元等。
在这里插入图片描述

课时141 随机梯度下降stochastic gradient descent
之前用的梯度下降方法也叫批梯度下降batch gradient descent,每一步every step都要考虑所有的训练样本,而随机梯度下降算法在每次迭代中,不需要考虑全部的训练样本,只需要考虑一个训练样本。以线性回归为例。首先,数据预处理,即打乱m个训练样本的顺序;然后,遍历所有的训练样本,使参数对每个训练样本拟合的好一点,不再需要求和步骤。初始点会以随机而曲折的路线接近最优解,最终在最优解附近徘徊,即最终得到的参数是一个全局最小值的接近值,不是真正的全局最小值。
在这里插入图片描述
外层循环的次数为1到10次中间,如果训练集足够大,1次就够了。

课时142 Mini-Batch小批量梯度下降
是介于批梯度下降与随机梯度下降之间的算法,b是mini-batch size,每次迭代不是用m或1个样本,而是用b个样本:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
一般取b介于2-100之间,比如取b=10。我们可以用向量化的方式来循环b个训练实例,如果我们用的线性代数库比较好,能够支持平行处理,那么算法的总体表现将不受影响(与随机梯度下降相同)。

课时143 随机梯度下降收敛
如何判断批梯度下降是否在收敛:对批梯度下降,画Jtrain(θ),确保每次迭代都是下降的,但每次迭代都需要遍历所有的训练样本。
对随机梯度下降,用(x(i),y(i))更新θ前计算cost(θ,(x(i),y(i))),结果应该越来越好,每1000次迭代画出图像来检查。(前几个1000次会有很多噪声)
示例:第一个图红线代表使用了更小的学习率,收敛更慢但结果可能更稍微好一点(可以忽略)。第二个图的红线是把1000变成5000,噪声更小。第三个图表示算法没有在学习。第四个图表示算法在发散,应该尝试更小的学习率。
在这里插入图片描述
一般情况学习率是不变的,但可以逐渐慢慢减小学习率的值,使梯度下降最终更加接近全局最优解,但是这样需要调整更多的参数,有点不值得。

课时144 在线学习算法online learning setting
x描述用户的特征,如出发地与目的地,也包括这次我们给出的价钱price;y表示用户是否选择了我们的运输服务。
在这个在线学习机制中,我们实际上丢弃了固定的数据集这一概念。我们现在获取一个样本,让它学习,然后丢弃这个样本。
如果一个网站有大量连续的数据流,就适合使用在线学习算法。这个算法有一个好处是可以根据用户偏好进行调试,可以跟进变化着的用户群体。
在这里插入图片描述
另一个例子:x表示手机的特征,也表示这部手机与搜索命令在各个维度的匹配程度。y表示用户是否点击了链接。这类问题叫点击率预测学习问题predicted click-through rate(predicted CTR)。
在这里插入图片描述

课时145 减少映射与数据并行
映射化简map-reduce和数据并行对于大规模机器学习问题而言是非常重要的概念。
map-reduce把训练集划分成不同子集,如有四台机器并行计算,就把数据分成4份。每个机器只需要处理四分之一个数据集,即做四分之一的工作,它们将运算速度提高到原来的四倍。最后将temp变量们给送给一个中心服务器来整合这些结果。
减少映射将批梯度下降的工作分给四个机器。
在这里插入图片描述
在这里插入图片描述
只要你的学习算法可以表示为对训练集的求和,就可以用map-reduce处理很大的数据集。
在这里插入图片描述
也可以在单机上运行map-reduce, 因为现在很多电脑有很多CPU,CPU又有多个核心,这时还不用担心网络延迟问题了。
也有好的线性代数的库可以自动并行运算。在这里插入图片描述
有个开源的系统叫Hadoop可以帮你并行运算来处理大规模数据集。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值