1SGD、Momention原理
(1)SGD为随机梯度下降算法,每一次迭代计算数据集的小批次的梯度,然后对参数进行更新。随机梯度下降算法比较简单在这里不展开说,关于随机梯度下降算法公式的推导就是运用链式求导法则一顿求偏导,使得数据预测值和真实值的差最小。
公式:
(2)参考了物理中动量的概念,考虑到前几次的梯度,但是前几轮的梯度叠加在当前计算中会有一定的衰减。可以使最优解的曲线更加的平滑,其原理使移动平均加权公式为(和c++中的动态规划有些相似,不同的是带有权重):
其中β为权重,vt-1是前几次的梯度,为当前梯度。
β的选择尤为的重要。在预测温度的例子中,吴恩达老师令β=0.9 。使曲线要平坦一点,这是因为你平均了几天的温度,所以这个曲线波动更小,更加平坦,缺点就是曲线会失去时效性。如果选择的β值过小,平均的数据就会很少,得到的曲线会有更多的噪声也就是(稳定性差)更有可能出现异常值,但是趋势曲线能够更加适应拟合你的原始数据,也就是趋势曲线的(时效性高)。
β是一个很重要的参数,可以取得稍微不同的效果,往往中间某个值效果最好。
该方法和随机梯度下降算法相比的优势是,由于引入动量的原因,可以使梯度轻松的跳出伪最优解。但是由于加入前期梯度的原因可能会导致前期的预测效果不好我们可以引入带修正偏差的指数加权平均公式:
我们可以发现当数据量比较大的时候即t比较大的时候,会出现vt‘=vt的现象。
参考资料:https://zhuanlan.zhihu.com/p/32335746
(3)AdaGrad算法
1)从AdaGrad算法中可以看出,随着算法不断迭代,r会越来越大,整体的学习率会越来越小。所以,一般来说AdaGrad算法一开始是激励收敛,到了后面就慢慢变成惩罚收敛,速度越来越慢。
(2)在SGD中,随着梯度的增大,我们的学习步长应该是增大的。但是在AdaGrad中,随着梯度g的增大,我们的r也在逐渐的增大,且在梯度更新时r在分母上,也就是整个学习率是减少的,这是为什么呢?这是因为随着更新次数的增大,我们希望学习率越来越慢。因为我们认为在学习率的最初阶段,我们距离损失函数最优解还很远,随着更新次数的增加,越来越接近最优解,所以学习率也随之变慢。
(3)经验上已经发现,对于训练深度神经网络模型而言,从训练开始时积累梯度平方会导致有效学习率过早和过量的减小。AdaGrade在某些深度学习模型上效果不错,但不是全部。
优势:
在数据分布稀疏的场景,能更好利用稀疏梯度的信息,比标准的SGD算法更有效地收敛。
缺点:
主要缺陷来自分母项的对梯度平方不断累积,随之时间步地增加,分母项越来越大,最终导致学习率收缩到太小无法进行有效更新
————————————————
版权声明:本文为CSDN博主「bl128ve900」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bl128ve900/article/details/98211689
1SGD、Momention原理相关推荐
- UUID的使用及其原理
今天敲项目要用UUID,想起之前老师告诉UUID的使用,但没说具体的生成逻辑,于是我进行了百度 首先,UUID的使用: //生成随机的UUID String uuid = UUID.randomUUI ...
- etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理
1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...
- git原理及常见使用方法
Git 原理入门-来自阮一峰 Git 是最流行的版本管理工具,也是程序员的必备技能之一. 即使天天使用它,很多人也未必了解它的原理.Git 为什么可以管理版本?git add.git commit这些 ...
- 微机原理—定时计数控制接口
别看题目很高深,其实就是很简单的定时器和计数器而已. 通常用手机定个闹钟,就是定时器的使用. 工厂里通过传送带上安装传感器,传感器传输给计算机的信号用来计数. 这是一些很简单的应用,通过很小的一个芯片 ...
- 三层交换机原理:01路由器如何隔离广播域?
前言: 当网络规模较大的时候,需要设备来隔离广播域,防止网络中因产生广播风暴而导致网络效率降低,而二层交换机不能隔离广播域,所以需要三层路由器设备来隔离广播域! 但三层路由器为什么能够隔离广播域,是如 ...
- CRF(条件随机场)与Viterbi(维特比)算法原理详解
摘自:https://mp.weixin.qq.com/s/GXbFxlExDtjtQe-OPwfokA https://www.cnblogs.com/zhibei/p/9391014.html C ...
- BiLSTM-CRF学习笔记(原理和理解) 维特比
https://www.zhihu.com/question/20136144 维特比详解 BiLSTM-CRF 被提出用于NER或者词性标注,效果比单纯的CRF或者lstm或者bilstm效果都要好 ...
- 【Learning Notes】线性链条件随机场(CRF)原理及实现
1. 概述 条件随机场(Conditional Random Field, CRF)是概率图模型(Probabilistic Graphical Model)与区分性分类( Discriminativ ...
- Jieba分词原理与解析
1 HMM模型 马尔科夫过程: 以天气判断为例:引出隐马尔科夫模型 于是我们可以将这种类型的过程建模为有一个隐藏的马尔科夫过程和一个与这个隐藏马尔科夫过程概率相关的并且可以观察到的状态集合.这就是本文 ...
最新文章
- BI商业智能项目中的若干风险要素
- git常用基本简单命令
- golang中的strings.Join
- shell 脚本常用参数
- IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的...
- 如何解决JAVA环境变量配好后,重启电脑又失效的问题
- c语言指针化简带分数,c语言带分数四则运算问题!!!要求被调函数,化简.
- Android获取MAC地址
- linux系统认不到设备,linux中/dev/找不到设备
- Apache Flink Meetup 8.7 深圳站改为线上
- 梦幻西游qq表情包YR
- java一周实训的心得体会_java实习心得体会
- 合影效果java_6个姿势,教你拍好合影
- Radio RDS简介
- 50件关于学霸与学渣的小事
- Rosalind: DNA核苷酸计数和DNA翻译成RNA
- 文本框获取焦点后出现的边框,怎么去掉
- 聆听C++语言创建者的教诲
- 【180622】VC++不规则窗体编程跳棋游戏实例
- 民生银行京东三位大咖,手把手教你构建用户画像