第10周 Lecture 17 大量数据机器学习
- 随机梯度下降(stochastic gradient descent)
步骤:
a.)训练数据重新随机排列(Randomly shuffle(reorder) training examples)
b.) 算法描述
//1 - 10 次
// (for every j=0, ...,n)
和正常的梯度下降比起来,下降是随机的,但是最后还是可以到最低点,但这个不需要每下降一步都对所有训练数据重新计算,所以速度会快很多。
c.) 对比批量梯度下降(batch gradient descent)
// (for every j=0, ...,n)
- 小批量梯度下降(Mini gradient descent)
- Batch gradient descent: 每一步使用所有的训练集
- stochastic gradient descent: 每一步使用1个训练集
- Mini gradient descent: 每一步使用b个训练集
算法描述:
// (for every j=0, ...,n)
- 随机梯度算法如何知道在收敛
- 建议每1000次,计算一次代价函数,画出曲线,是否收敛
- 随着运算次数,减少学习率(),例如
- 在线学习(online learning)
- 每天的数据都比较大,按每天的数据重新计算
-
CTR 点击率预测学习 learning the predict
- Map-reduce and data parallelism
把数据分在不同的机器同时进行计算,完成计算后,再求和
例如对于梯度下降
把400条数据分成4份,每份100条,分在4台机器同时运行,4台完成后,再求和。只要算法可以拆分
其中对于机器1
合并后