目錄
- KTT介紹
- KTT的理解
- 內容詳解
一、KTT介紹:
KKT條件是泛拉格朗日乘子法的一種形式;主要應用在當我們的優化函數存在不等值約束的情況下的一種最優化求解方式;KKT條件即滿足不等式約束情況下的條件:
二、KTT的理解:
可行解必須在約束區域g(x)之內,由圖可知可行解x只能在g(x)<0和g(x)=0的區域取得;
1)當可行解x在g(x)<0的區域中的時候,此時直接極小化f(x)即可得到;如下圖左;
當可行解在約束內部區域的時候,令β=0即可消去約束。
2)當可行解x在g(x)=0的區域中的時候,此時直接等價於等式約束問題的求解,如下圖右。
對於參數β的取值而言,在等值約束中,約束函數和目標函數的梯度只要滿足平行即可,而在不等式約束中,若β≠0,則說明可行解在約束區域的邊界上,這個時候可行解應該盡可能的靠近無約束情況下的解,所以在約束邊界上,目標函數的負梯度方向應該遠離約束區域朝無約束區域時的解,此時約束函數的梯度方向與目標函數的負梯度方向應相同;從而可以得出β>0。如下圖所示:
對偶問題的直觀理解:最小的里面的那個最大的要比最大的那個里面的最小的大;從而就可以為原問題引入一個下界
另外對偶問題的解,可以參考以下博文:
https://blog.csdn.net/james_616/article/details/72869015
三、KKT條件總結
- 拉格朗日取得可行解的充要條件;
- 將不等式約束轉換后的一個約束,稱為松弛互補條件;
- 初始的約束條件;
- 初始的約束條件;
- 不等式約束需要滿足的條件
