91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

徐土豆
認證:優質創作者
所在專題目錄 查看專題
《SVM筆記系列之一》什么是支持向量機SVM?
《SVM筆記系列之二》SVM的拉格朗日函數表示以及其對偶問題
《SVM筆記系列之三》拉格朗日乘數法和KKT條件的直觀解釋
《SVM筆記系列之四》最優化問題的對偶問題
作者動態 更多
給定計算預算下的最佳LLM模型尺寸與預訓練數據量分配
05-19 09:33
大模型推理時的尺度擴展定律
05-18 10:32
世界多胞體與世界模型
05-13 09:42
獎勵模型中的尺度擴展定律和獎勵劫持
05-12 08:41
MeCo——給預訓練數據增加源信息,就能減少33%的訓練量并且提升效果
05-08 09:13

《SVM筆記系列之三》拉格朗日乘數法和KKT條件的直觀解釋

本文轉自徐飛翔的“《SVM筆記系列之三》拉格朗日乘數法和KKT條件的直觀解釋

版權聲明:本文為博主原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接和本聲明。

最優化問題

我們在高中,包括在高數中都會經常遇到求解一個函數的最小值,最大值之類的問題,這類問題就是屬于最優化問題。比如給出下列一個不帶有約束的最優化問題:

其中的我們稱為目標函數(objective function)。這樣的問題,直接利用**羅爾定理(Rolle’s theorem)**求出其鞍點,又因為其為凸函數而且可行域是整個,求出的鞍點便是最值點,這個是對于無約束最優化問題的解題套路。如果問題帶有約束條件,那么就變得不一樣了,如:

因為此時的約束條件是仿射函數(affine function)1,所以可以利用換元法將X表示為Y的函數,從而將目標函數變為無約束的形式,然后利用羅爾定理便可以求出最值點了。然而如果約束條件一般化為,那么X就不一定可以用其他變量表示出來了,這個時候就要利用 拉格朗日乘數法(Lagrange multipliers ) 了。

拉格朗日乘數法(Lagrange multipliers)我們先一般化一個二元最優化問題為( 2.1 ) 形式:

將目標函數和等式約束條件畫出來就如下圖所示:

其中的虛線為等高線,而紅線為這個約束函數曲線與的交點的連線在平 面 映射。其中,假設有? , 點為最小值點(最優值點)。從直觀上可以發現,在的非最優化交點A,B,C,D上,其的法線方向并不是共線的,注意,這個相當關鍵,因為如果不是共線的,說明的交點中,還存在可以取得更小值的點存在。對于A點來說,B點就是更為小的存在。因此,我們從直覺上推論出只有當的法線共線時,才是最小值點的候選點(鞍點)。推論到多元變量的問題的時候,法線便用梯度表示。于是,我們有原問題取得最優值的必要條件:

(2.2)其中的表示兩個梯度共線。可以簡單的變形為:

讓我們去掉梯度算子,得出

這個時候取個負號也是不影響的,所以式子(2.4)通常寫作:

看!我們得出了我們高數中經常見到的等式約束下的拉格朗日乘數函數的表示方法

多約束的拉格朗日乘數法

以上,我們討論的都是單約束的拉格朗日乘數法,當存在多個等式約束時(其實不等式約束也是一樣的),我們進行一些推廣。先一般化一個二元多約束最小化問題:

對于每個目標函數和約束配對,我們有:

將上式相加有:

定義多約束的拉格朗日函數為:

因為λ是常數,表示共線的含義而已,所以乘上一個常數也不會有任何影響,我們仍然用表示,因此式子( 2.8 ) 變成:

這就是多約束拉格朗日乘數法的函數表達形式。

一個計算例子

讓我們舉一個單約束的拉格朗日乘數法的計算例子,例子來源于引用3。給出一個最大化任務

圖像如:

只有一個約束,使用一個乘子,有拉格朗日函數:

按照條件求解候選點:

根據式子( i ) ( i i ) ( i i i ) , 解得有:

代入f ( x , y ),得到:2, -2, 0,也就是我們需要求得的最大值,最小值。可以從圖中看出,我們觀察到其等高線與約束投影線的確是相切的。

廣義拉格朗日乘數法(Generalized Lagrange multipliers)上面我們的拉格朗日乘數法解決了等式約束的最優化問題,但是在存在不等式約束的最優化問題(包括我們SVM中需要求解的最優化問題)上,普通的拉格朗日乘數法并不能解決,因此學者提出了廣義拉格朗日乘數法(Generalized Lagrange multipliers), 用于解決含有不等式約束的最優化問題。這一章,我們談一談廣義拉格朗日乘數法。

