1. 程式人生 > >【優化】梯度下降 收斂性 證明

【優化】梯度下降 收斂性 證明

梯度下降方法的收斂率是O(1/t)

本文首先介紹梯度下降演算法的定義,之後解釋收斂性的意義,並給出梯度下降演算法收斂性詳細證明過程1

梯度下降演算法

設系統引數為x。對於樣本i,其代價函式為fi(x)。在n個樣本組成的訓練集上,其整體代價函式為:

f(x)=i=1nfi(x)

要求ω使得上式最小,由於沒有閉式解,需要通過近似迭代逐步逼近。

梯度下降(Gradient Descent)以η為學習率,在每次迭代中用一階泰勒展開近似:

xt+1=xtηf(x)

x的維度為D,代價函式f是個標量,梯度f(x)也是一個D維向量。

序列的收斂性

基礎定義

有序列{xt},如果序號t趨於無窮時,滿足以下條件:

limtxt+1xxtx=μ
則稱該方法收斂到x,收斂率為μ, μ(0,1)。也稱為以μ收斂到x

例:數列1,1/2,1/4,1/8...收斂到L=0,收斂率為1/2

擴充套件定義

還有一些序列也會隨著序號趨於某個定值,但是收斂的速率隨著下標發生變化。這裡引入一個擴充套件的收斂率定義。
如果存在序列{ϵt},根據基礎收斂率定義,以收斂率μ收斂到0。
則如果序列{xt}滿足:

|xtx|<ϵt
稱該方法收斂到x,收斂率為ϵt

例:數列{1,1,1/4,1/4,1/16,1/16…}收斂到L=

0,收斂率為ϵt=12t1={2,1,1/2,1/4,1/8,1/16…}。

梯度下降的收斂性

當我們說“梯度下降的收斂性為1/t”時,我們指的是:

t趨於無窮時,代價函式f(xt)收斂到最優解f(x),收斂率為ϵt=O(1/t)

引理

這部分為收斂性證明做準備,步驟較曲折,請關注大流程。

Lipschitz連續

如果標量函式f(x)滿足如下條件,稱其滿足Lipschitz連續性條件

|f(x1)f(x2)|L||x1x2||
其中||x||表示向量的模長,L稱為Lipschitz常數。對於固定的fL是一個定值。
這個條件對函式值的變化做出了限制。

β
平滑

進一步,如果函式f(x)的梯度滿足值為β的Lipschitz連續,稱函式f(x)β平滑:

||f(x)f(y)||2β||xy||2

其中||x||2=xTx。這個條件對函式梯度的變化進行了約束:梯度之差的模長,不會超過自變數之差模長的常數倍。