強對偶性、弱對偶性以及KKT條件的證實(對偶問題的幾何證實)

1.原問題

首先給出問題的通常形式:
在這裏插入圖片描述
  上式代表咱們一共有M+N個約束條件,對於不是求最小值或者約束條件大於等於0的狀況,咱們添加一個負號就能夠變成上面這種形式。
  上述問題咱們通常稱之爲帶約束的原問題。


函數

  利用拉格朗日乘子法,咱們構造一個新的函數以及約束條件以下:
在這裏插入圖片描述
其中:在這裏插入圖片描述

優化

  咱們稱上面的問題爲無約束的原問題(對x再也不有約束)。上述L是拉格朗日乘子法的基本形式,這個就再也不證實。spa

2.對偶問題

  對於無約束的原問題,咱們先直接給出它的對偶問題形式(其實就是簡單交換min和max):
在這裏插入圖片描述
  上述問題咱們稱之爲原問題的對偶問題。

.net

2.1弱對偶性的通常證實

  所謂弱對偶性,指的是:
在這裏插入圖片描述
  在再談SVM(hard-margin和soft-margin詳細推導、KKT條件、核技巧)中,咱們大體口頭證實了弱對偶性的成立,即「鳳尾」>=「雞頭」。何謂「鳳尾」?我先選出最強的一批人( max ⁡ f \max f maxf),而後組成實驗班,實驗班倒數第一就是 min ⁡   max ⁡ f \min \ \max f min maxf;何謂「雞頭」?我先選出最弱的一批人( min ⁡ f \min f minf),而後在這批比較弱的人當中選出最強的那我的,也便是 max ⁡   min ⁡ f \max \ \min f max minf,那麼「雞頭」與「鳳尾」孰強孰弱,是顯而易見的。
  如今咱們利用數學推導來大體證實一下弱對偶性。
  對於 L ( x , λ , η ) L(x,\lambda,\eta) L(x,λ,η)這個函數,咱們知道下面這個不等式必定成立:
在這裏插入圖片描述
上面這個不等式很好理解,中間 L ( x , λ , η ) L(x,\lambda,\eta) L(x,λ,η)咱們能夠理解爲L的值域,值域裏面的任何一個數,必然是大於等於它的最小值,小於等於它的最大值。其實這一步已經證實出弱對偶性了,不過爲了更容易理解,咱們能夠進一步說明。
  上述不等式最左邊的表達式最後是關於 λ , η \lambda,\eta λ,η的一個函數,而最右邊是一個關於 x x x的函數,所以咱們又令:
在這裏插入圖片描述
所以咱們有:
在這裏插入圖片描述
證畢。










3d

2.2弱對偶性的幾何證實

  爲了使問題簡化,同時方便證實,咱們去掉原問題中等式的約束條件,同時不等式約束條件只保留一個,即原問題變成:
在這裏插入圖片描述
那麼拉格朗日函數就變成:
在這裏插入圖片描述
咱們又令:
在這裏插入圖片描述
p ∗ p^* p是原問題的最優解, d ∗ d^* d是對偶問題的最優解。證實弱對偶性實際上就是證實 d ∗ ≤ p ∗ d^*\leq p^* dp
  咱們令區域G的表達形式爲:
在這裏插入圖片描述







blog

D是原問題的定義域,G表示一個個點的集合,點的橫座標是約束條件 u = m 1 ( x ) u=m_{1}(x) u=m1(x),縱座標是原函數 t = f ( x ) t=f(x) t=f(x)
  有了上述集合G的定義以後,咱們就能夠對 p ∗ , d ∗ p^*,d^* p,d進行變式。
  首先對 p ∗ p^* p進行變式:
在這裏插入圖片描述
由於 t = f ( x ) t=f(x) t=f(x),因此 p ∗ p^* p實際上就是t的最小值,反映到集合G中去就是指一個點的縱座標,這個點要知足兩個條件:一是確定要在G中,二是 m 1 ( x ) ≤ 0 m_{1}(x)\leq0 m1(x)0也就是該點的橫座標小於等於0。
以下圖所示:
在這裏插入圖片描述
  咱們對 u ≤ 0 u\leq0 u0那部分,也就是圖中陰影部分上的每一個點,找到一個最低的點,它的縱座標就是 p ∗ p^* p
  接着對 d ∗ d^* d進行變形:
在這裏插入圖片描述
上述 t + λ u t+\lambda u t+λu的來源爲:
在這裏插入圖片描述
對變形後 d ∗ d^* d咱們令:
在這裏插入圖片描述
咱們先找到 g ( λ ) g(\lambda) g(λ)在圖中的位置:咱們知道 t + λ u t+\lambda u t+λu實際上也是一個值,咱們不妨令 t + λ u = k t+\lambda u=k t+λu=k,該式表示一條斜率爲 − λ -\lambda λ並過(0,k)的直線,咱們要找的是 t + λ u t+\lambda u t+λu的最小值,實際上就是k的最小值,實際上就是該直線與縱軸交點的最小值。而在求 min ⁡ x   t + λ u \min \limits_{x}\ t+\lambda u xmin t+λu的最小值時, λ \lambda λ固定的,所以斜率 − λ -\lambda λ也是固定的:
在這裏插入圖片描述
  咱們保持斜率不變移動直線,不斷往上移動,則該直線與縱軸交點的縱座標k也不斷增大,由於限制條件還有一個就是 ( u , t ) ∈ G (u,t)\in G (u,t)G,所以該直線必須通過區域G,咱們一直往上移動,直到直線第一次與G相交,記下相應的k值爲 k 1 k_{1} k1,再繼續往上也都知足條件,知道該直線與G再也不相交,可是如今咱們求得是最小值,那麼最小值其實就是 k 1 k_{1} k1,即 g ( λ ) g(\lambda) g(λ)就等於 k 1 k_{1} k1
  進一步,咱們要求:
