声明:博主为小白,以下为学习笔记,如有错误,欢迎批评指正。
吴恩达改善神经网络视频学习笔记-优化算法
1.Mini-batch
batch gradient descent —BGD —batch=max
stachastic gradient descent —SGD 随机梯度下降 —batch=1
batch过大(样本很多)如BGD收敛很快,非常稳定没有震荡,但可能陷入局部最优出不来;对机器配置有要求;一次bacth遍历完所有样本才更新参数,迭代时间长训练速度慢。
batch过小收敛慢,产生振荡甚至如SGD不收敛;对内存要求不高;一次batch只迭代一个样本就更新参数,迭代时间短。
Mini-batch就是取BGD和SGD中间一个比较好的batch大小,一般取2的倍数,batch大小和数据集、算法、配置都有关系。
2.指数加权平均(exponentially weighted average)
Vt=βVt−1+(1−β)θt
β 值决定了指数加权平均的天数,近似表示为:1/(1-β)
Vt/(1−βt)对其偏差修正
3.动量梯度下降(Gradient descent with momentum)
4.RMSprop
起到的直观效果是在参数空间更为平缓的方向,会取得更大的进步(因为平缓,所以历史梯度平方和较小,对应学习下降的幅度较小),在陡峭的方向变得平缓,从而加快训练速度。
5.Adam(Adaptive Moment Estimation)
9.减小学习因子
为了减小训练很长时间后在最优点附近的出现的震荡,我们采用减小学习因子的方式,减少震荡幅度,缩短了时间。
10.The problem of local optima
对于高维空间来说,被困在局部最优实际上出现概率小,大部分情况下是被困在鞍部(saddle point),到达saddle point需要很长时间,选择合理的强大的神经网络很重要。
参考:https://blog.csdn.net/red_stone1/article/details/78348753