资源预览内容
第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
第9页 / 共23页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
梯度下降法,2017.6.13,1. 引言,梯度下降(GD)是最小化风险函数、损失函数的一种常用方法。 在应用机器学习算法时,通常采用梯度下降法来对采用的算法进行训练。,梯度下降法包含三种不同形式: 批量梯度下降BGD(Batch Gradient Descent ) 随机梯度下降SGD(Stochastic Gradient Descent ) 小批量梯度下降法MBGD (Mini-Batch Gradient Descent ) 下文将以线性回归算法为例来对三种梯度下降法进行比较,2. 先导知识,一元线性回归(拟合曲线) 假设这里存在m=6组数据(x, y),从图上可以看出,大致数据的大致走势是可以用线性模型y=kx+b来表示的,为此我们建立一维线性回归模型。 假设一维线性模型表达式如下:,其中: h(x)是假设函数,即要拟合的函数 为待求解参数,即要迭代求解的值, 求解出来了那最终要拟合的函数h(x)就确定了。 n表示输入特征数,为方便计算,所有的样本都加入了x0=1这个特征,所以维数为n+1维。,对应的损失/误差函数,即估计值与真实值之间的差距,这里用2-范数表示为: 其中: m是训练集的样本个数 1/2是为了后面求导计算方便,一个二维参数( 0 , 1 )组对应能量函数(描述整个系统的优化程度,随着网络的变化而减小,最终网络稳定时能量达到最小)的可视化图,3. 批量梯度下降法BGD,更新算法的目的:误差函数尽可能小,即求解参数使误差函数尽可能小。 主要思想: 首先,随机初始化参数; 然后,不断反复的更新参数使得误差函数减小,直到满足要求时停止。,梯度下降算法,利用初始化的参数并且反复更新参数: 代表学习率,表示每次向着函数J最陡峭的方向迈步的大小(步长?),(1)将J()对求偏导,得到每个对应的的梯度 当m=1时,即只有一个样本数据(x, y),J对第j个参数j的偏导数是:,对所有m个样本数据,上述损失函数的偏导(累和)为:,(2)由于是要最小化风险函数,所以按每个参数的梯度负方向,来更新每个j(j=0, 1, 2, , n),上例中,利用BGD求得,由更新公式可知,批量梯度下降得到的是一个全局最优解,每一次的参数更新都用到了所有的训练数据,如果训练数据非常多的话,执行效率较低。 批量梯度下降法的收敛图(迭代的次数相对较少):,4. 随机梯度下降法SGD,由于批梯度下降每更新一个参数的时候,要用到所有样本,所以训练速度会随着样本数量的增加而变得非常缓慢。 随机梯度下降正是为了解决这个办法而提出的。它是利用单个样本的损失函数对求偏导得到对应的梯度,来更新。,上例中,利用SGD求得,随机梯度下降是通过每个样本来迭代更新一次,如果样本量很大的情况(例如几十万),那么可能只用其中几万条或者几千条的样本,就已经将参数迭代到最优解。 对比上面的批量梯度下降,迭代一次需要用到十几万训练样本,一次迭代不可能最优,如果迭代10次的话就需要遍历训练样本10次。 SGD的问题是噪音较BGD要多,使得SGD并不是每次迭代都向着整体最优化方向。,随机梯度下降收敛图(SGD迭代的次数较多,在解空间的搜索过程看起来很盲目。但是大体上是往着最优值方向移动。),5. 小批量梯度下降法MBGD,为综合解决BGD的训练速度慢,以及SGD的准确性低的问题,提出MBGD 它是利用部分样本的损失函数对求偏导得到对应的梯度,来更新。,6. 总结,参考文献, ,畅想网络,Imagination Network,感谢观看!,文章内容来源于网络,如有侵权请联系我们删除。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号