首先Nesterov动量优化算法是Momentum优化算法的一种改进。


比较这两个算法的算法步骤,基本都一样,差别就在于应用临时更新这一句即先用当前的速度v先更新一遍参数,这样做后,Nesterrov算法比Momentum算法更新更快,因为在每一次更新的时候都是基于当前速度和梯度的更新,那我在求梯度之前就先进行一次对于当前速度的更新,就会加快收敛速度。
# coding=utf-8
"""
基于小批量梯度下降来实现的Nesterov
参考:https://blog.youkuaiyun.com/bvl10101111/article/details/72615961
相比于上一篇的Momentum,不一样的地方是应用了临时更新
@author: Reynold
@date: 2018-08-21
"""
import numpy as np
import random
# 构造训练数据
x = np.arange(0., 10., 0.2)
m = len(x)
x0 = np.full(m, 1.0)
input_data

本文对比了Nesterov动量优化算法与传统Momentum算法,重点讲解了Nesterov算法中临时更新的应用,解释了为何它能加速收敛。通过实例演示了如何在小批量梯度下降中实现Nesterov算法。
最低0.47元/天 解锁文章
7012

被折叠的 条评论
为什么被折叠?



