大规模机器学习优化方法综述
Posted who_a
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大规模机器学习优化方法综述相关的知识,希望对你有一定的参考价值。
本文对这篇论文的简单描述
Optimization Methods for Large-Scale Machine Learning author:Leon Bottou Frank E. Curtisy Jorge Nocedalz
1.Introduction
随着大数据时代到来,尽管计算机硬件条件的改善,对于机器学习算法效率的要求并不会降低,而机器学习算法效率更多地依赖于数值优化方法的改进,因而有必要对近年来关于大规模机器学习中的优化算法做一个总结,以便更好地理清思路,确定未来算法的改进方向。
本文尝试解答以下问题:
1. 优化问题怎样在机器学习应用产生,以及面对怎样的挑战?
2. 在大规模数据应用中最广泛使用的优化方法?
3. 近年来关于优化方法设计上的进步,及在此领域的公开问题?
通过机器学习中的两个例子尝试解答第一个问题,文本分类问题和深度神经网络感知问题;通过介绍随机梯度法的基本定理以及实际应用来说明第二个问题;第三步主要介绍noise reduction method 和 the second-order method 以及关于正则模型的方法来说明第三个问题
2. machine learning case studies
2.1 文本分类
确定文本类别是自然语言处理的一个基本问题,比如我正在写的这篇文章应该归到哪个类别。显然人工分类对于小样本文本非常有效,但是数量激增的话,远非人力所能处理,基于自然语言处理方面的知识,我们可以用向量来表示一篇文档,那么问题就转化为基本的机器学习分类问题。
比如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
以上是关于大规模机器学习优化方法综述的主要内容,如果未能解决你的问题,请参考以下文章