【機器學習筆記16】拉格朗日乘子法
【參考資料】 【1】《統計學習方法》 【2】《凸優化》 【3】小象學院 《凸優化》
凸集
直線和線段的表達
設是空間上的兩個點,具有存在下列定義的點: 組成一條過兩點的直線,當取值在0、1之間表示一個線段。
另外一種表述方式:即作為一個基點,直線表示為基點加上兩點距離乘以一個引數形成偏移的點的集合。
仿射集合
仿射定義: 對於存在
理解:這個集合對於線性變換具備封閉性
凸集
凸集定義:對於存在 從簡單幾何圖形上理解,即如下例
支撐超平面
超平面分離定理
超平面分離了兩個不相交的凸集C和D,其中也稱為超平面劃分出來的兩個半空間。
備註:當待分割的兩個集合不是凸集,則未必存在一個超平面能夠分割兩個集合,那麼這個時候如果取一個超平面能夠是分割後損失最小(即儘可能的分割清楚),就是類似SVM這樣的演算法要完成的事情。
通過做垂直於兩個凸集最短距離的超平面來作一個分割超平面,如下:
支撐超平面
定義: 對於任何滿足,則稱超平面是集合C在處的支撐超平面。
凸函式
凸函式定義
定義函式f:是凸的,如果domf(定義域)是凸集,且對於任意有:
保凸運算
- 非負加權求和
嚴格的凸(凹)函式的非負加權求和也是凸(凹)函式 $ f = w_1f_1 + w_2f_2 + … + w_nf_n$
- 複合仿射對映
若函式f是凸(凹)函式,則g也是凸(凹)函式
- 逐點最大或逐點上確界
若是凸函式,則仍然是凸函式
同時N條直線(凸函式)逐點求下确界是凹函式(必然有一個最大值,用在拉格朗日對偶中),如下圖:
拉格朗日對偶
凸優化問題定義:
假設是定義在空間上的連續可微函式,考慮約束最優化問題:
求解: 存在約束條件:
引入拉格朗日函式:
其中$ \alpha_i \quad \beta_j$是拉格朗日乘子。
當我們固定x時,只考慮,則拉格朗日函式可以看作是作為直線的函式集,那麼這些函式集的下确界構成一個凹函式,必然有極大值。
上圖的備註:
- 上圖針對最優化問題所構造的拉格朗日函式
- 左圖x軸紅線部分代表x的取值範圍,即最優化問題的約束
- 黑色實現代表原始函式f(x)
- 不同顏色的虛線,代表不同下的
- 左圖對左圖
- 可以得到結論,當我們對左圖求最大值,也就得到了原始問題f(x)的最小值(重要)
拉格朗日對偶性:
這部分用於理解為什麼拉格朗日對偶函式的最大值,能夠對應到原始函式的最小值。
重新來看拉格朗日函式的定義
由於是恆小於0的,因此整個的最大值是0。也就是說當