如果本文有錯誤,特別歡迎大家指出。
目標: 我們的目標是在一定的限制條件下找到一個函數的最大、最小值。
正式的描述: 給定目標函數和定義在上的函數和,求函數的極值。數學表示爲:
對於這個問題,下面會在以下4種情況下,得出(局部)最優的充分必要條件
- 沒有限制
- 只有等式限制(拉格朗日)
- 只有不等式限制(KKT)
- 有不等式和等式限制
1.沒有限制的優化
假設:是一個連續可微函數。
局部最小的充分必要條件是:
是函數的局部最小點,當且僅當:
- 在處的梯度爲0,即
- 函數的Hessian陣在是半正定的,即
是函數的局部最大點,當且僅當:
- 在處的梯度爲0,即
- 函數的Hessian陣在是半負定的,即
2 受限的優化:等式約束
受限等式約束優化問題:
函數的等值線:
加上可行區域(feasible region):
加上可行點:
尋找一個滿足且,就可以實現優化的一小步。
從點移動需要滿足:
圖示爲:
留在約束面上的條件:求約束的法線。如圖:
留在約束面上的條件如圖:
爲了讓在約束面上的點移動後依然在約束面上,這個點移動的方向要和法線正交。
總結:
如果點在約束面上,
- 設置與正交,可以保證
- 只有當,纔有
當和平行的時候,就是局部最小點。如圖:
還記得我們的優化問題是:
多個不等式限制的問題爲:
構造Lagrangian(對每個等式限制引入一個乘子):
3 受限優化:不等式約束
考慮問題:
圖示一下:
我們怎麼認定是局部最小值呢?
所以最小值的條件和無限制情況下相同,即:
問題(滿足上述條件的可行解不在可行閾之內):
圖示一下:
怎麼確定是一個局部最小值?
這相當於把不等式約束轉化爲等式約束。如圖:
總結:
最後KKT條件爲: