第二周优化算法
2.1 Mini-batch 梯度下降
(1)将训练集分割成小的子集训练,称为Mini-batch(batch 梯度下降就是梯度下降),不用等整个训练集遍历完就可以展开后续的工作。
2.2 理解mini-batch 梯度下降
(1)每次迭代走向朝下但可能会有更多的噪声。
(2) mini-batch大小为N,即batch 梯度下降,单次迭代耗时太长(和mini-batch梯度下降的总耗时相比?)
(3)mini-batch大小为1,即随机梯度下降法,失去了向量化的优势,大部分时间朝着最小值靠近,也可能远离最小值,平均时间来看他接近最小值,但永远不会收敛,在最小值附近波动,但不会停留在最小值。
(分母为1,值会不断变动)
(4)实际上位于中间位置的mini-batch大小效果最好。
2.3 指数加权平均数
v t = β v t − 1 + ( 1 − β ) θ t v_{t}=\beta v_{t-1}+(1-\beta)\theta_{t} vt=βvt−1+(1−β)θt
计算时可视 v t v_{t} vt大概是 1 1 − β \frac{1}{1-\beta} 1−β1
当 β \beta β较大时给前一天的权重较大,曲线更加平缓。
2.4 理解指数加权平均数
在机器学习中,数据规模比较大,计算平均数的计算量和内存空间消耗大,使用加权平均数,虽然不是最精准的计算平均数的方法,但是只用了一行代码,只占用了单行数字的存储和内存,从计算和内存上来说这是一个优势。
当一个数分配的权值下降到峰值的 1 e \frac{1}{e}