- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
机器学习中的优化算法
本⽂主要分机器学习和深度学习两部分介绍,介绍常⽤的优化算法。优化算法的重要性是不⾔⽽喻的,优化算法决定了损失函数的收敛
速度,甚⾄是损失函数是否容易收敛,是否会收敛在最⼩值处(全局优化)。
机器学习优化算法
1、梯度下降法
梯度下降法可以说是机器学习中最常⽤的算法,当然在深度学习中也会使⽤。不过⼀般使⽤的都是梯度下降法的变体—⼩批量梯度下降法,因为在样本较
⼤时使⽤全样本进⾏梯度下降时需要计算的梯度太多,导致计算量会⾮常⼤。梯度下降法是⼀种迭代算法,选取合适的初值$x^{(0)}$,不断的迭代更新$x$的
值,进⾏⽬标函数$f(x)$的极⼩化,直⾄⽬标函数收敛。由于负梯度⽅向是使得函数值下降最快的⽅向,因此在迭代的每⼀步,以负梯度⽅向更新$x$的值,从
⽽达到减⼩函数值的⽬的。
对于梯度下降法存在很多缺点:
1)对于⾮完全凸函数极容易陷⼊局部最优
2)对于⼤数据集时计算量很⼤
3)在接近最优区域时收敛速度⾮常慢,因为此时的梯度⾮常⼩
4)学习率难以⾃适应,通常变学习率要由于恒定的学习率。⼀般前期要加速下降,后期要抑制振荡。
对于梯度下降法的这些缺点,在机器学习中最常见的处理⽅式就是随机梯度下降(随机抽取⼀个样本,⽤其求梯度并作为本次下降的梯
度,但⼀般随机梯度下降很难收敛到最⼩值),或者⼩批量梯度下降(从样本中取⼩批量来求梯度,⽤平均值来作为本次的梯度下降)。在
深度学习中有更多的变种,这个后⾯再说。
2、⽜顿法
f(x),其中f(x)是在RD上具有⼆阶连续偏导的函数。假设第k次迭代值为x(k)
同样考虑⽆约束优化问题min,则根据⽬标函数的性质,我们
x
(k)
可以将f(x)在x的领域处进⾏⼆阶泰勒展开:
(k)(k)(k)(k)
其中gk=g(x)=∇f(x)为f(x)在x的梯度,H(x)是f(x)的海塞矩阵(Hessematrix),表达式为
对于⼆次函数求极⼩值可以通过偏导为零来求得(当海森矩阵是正定矩阵时,f(x)的极值就是极⼩值)
这样在第K+1步时的最优解
这种在领域内进⾏⼆次展开,并不断的通过求领域⾥的极⼩值来进⾏下降的⽅法就叫做⽜顿法
⽜顿法的下降速度会优于梯度下降法,⽜顿法在领域内是⽤⼆次曲⾯去拟合真实的局部曲⾯,⽽梯度下降法是⽤平⾯去拟合,因此⽜顿
法的结果是更接近真实值的。⽽且⽜顿法还利⽤了⼆阶导数信息把握了梯度变化的趋势,使得能够预测到下⼀步最优的⽅向,因此⽜顿法⽐
梯度下降法的预见性更远(梯度下降法每次都是从当前位置选择坡度最⼤的⽅向⾛,⽜顿法不仅会考虑当前坡度是否最⼤,还会考虑之后的
坡度是否最⼤),更能把握正确的搜索⽅向⽽加快收敛。
当然⽜顿法也有很多缺点:
1)⽬标优化函数必须是⼆阶可导,海森矩阵必须正定
2)计算量太⼤,除了计算梯度之外,还要计算海森矩阵以及其逆矩阵
3)当⽬标函数不是完全的凸函数时,容易陷⼊鞍点。
3、拟⽜顿法
拟⽜顿法旨在解决⽜顿法中的海森矩阵的问题。在你⽜顿法中考虑⽤⼀个D阶的正定矩阵来近似的代替海森矩阵的逆矩阵。这样就避免
要去计算逆矩阵。
(k+1)代⼊到下⾯的式⼦中
将x=x
可以得到
上式即为H满⾜的条件,称为拟⽜顿条件。若将G作为H−1的近似,则要求G满⾜同样的条件。⽽在每次迭代中,可以选择更新矩
kkkk
阵Gk+1:
不同的Gk的选择,就衍⽣出了不同的⽅法,常见的有DFP算法、BFGS算法(最流⾏的拟⽜顿法)等。
深度学习
深度学习中有很多对梯度下降法的变体算法,都是⽤来加速神经⽹络的优化的(神经⽹络中数据量太⼤了,计算量太,优化慢)
4、momentum动量法
如果把梯度下降法想象成⼀个⼩球从⼭坡到⼭⾕的过程,那么之前的梯度下降法的⼩球是这样移动的:从A点开始,计算当前A点的坡
度,沿着坡度最⼤的⽅向⾛⼀段路,停下到B。在B点再看⼀看周围坡度最⼤的地⽅,沿着这个坡度⽅向⾛⼀段路,再停下。⽽⼀个真
原创力文档


文档评论(0)