ubuntu之路——day8.3 RMSprop】的更多相关文章

RMSprop: 全称为root mean square prop,提及这个算法就不得不提及上篇博文中的momentum算法 首先来看看momentum动量梯度下降法的过程: 在RMSprop中: Compute dW,db on the current mini-batch SdW = βSdW  +  (1-β)dW2 Sdb  = βSdb +  (1-β)db2 W = W - α(dW / sqrt.SdW+ε),b = b - α(db / sqrt.Sdb+ε) 所以也就是说RMS…
基本上讲,Adam就是将day8.2提到的momentum动量梯度下降法和day8.3提到的RMSprop算法相结合的优化算法 首先初始化 SdW = 0 Sdb = 0 VdW = 0 Vdb = 0 On iteration t: compute dw,db using current Mini-batch VdW = β1vdW  +  (1-β1)dW Vdb  = β1vdb +  (1-β1)db    先做momentum SdW = β2SdW  +  (1-β2)dW2 Sdb…
所谓Mini-batch梯度下降法就是划分训练集和测试集为等分的数个子集,比如原来有500W个样本,将其划分为5000个baby batch,每个子集中有1000个样本,然后每次对一个mini-batch进行梯度下降 mini-batch大小 = m: 极限情况下,当mini-batch的单个子集样本数量和原集合大小一致都为m时,也就是说对原样本只划分一个子集,这意味着没有划分,此时的梯度下降法为原始的Batch梯度下降 batch方法意味着每次迭代对大量的数据进行处理,这意味着在进行深度神经网…
在mini-batch梯度下降法中,我们曾经说过因为分割了baby batch,所以迭代是有波动而且不能够精确收敛于最小值的 因此如果我们将学习率α逐渐变小,就可以使得在学习率α较大的时候加快模型训练速度,在α变小的时候使得模型迭代的波动逐渐减弱,最终收敛于一个较小的区域来得到较为精确的结果 首先是公式1学习率衰减的标准公式: 其中decay rate即衰减率,epoch-num指的是遍历整个训练集的次数,α0是给定的初始学习率 其次是公式2指数衰减公式: 其中,0.95是一个小于1的初始值,可…
首先感谢吴恩达老师的免费公开课,以下图片均来自于Andrew Ng的公开课 指数加权平均法 在统计学中被称为指数加权移动平均法,来看下面一个例子: 这是伦敦在一些天数中的气温分布图 Vt = βVt-1 + (1 - β)θt  β指的是加权系数 0<β<1 θt 指的是当前时刻的温度 当β=0.9的时候 1/1-β = 10 所以看到上图的红线其实就是考虑了10天之内的平均气温,其拟合度较好 当β=0.98的时候 1/1-β = 50 所以上图中的绿线是考虑了50天之内的平均气温,于是这种平…
Python之路,Day8 - Socket编程进阶   本节内容: Socket语法及相关 SocketServer实现多并发 Socket语法及相关 socket概念 socket本质上就是在2台网络互通的电脑之间,架设一个通道,两台电脑通过这个通道来实现数据的互相传递. 我们知道网络 通信 都 是基于 ip+port 方能定位到目标的具体机器上的具体服务,操作系统有0-65535个端口,每个端口都可以独立对外提供服务,如果 把一个公司比做一台电脑 ,那公司的总机号码就相当于ip地址, 每个…
总结一下就是在提升偏差的方面(即贝叶斯最优误差和训练误差的差距) 1.尝试更大更深的网络 2.加入优化算法比如前面提过的momentum.RMSprop.Adam等 3.使用别的神经网络架构比如RNN/CNN等等 在提升方差的方面(即训练误差和测试误差的差距) 1.加大训练集的样本数量 2.正则化操作,如L2.dropout.Data Augmentatio数据扩增.early stop等 3.使用别的神经网络架构比如RNN/CNN等等…
Batch Norm的意义:Covariate shift的问题 在传统的机器学习中,我们通常会认为source domain和target domain的分布是一致的,也就是说,训练数据和测试数据是满足相同分布的.这是通过训练数据获得的模型能够在测试集上获得好的效果的一个基本保障. Convariate Shift是指训练集的样本数据和目标样本集分布不一致时,训练得到的模型无法很好的Generalization.它是分布不一致假设之下的一个分支问题,也就是指Sorce Domain和Targe…
因为要上手深度学习的原因,购置了一台RTX2080TI+ubuntu18.04的机器 例行两条命令 sudo apt-get update sudo apt-get upgrade 开启巨坑第一天,以前只在虚拟机上用过ubuntu,今天开箱之后因为用户名和主机名的问题我重装了ubuntu,问题一,参考了网上各种创建用户和主机并删除以前用户组的方法,改了好多系统文件结果gg,卡黑屏,没办法只能重装. 重装后遇见的问题二,nvidia驱动问题,因为N卡厂商的闭源行为和linux闹得不是很愉快,因此以…
类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份. 一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 country = '中国'def __init__(self, name): #…