优化算法基本原理

来源:互联网 发布:淘宝客服招聘网上兼职 编辑:程序博客网 时间:2024/06/06 03:39

优化算法基本原理


机器学习就两个问题,一个是model的定义,一个就是如何优化,model是战略,优化则是执行。

在Caffe现在的版本中,主要使用了三种优化算法SGD、AdaGrad、以及NAG,这三种算法快速、高效,缺点就是极容易收敛到局部极值点或者不容易收敛。

a.就个人理解来说,对于大数据的处理,算法的高效率要稍微优于精度。对于大规模的非线性优化来说,通过不断的调参可以有效的降低局部收敛或者不收敛的状况,从某种意义上说机器学习的本质就是调的一手好参:),是经验活也是体力活。
b.至于哪种算法好,可能要针对问题做选择。在几个月前,余凯老师在出门问问组织的一次学术活动中提到,目前工业界最为常用的算法就是mini-batchSGD,性价比最高,其他的一些算法更多的是学术上的目的。

1. 关于stochastic approximation

一般性的优化目标函数都由两部分组成,一个是loss term,一个是regularisationterm,如下所示,前者就是根据model的形式定义的energy function,后者则对于参数的解空间进行了限制。

其中D为数据集,最后的目标函数就是在数据集上的平均。当数据集小的时候,计算量不算很大,但是当数据量非常大的时候,这种策略就会使得计算效率下降,由此引出了stochasticapproximation的策略,也就是使用随机子集对于原函数近似的思路。

其中N<<D,这种策略成功的一个关键点就是大量的数据,主要原因有:

a.使用子集拟合出的函数只代表子集的特征,因此单一的子集不可避免会带来误差。
b.随着数据的增加,随机子集的数量越来越多,从概率上讲,其中接近真实函数的分布的的子集会占多数,因此总体上而言,拟合的函数会越来越接近全部数据拟合的函数。

2. Stochastic gradient decent(SGD)算法

优化算法就是看迭代公式,关键的就是步长和方向。

caffe中SGD权重迭代公式如下,W_{t}为t时刻的参数,V_{t}为t时刻的增量,a为learningrate,u为前一次更新的权重

通过调节a和u可以有效的改变迭代速度以及迭代的方向。可以看出W_{i}的更新是和上次增量以及梯度线性相关的的。

在Caffe的文档中给出了一个基本的调参规则

a. 初始的learning rate建议设置为0.01。
b. 在迭代过程中当loss到达了一个明显的“plateau”的时候,则以10倍的速度drop learningrate,相当于稍微减少步长,
c. u是一个调解参数,一般设置为0.9,这个参数起到一个平滑的作用,可以让SGD算法更加稳定和快速
d. u和a是一个反相关的,增加u,则降低a,反之亦然。

3. AdaGrad算法

迭代规则为

其中i是指的W中的每一个维度。这个迭代规则的意思是采用前面的所有时间的梯度生成一个归一化的因子,对当前的梯度进行一次尺度变换。这个尺度的含义就是如果前面函数梯度大,那么当前增量的加速度就小一点,反之则大一点;整个趋势还是随着迭代的次数增加,增量放缓。

4. Nesterov‘s accelerated Gradient (NAG)

这个算法严格的说来是凸优化中的算法,具有O(1/t^2)的收敛率,收敛速度比较快。因为DNN是一个non-convex的model,所以NAG方法并不能达到这个收敛速度。caffe文档中指出,这个方法对于某些deeplearning的 architecture是非常有效的。

这个公式和SGD方法很类似,不同之处在于其梯度项,不再是简单的当前位置的梯度,而是当前位置加上增量之后的新位置处的梯度。

5. 一点思考

5年前随着Sparserepresentation的热潮的兴起,做很多老的凸优化的算法在新的计算机视觉任务中显示出了巨大的能力,比如APG、NAG、ADMM等,人们发现了有趣的现象,效率高优化算法往往都是老算法,越老效率越高,主要原因是早些时候,计算能力非常有限,早期的数学家只好真正从算法中挤水分;随着时代的发展,计算能力强了,算法效率差不多就行了;现在到了大数据时代,效率终于又成为了瓶颈,所以老算法又焕发了第二春。另外一些二阶段方法Newton,LBFGS等因为数据存储量以及计算量大,在大规模的数据中可能不如最简单的SGD类方法好用,当然选用什么算法,要视计算资源以及计算任务而定。
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 遇到卖保险的人怎么办 租房合同没理家电清单怎么办 普雪油烟机坏了怎么办 我累了 真的累了怎么办 u盘15g变成4g了怎么办 属兔的买了东户怎么办 玩时时彩输了2万怎么办 胸变的又软又小怎么办 u盘16g变成4g了怎么办 1岁宝宝吃了就吐怎么办 脚崴了肿了很痛怎么办 九格拼图5在9那怎么办 4s锁屏密码忘了怎么办 6p触屏偶尔乱跳怎么办 新办劳务公司的劳务资质怎么办 汽车没电了打不着火怎么办 吃凉的甜的牙疼怎么办 学车对点对不上怎么办 发现老公有外遇最明智的怎么办 想开个童装店但是没经验怎么办 母乳不够吃宝宝又不喝奶粉怎么办 掉头发很厉害怎么办有什么偏方 红米2a刷死机了怎么办 公司退市我们买的股票怎么办 黑魂3把npc杀了怎么办 摔倒了膝盖摔肿了又痛怎么办 厕所堵了怎么办疏通马桶有妙招 月经不来怎么办如何让它快点来 苹果手机进水了开不了机怎么办 苹果5s进水了怎么办修要多少钱 吃了过期3年的药怎么办 离婚后孩子的抚养费不给怎么办 小车钥匙丢了怎么办配要多少钱 一键启动的车钥匙丢了怎么办 股票退市了手里的股票怎么办 3d硬金以后要换怎么办 偏指甲红肿长在了肉里怎么办 牙齿黄怎么办教你牙齿美白小窍门 2岁孩门牙磕断了怎么办 脸上用了含激素的产品应该怎么办 身上起红疙瘩水泡很痒怎么办