數值優化學習之概覽(一)


問題:

優化一個目標函數f(x),滿足一些約束c(x),等式或者不等式。滿足約束的解成為可行解。

分類:

連續/離散優化問題

約束/非約束優化問題

線性/非線性優化問題

全局/局部優化問題

隨機/確定性優化問題

凸優化:

1、凸集:如果集合S為凸集,當且僅當 xS, yS α(x)+(1α)(y) inS;α[0,1]

2、凸函數:凸函數:如果函數f(x)為凸函數,當且僅當S為凸集,xS, yS; αf(x)+(1α)f(y)f(αx+(1α)y); α[0,1]

3、嚴格凸函數,凸函數能夠取到非等號,即α(0,1)

4、凸優化問題:對於標准形式目標函數為凸函數,等式約束為線性約束;不等式約束為凹函數。

無約束最優化問題:

在機器學習中,有大量的問題可以歸約為無約束最優化問題,例如線性回歸、LR等。因此對於無約束問題的研究也很深入從簡單的GD、SGD、TR到CG、Newton、(L-)BFGS等 
1. 無約束最優化問題可以表示為 minf(x); xn 
2. 全局最優解 VS 局部最優解 
* 全局最優簡單理解為在整個定義域內解最小 
* 局部最優:在某個鄰域內解最小 
3. 對於凸優化問題,任何局部最優解都是全局最優解。

局部最優解的幾個定理:

1、泰勒展開公式,根據泰勒公式對於函數f(x)可以近似為 
一階展開近似:f(x)f(x0)+f(x0)T(xx0) 
二階展開近似:f(x)f(x0)+f(x0)T(xx0)+12(xx0)T2f(x0)(xx0)

2、局部最小值的一階必要條件,如果 x 為局部最優解並且函數f一階可導,則在 x 的鄰域內 f(x)=0

3、局部最優解的二階必要條件,如果 x為局部最優解並且一階和二階可導,則f(x)=0 並且 2f(x)
證明:對於定理2,3的證明采用反證法。例如對於定理2. 假設 f(x)0, 則根據泰勒一階展開則可以找到f(x)T(xx)0

4、局部最優的二階充分條件:如果函數f在 x 處滿足f(x)=0並且2f(x),則 x 為局部最優解

5、如果函數f為凸函數,則f的任何局部最優解都為全局最優解。

優化算法概述:

在后面會介紹一系列解決該問題的算法,先介紹幾個簡單的概念。 
1. 通過數值優化算法求解,一般會給定初始點 x0,x1,x2,x3 ... xnx 
2. 通常有兩大類比較重要的策略 線搜索(Line Search)和信賴域(Trust Region) 
3. Line Search策略:假設在某點xk,尋找方向pk和步長α使得 min f(xk+αpk) 最小,如果pk確定則只需要解決一維最優化問題就可以找到下一個搜索點,如何確定pk后面介紹幾類策略,最簡單的策略就是當前點的梯度。 
4. Trust Region策略:在某店xk解決優化問題 min mk(xk+pk),其中mk為函數f在xk點的近似,同時為保證mk為一個較好的近似,即當pk 遠離 xk 時偏離太大,則需要保證xk+pk 在一個可信賴的區域內; 
5. 通常情況下信賴域選擇為橢圓、球或者盒狀區域,即一個凸集容易找到最優解。 
6. 模型mk一般可以選擇為函數f的泰勒二階近似,即

m(xk+p)f(xk)+f(xk)Tp+12pT2Bkp

其中Bk為Hessian矩陣或者其近似 
7. 以上兩類策略的相同點是在某點xk通過解決一個優化問題找到下一個搜索點。LS首先選擇方向pk通過解決一維最優化問題找到步長α;TR首先對步長進行約束,通過解決簡單的優化問題尋找搜索方向。

線搜索中的方向:

1、最速下降:負梯度方向 pk=fk

2、牛頓方向:pNk=(2fk)1fk

3、擬牛頓方向:pk=B1kfk

4、非線性共軛梯度方向:
pk=fk+βkpk1

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM