本文对这篇论文的简单描述算法
Optimization Methods for Large-Scale Machine Learning author:Leon Bottou Frank E. Curtisy Jorge Nocedalz
1.Introduction网络
随着大数据时代到来,尽管计算机硬件条件的改善,对于机器学习算法效率的要求并不会下降,而机器学习算法效率更多地依赖于数值优化方法的改进,于是有必要对近年来关于大规模机器学习中的优化算法作一个总结,以便更好地理清思路,肯定将来算法的改进方向。app
本文尝试解答如下问题:机器学习
1. 优化问题怎样在机器学习应用产生,以及面对怎样的挑战?函数
2. 在大规模数据应用中最普遍使用的优化方法?学习
3. 近年来关于优化方法设计上的进步,及在此领域的公开问题?大数据
经过机器学习中的两个例子尝试解答第一个问题,文本分类问题和深度神经网络感知问题;经过介绍随机梯度法的基本定理以及实际应用来讲明第二个问题;第三步主要介绍noise reduction method 和 the second-order method 以及关于正则模型的方法来讲明第三个问题优化
2. machine learning case studies设计
2.1 文本分类blog
肯定文本类别是天然语言处理的一个基本问题,好比我正在写的这篇文章应该归到哪一个类别。显然人工分类对于小样本文本很是有效,可是数量激增的话,远非人力所能处理,基于天然语言处理方面的知识,咱们能够用向量来表示一篇文档,那么问题就转化为基本的机器学习分类问题。
好比n个样本{(x1,y1),(x2,y2),...,(xn,yn)},xi 表示第i个文档向量,yi表示第i个文档所属类别。经过样本数据咱们学习一个预测函数h,来对未分类样本进行预测,那么咱们用经验风险偏差Rn(h)来评价预测学习的好坏
一般咱们能够将预测函数表示成 w表示h须要学习的参数,t表示一个偏置项,同时咱们须要一个合适的损失函数,好比
来替换(2.1)中的1,这样问题就变成一个比较纯粹的优化问题
,其中右边那项为正则项,防止模型太复杂过拟合。
2.2 深度神经网络
深度神经网络受启发于生物学上的神经学,但愿经过计算机来模拟人脑的学习过程。
2.3 总的来讲
问题描述:一个训练集 , 损失函数
, (能够为逻辑损失,合页损失等等) ,预测函数h(w;x)
要解决 ,记
, 实际应用通常为经验风险
,理论分析使用指望风险
,一般经验风险容易过拟合,须要加入正则项来泛化模型,即经常使用的结构风险最小化。即(2.3)所示。
3. overview of optimization methods
3.1 stochastic gradient method(SG)
首先表示经验风险,,f是l与h的复合函数,那么w的更新公式为
能够看出SG方法每次迭代只需计算一个梯度值,随机过程依赖于i_k的选取,不是梯度降低法,在指望上是降低的。
3.2 batch optimization methods
w的更新公式为
每次迭代需计算的数量与n成比例,每次迭代代价比SG要高,能够考虑并行化,而且有不少以此衍生的算法。
3.3 motivation for stochastic methods
直观上看: batch的数量增长,SG的仍是同样,对于n很是大,SG比较有利。
实践:
SG初始收敛速度很是快
例子
当SG迭代到w*附近时,就不太肯定继续迭代方向,这时速度就会变得很是慢。
3.4 Theoretical motivation
batch 方法在知足必定假设下能够达到线性收敛(几何收敛),每次迭代代价正比于n
SG能够同时实现R和Rn 次线性收敛 , 每次迭代与n无关
,
二者总的复杂度
当 R(w)-R(w*)<e
4. Analyses of Stochastic Gradient Methods
不失通常性,将指望风险R(w)和经验风险Rn(w)的目标函数表示以下
本节主要讨论SG算法的收敛性及迭代上界
以上算法就称之为SG, g主要为三种形式
4.1 两个基本引理
一般SG的收敛性证实,须要目标函数F的光滑性、假设F的梯度利普希茨连续,
根据这个猜测得出一个重要的不等式
由算法4.1知道 w(k+1)依赖于 ,{
}能够当作随机种子,
能够当作依赖于w(k)的分布,每次根据随机种子来挑选g,
对不等式取指望就获得(4.4) ,不等式左边第一项可降低,而第二项至关于噪音,干扰收敛。
猜测2
引理2
SG方法的收敛依赖于不等式右边两项的协调。
4.2 SG for Strong Convex Objectives
强凸目标函数在一些优化文献里经常被讨论,不只因为函此能获得较强的结论,实际实践也会遇到(如机器学习中的正则项)
强凸函数定义
如意获得
其中c<=L
定步长的收敛定理
当M=0时对于batch梯度法有线性收敛速度。M>0时收敛,存在噪声阻止收敛到最优解。
减少步长收敛定理4.7
考虑mini-batch与 single example 的比较
虽然batch每次迭代代价比single 大,可是可使用较大步长,收敛较快。
4.3 SG for General Objectives
非凸函数可能有多个局部最优解,要达到全局最优,相对较难。
定步长
步长减少
4.4 work complexity for large-scale learning
数据越大,每每能更好拟合数据,且不会过拟合,然而须要更多的训练时间。
定性分析, 是经验风险最小值点的逼近,花H是预测函数族,app--approximation error, est--estimation error, opt--optimization error
那么逼近偏差, Tmax 为时间预算
通过分析 T(n,e) 表示迭代次数, e*表示所能达到的最小逼近偏差
4.5 commentary
1 SG在渐近收敛是速度很是慢,对步长要求严格
2
5. noise reduction methods
从SG方法出发能够衍生出多种方法,从不一样方面来提高SG的稳定性及效率。
根据上面提到的噪声,本节主要介绍减少噪声的方法,来提升收敛速度。
主要3种方法 dynamic sampling,gradient aggregation,iterate averaging .
1. dynamic sampling
首先是前面的假设:
有定理
要使得成立, 令
就有
能够看到每次迭代的样本大小是增长的,总的复杂度
与SG的复杂度是同样的,为 O(1/e), 特别的取
实际上该方法不常采用。
2. gradient aggregation
主要是对梯度计算的处理来纠正梯度方向。 简介两种方法
SVRG (stochastic variance reduced gradient) 在内循环里随机抽取梯度,纠正误差。 g(~)是 Rn梯度的无偏估计。
SAGA (stochastic average gradient)
一样是线性收敛,g是Rn梯度的无偏估计。
3. iterative averaging
步长通常取降低速度为, 次线性收敛速度。
6. second-order methods