比较好的网页设计网站,爱山东app下载安装健康码,深圳网站推广策划,滁州房地产网站建设网站文章目录1.梯度下降1.1批量梯度下降(BGD)1.2随机梯度下降#xff08;SGD#xff09;1.3 小批量随机梯度下降#xff08;MSGD#xff09;1.4 比较#xff1a;1.5 动量算法#xff08;momentum#xff09;1.6 Nestrov Momentum2. 自适应方法2.1 自适应学习率算法#xff…
文章目录1.梯度下降1.1批量梯度下降(BGD)1.2随机梯度下降SGD1.3 小批量随机梯度下降MSGD1.4 比较1.5 动量算法momentum1.6 Nestrov Momentum2. 自适应方法2.1 自适应学习率算法AdaGrad2.2 均方根反向传播算法(RMSprop)2.3 Adadelta2.4 自适应矩估计优化算法(Adam)3.牛顿法3.1 牛顿法3.2 拟牛顿法总结几乎所有的的机器学习问题最终都将转换为一个最优化问题而一般回转换为最小化问题传统的解析方法在机器学习的优化问题中常常不适用通常使用的是迭代优化的问题需要确定两个关键点1.下降的方向 2.确定下降的步长参考博客1.梯度下降 每次都沿着目标函数的负梯度方向进行下降更新参数 1.1批量梯度下降(BGD)
BGD 采用整个训练集的数据来计算 cost function 对参数的梯度
1.2随机梯度下降SGD
和批量梯度下降(BGD) 的一次用所有数据计算梯度相比随机梯度下降(SGD)每次更新时对每个样本进行梯度更新 对于很大的数据集来说可能会有相似的样本这样 BGD 在计算梯度时会出现冗余 而 SGD 一次只进行一次更新 就没有冗余而且比较快并且可以新增样本。
缺点 随机梯度下降(SGD)因为更新比较频繁会造成 cost function 有严重的震荡此外随机梯度下降(SGD)对噪声比较敏感批量梯度下降(BGD)可以收敛到局部极小值当然 随机梯度下降(SGD)的震荡可能会跳到更好的局部极小值处。当我们稍微减小 learning rate随机梯度下降(SGD)和批量梯度下降(BGD)的收敛性是一样的。
1.3 小批量随机梯度下降MSGD
MBGD 每一次利用一小批样本即 n 个样本进行计算 这样它可以降低参数更新时的方差收敛更稳定
另一方面可以充分地利用深度学习库中高度优化的矩阵操作来进行更有效的梯度计算。 和 SGD 的区别是每一次循环不是作用于每个样本而是具有 n 个样本的Batch。
缺点
1.选择合适的学习率非常困难。太大会使得手敛波动大太小使得手敛速度慢2.所有的参数使用相同的学习率。对于不经常出现的特征的参数希望更新快些对于常常出现的特征则希望跟新慢一些3.sgd容易收敛到局部最优解并且在某些会受到鞍点影响通过合适的初始化和step size设置下鞍点影响可以降低。 minibatchSGD是梯度下降方法中较常用的方法而且性能比其他两种都要好一些。但是仍然存在很多的问题于是就有后面的那些改进的方法。 1.4 比较 1.5 动量算法momentum 1.6 Nestrov Momentum 2. 自适应方法
2.1 自适应学习率算法AdaGrad 2.2 均方根反向传播算法(RMSprop) 2.3 Adadelta 2.4 自适应矩估计优化算法(Adam) 3.牛顿法
3.1 牛顿法 3.2 拟牛顿法 总结