Andrew Ng带我漫步机器学习 - 第十周 处理大数据

大数据梯度下降


机器学习近阶段的进步很大一部分来自数据集和算力的爆炸性增长,比如神经网络算法


面对大数据时,仍然使用常规的梯度下价格算法会带来巨大的计算量
学习曲线
根据学习曲线,减少数据集时可行的。随着训练样本增多,误差值越来越平稳,不需要重复计算

随机梯度下降

随机梯度下降算法

随机梯度下降是最常用的处理大数据的梯度下降算法
比较
随机梯度下降公式的代价函数和梯度下降公式都没有样本总量m

  1. 随机洗乱数据
  2. 重复随机梯度下降算法,每次只使用一个数据对进行修正


    图
  • 随机梯度下降算法极大缓解了算法压力
  • 随机梯度下降趋于收敛的路径时随机方向的,但是总体仍然倾向于收敛点(需要足够多的样本)
算法评估

评估方法

  • 批量梯度下降使用学习曲线
  • 随机梯度下降在每次更新 θ \theta θ之前计算代价函数 1 2 ( h θ ( x ( i ) ) − y ( i ) ) 2 \dfrac{1}{2}(h_{\theta}(x^{(i)})-y^{(i)})^2 21(hθ(x(i))y(i))2,然后绘制前1000个样本获得的代价函数曲线

评估

  • 左上为正常情况,减小学习率 α \alpha α可能获得更准确的曲线(红线部分)
  • 右上为增加绘制的样本数量的情况,收敛趋势更加明显了
  • 左下收敛趋势不明显,一可能为梯度下降失败,二可能为随机梯度下降的波动完全掩盖了下降趋势(红线部分)
  • 右下情况说明随机梯度下降算法失败了
随机梯度下降优化

优化

为了更好地使随机梯度下降算法收敛到收敛点附近,我们可以随着随机梯度下降的进行逐渐减少学习率 α \alpha α α = c o n s t 1 i t e r a t i o n N u m b e r + c o n s t 2 \alpha=\dfrac{const1}{iterationNumber + const2} α=iterationNumber+const2const1

不用也问题不大,因为又多了两个常量要处理

小批量梯度下降

比较

  • 批量梯度下降使用所有样本进行参数更新
  • 随机梯度下降使用单个样本进行参数更新
  • 小批量梯度下降更新使用的样本量处于两者之间,一般为2-100

小批量梯度下降算法
小批量梯度下降引入了新的参数b,为每一次运行梯度下降用到的样本量

在线学习


在线学习主要应用于网站,主要是数据的来源和处理方式不同。在线学习需要注意的地方是每次采用一个样本(用户)来优化算法,优化结束后弃置这个样本

分布式计算机系统和数据平行


分布式计算机系统
将训练集拆分为多个部分,分散到不同的机器进行计算,最后汇总到主机进行求和优化

累加

这个图大概的意思就是使用分布式计算机系统都是在累加的i出上的,求偏导项往往也是累加的,有利于在主机上运算


使用多核计算机可以起到类似于分布式计算机系统的任务,使用不同的计算核心完成分布式任务

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值