首先,我們先一般化我們的問題,規定一個二元標準的帶有不等式約束的最小化問題(當然可以推廣到多元的問題),如:

類似于拉格朗日乘數法,參照式子( 2.9 ) ,我們使用作為等式約束和不等式約束的拉格朗日乘子,得出下式:

KKT條件(Karush–Kuhn–Tucker conditions) 指出,當滿足以下幾個條件的時候,其解是問題最優解的候選解(摘自wikipedia)。

Stationarity

對于最小化問題就是:

對于最大化問題就是:

Primal feasibility

Dual feasibility

Complementary slackness

其中的第一個條件和我們的拉格朗日乘數法的含義是相同的,就是梯度共線的意思;而第二個條件就是主要約束條件,自然是需要滿足的;有趣的和值得注意的是第三個和第四個條件,接下來我們探討下這兩個條件,以及為什么不等式約束會多出這兩個條件。

為了接下來的討論方便,我們將N設為3,并且去掉等式約束,這樣我們的最小化問題的廣義拉格朗日函數就變成了:

繪制出來的示意圖如下所示:

其中,而藍線為最優化尋路過程。

讓我們仔細觀察式子( 3.7 )和( 3.8 ),我們不難發現,因為,并且需要滿足,所以之中必有一個為0,那為什么會這樣呢?

我們從上面的示意圖入手理解并且記好公式( 3.3 )。讓我們假設初始化一個點A, 這個點A明顯不處于最優點,也不在可行域內,可知違背了( 3.5 ) ,為了滿足約束( 3.8 ) ,有,導致,而對于,因為滿足約束條件而且,所以。這樣我們的式子( 3.3 )就只剩下,因此對著進行優化,也就是沿著梯度方向下降即可,不需考慮其他的條件(因為還完全處于可行域之外)。因此,A點一直走啊走,從A到B,從B到C,從C到D,這個時候因為D點滿足,因此,所以,因此( 3.3 ) 就變成了所以在優化下一個點E的時候,就會考慮到需要滿足約束的條件,朝著向減小,而且減小的方向優化。因此下一個優化點就變成了E點,而不是G點。因此沒有約束的情況下其優化路徑可能是,而添加了約束之后,其路徑變成了

這就是為什么KKT條件引入了條件3和條件4,就是為了在滿足不等式約束的情況下對目標函數進行優化。讓我們記住這個條件,因為這個條件中某些的特殊性質,將會在SVM中廣泛使用,而且正是這個性質定義了支持向量(SV)。

Q & A

這里回答下知乎的朋友的一些問題,鏈接為:《SVM筆記系列之三》拉格朗日乘數法和KKT條件的直觀解釋。主要有兩個問題。

  1. 戰勝: 最開始分析你說g1,g3都非零,所以α1=0,α3=0;照你這么分析的話,后面的3個不等式項都是零呀,都是無約束了!

A:因為在A,B,C點時處在可行域之外,因此所有的都為0,這個保證了在可行域之外會按照的梯度方向進行優化,而不需要考慮其他約束。這就退化到了一般的無約束優化了。這個也是可以理解的,畢竟在可行域之外為什么需要考慮約束的作用呢?

2. 安夢徒生: 看不懂為什么往E的方向

A: 在D這個點剛好到可行域的邊界,因此按照上面的分析,梯度方向應該是,因此應該是梯度方向的合成,而不單是某個約束函數的梯度方向。我這里假設他的合成梯度方向到達的點是E點作為示例而已。

引用

拉格朗日乘子法如何理解? 知乎

《統計學習方法》 豆瓣

《【直觀詳解】拉格朗日乘法和KKT條件》 微信公眾號

《解密SVM系列(一):關于拉格朗日乘子法和KKT條件》 CSDN

Karush–Kuhn–Tucker conditions wikipedia

最高次數為1的多項式,形如,其中X 是的仿射矩陣,其與線性函數的區別就是,線性函數是沒有偏置項B。 

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 2
收藏 1
關注 52
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧
主站蜘蛛池模板: SHOW| 济源市| 左贡县| 平遥县| 巴塘县| 武邑县| 焦作市| 卢氏县| 邓州市| 湖口县| 萨迦县| 筠连县| 广元市| 溧水县| 兰州市| 盱眙县| 洛扎县| 南开区| 绿春县| 固阳县| 江油市| 信阳市| 屏山县| 茂名市| 瑞金市| 衢州市| 剑阁县| 黑河市| 保山市| 荣昌县| 石狮市| 东光县| 乌兰浩特市| 西和县| 鄯善县| 西吉县| 稻城县| 临清市| 临猗县| 凌海市| 温泉县|