本文對這篇論文的簡單描述算法
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