大規模機器學習優化方法綜述

 

本文對這篇論文的簡單描述算法

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

相關文章
相關標籤/搜索