在這裏插入圖片描述
這裏要重點注意:上一步咱們求得了 g ( λ ) g(\lambda) g(λ)就等於 k 1 k_{1} k1,可是這種狀況只是一種狀況,在上一步求 g ( λ ) g(\lambda) g(λ)時,咱們倘若改變斜率 − λ -\lambda λ,那麼 k 1 k_{1} k1的值是會變的,以下所示:
在這裏插入圖片描述
  咱們換一個 λ \lambda λ固定時, g ( λ ) g(\lambda) g(λ)也就是 k 1 k_{1} k1天然也就在變。
  第二步要乾的其實就是讓咱們求這個 g ( λ ) g(\lambda) g(λ)的最大值。那何時是最大的?實際上就是以G的最低點爲軸,咱們旋轉直線,直到與左上方最低點相交時, g ( λ ) g(\lambda) g(λ)是最大的。以下所示:
在這裏插入圖片描述






















圖片

  可能不少人就有疑問了:我爲何不可讓斜率繼續增大?讓直線穿過G?這裏有疑問的同窗不妨回憶一下第一個步驟:
在這裏插入圖片描述
咱們在肯定 g ( λ ) g(\lambda) g(λ)的時候,第一次相切咱們就中止了,然後改變斜率繼續相切:如上圖所示,假如你繼續增大斜率,那麼該直線就不跟G的最低點相切了。咱們是先推第一步再推第二步,而推第二步的時候確定必須知足第一步的條件,因此 d ∗ d^* d只能是在那個位置。
在這裏插入圖片描述
  從上圖也能夠看出來: d ∗ ≤ p ∗ d^*\leq p^* dp,也就是對偶問題的解是小於等於原問題的解的,也便是說知足弱對偶性。所以這裏咱們進一步證實了弱對偶性。



get

2.3強對偶性的幾何表示以及條件

  什麼是強對偶性?就是指原問題的解與對偶問題的解是相同的,也便是: d ∗ = p ∗ d^*=p^* d=p
  畫個圖:
在這裏插入圖片描述
  假設G是一個凸集,那麼根據上面找 d ∗ d^* d p ∗ p^* p的思路,咱們很容易知道這個時候兩者是相等的,也就是知足強對偶關係。
  那上面這句話的意思就是說:只要是凸集就必定知足強對偶關係。這句話不是正確的,不是全部的凸集都知足強對偶關係,可是加上slater條件就必定知足。



數學

2.4 slater condition

  先直接給出slater條件的定義:對於x的定義域D,若是它存在一個內點(不是邊界上的點) x ∗ x^* x知足對任意的 m i ( x ) < 0 , i = 1 , 2 , . . . , M m_{i}(x)\lt0,i=1,2,...,M mi(x)<0,i=1,2,...,M,則說明該問題知足slater條件。
  對slater條件作兩點說明:
it

  1. 對於大多數的凸優化問題來講,slater condition都是成立的
  2. 放鬆的slater條件:若是約束函數 m i ( x ) , i = 1 , 2 , . . . , M m_{i}(x),i=1,2,...,M mi(x),i=1,2,...,M中有K個是仿射函數,則咱們只須要那M-K個約束函數知足第一個條件,咱們也說該問題知足slater條件。
  3. 什麼是仿射函數?仿射函數,即最高次數爲1的多項式函數。常數項爲零的仿射函數稱爲線性函數。簡單來講,就是比較簡單的函數。

  對第一個條件進一步說明:爲何咱們要知足這個條件?第一個條件放在G中的意思就是:G在u<0部分必須有點存在
在這裏插入圖片描述
假設縱座標左邊沒有點,那麼在咱們尋找 g ( λ ) g(\lambda) g(λ)時,那條直線實際上就會是縱座標軸。

3.KKT條件的證實

  經過上面的推導咱們知道了:
在這裏插入圖片描述
知足強對偶關係以後咱們就獲得一個結論: d ∗ = p ∗ d^*=p^* d=p,可是也到此爲止了,咱們確定得解出那些未知最優參數(帶 * 的變量),KKT條件就是幹這件事。
  KKT條件有三部分:可行條件、互補鬆弛條件以及偏導爲0條件,咱們一個一個推導。


3.1可行條件

  所謂可行條件,指的是一開始就知足的一些條件:
在這裏插入圖片描述

這三個條件確定得知足,這個沒啥可說的,自然知足

3.2互補鬆弛條件

  咱們知道:
在這裏插入圖片描述
帶星號的都是最優解的意思。根據可行條件咱們知道: λ i ≥ 0 , m i ≤ 0 \lambda_{i}\geq0,m_{i}\leq0 λi0,mi0,因此 λ i m i ≤ 0 \lambda_{i}m_{i}\leq0 λimi0,因此上面繼續變換:
在這裏插入圖片描述
由於最後一步等於第一步,因此中間推導步驟中的 ≤ \leq 都應該變成=,倒數第三步等於倒數第二步,因此咱們有:
在這裏插入圖片描述
而前面咱們又知道 λ i m i ≤ 0 \lambda_{i}m_{i}\leq0 λimi0,因此互補鬆弛條件以下:
在這裏插入圖片描述






3.3偏導爲0條件

在這裏插入圖片描述
繼續看這個推導,第2、三步之間應該用等號鏈接,即:
在這裏插入圖片描述
意思就是說L在 x = x ∗ x=x^* x=x處有最小值,因而偏導爲0條件就出來了:
在這裏插入圖片描述
因而KKT條件爲:
在這裏插入圖片描述 證畢。

相關文章
相關標籤/搜索