歡迎來到本系列的第四篇文章。我們已經知道,訓練一個AI模型,本質上是在尋找一組參數,使得描述模型“有多差”的損失函數 L ( θ ) L(\theta) L(θ) 達到最小值。微積分給了我們強大的工具——梯度下降,告訴我們如何一步步地向著最優解前進。
然而,梯度下降就像一個蒙著眼睛的登山者,他只知道腳下哪塊地勢更低,就往哪兒挪一小步。這種策略在平緩的山坡上或許有效,但如果遇到崎嶇復雜、充滿懸崖峭壁和山谷的地形,就很容易陷入困境。更重要的是,如果登山規則要求他必須在某個特定的區域內活動,他該如何是好?
優化理論,就是為這位登山者提供高級導航系統和行動策略的科學。它研究的,是如何在給定目標(最小化或最大化某個函數)和一系列約束條件下,系統性地找到最優解。它將我們從“盲目地走一步看一步”提升到“制定全局最優策略”的高度。準備好了嗎?讓我們開始這場關于“最優”的智慧之旅。
第一部分:理想的尋寶地圖 —— 凸優化
在深入復雜的現實世界之前,我們先來研究一種最理想、最美好的情況——凸優化 (Convex Optimization)。如果一個優化問題是凸的,那么它就擁有一個神圣的屬性:任何局部最優解都是全局最優解。
這意味著什么?對于我們那位蒙著眼睛的登山者來說,只要他走到了一個山谷的谷底(局部最小值),他就可以百分之百地確定,這里就是整個山脈的最低點(全局最小值)。他再也不用擔心自己是不是被困在了一個小土坑里,而真正的萬丈深淵還在別處。這個特性,讓優化問題從一個充滿不確定性的探索,變成了一個必然能找到最終答案的計算。
什么是“凸”?
要理解凸優化,我們首先要理解兩個核心概念:凸集 (Convex Set) 和 凸函數 (Convex Function)。
-
凸集
一個集合是凸的,如果集合內的任意兩點,連接它們的線段也完全包含在這個集合之內。
上圖中,左邊的橢圓是凸集,因為你無論怎么在里面選兩點,它們的連線都不會跑出去。而右邊的月牙形就是非凸集,因為我們可以輕易找到兩個點,其連線的一部分落在了集合之外。在優化問題中,我們尋找的解(參數)通常被限制在一個可行域內,如果這個可行域是一個凸集,事情就變得簡單多了。 -
凸函數
一個定義在凸集上的函數是凸函數,如果對于定義域中的任意兩點 x 1 , x 2 x_1, x_2 x1?,x2?,連接 ( x 1 , f ( x 1 ) ) (x_1, f(x_1)) (x1?,f(x1?)) 和 ( x 2 , f ( x 2 ) ) (x_2, f(x_2)) (x2?,f(x2?)) 的線段,總是位于函數圖像的上方(或恰好在圖像上)。
直觀上看,凸函數的圖像就像一個“碗”。無論你在碗邊的哪個位置,只要你往下走,最終都必然會到達唯一的碗底。而非凸函數則像一個坑坑洼洼的蛋托,有很多個“坑”,如果你不幸掉進一個比較淺的坑(局部最小值),你可能就出不來了,也就錯過了那個最深的坑(全局最小值)。
凸優化的威力與AI的聯系
一個凸優化問題,指的是在一個凸的可行集上,最小化一個凸函數。
min ? x f ( x ) subject?to g i ( x ) ≤ 0 , i = 1 , … , m h j ( x ) = 0 , j = 1 , … , p \begin{aligned} \min_{\mathbf{x}} \quad & f(\mathbf{x}) \\ \text{subject to} \quad & g_i(\mathbf{x}) \le 0, \quad i=1, \dots, m \\ & h_j(\mathbf{x}) = 0, \quad j=1, \dots, p \end{aligned} xmin?subject?to?f(x)gi?(x)≤0,i=1,…,mhj?(x)=0,j=1,…,p?
如果目標函數 f f f 是凸的,不等式約束函數 g i g_i gi? 也是凸的,等式約束函數 h j h_j hj? 是仿射的(即形如 a T x ? b = 0 \mathbf{a}^T\mathbf{x} - b = 0 aTx?b=0),那么整個問題就是凸優化問題。
為什么這在機器學習中至關重要?
因為許多基礎且強大的機器學習模型,其求解過程恰好就是凸優化問題!
- 線性回歸:其損失函數是均方誤差(MSE),這是一個經典的二次函數,是凸的。
- 邏輯回歸:其損失函數是交叉熵,在合適的參數化下也是凸的。
- 支持向量機 (SVM):我們稍后會詳細講,它的原始形式也是一個凸的二次規劃問題。
當一個問題可以被表述為凸優化時,我們就有理論保證,通過梯度下降等算法,我們找到的解就是全局最優解,不存在“運氣不好陷入局部最優”的情況。這為這些模型的可靠性和穩定性提供了堅實的數學基礎。
然而,現代深度學習的世界則要復雜得多。一個擁有數億參數的神經網絡,其損失函數地貌(Loss Landscape)是極其復雜的非凸函數,充滿了無數的局部最小值、鞍點和高原。盡管如此,凸優化的思想仍然是理解所有優化算法的起點。它為我們建立了一個理想的參照系,讓我們明白在“完美世界”里優化是如何工作的,從而更好地理解和設計在“不完美世界”里掙扎的算法。
第二部分:戴著鐐銬跳舞 —— 拉格朗日乘子法
凸優化為我們描繪了一幅美好的藍圖,但它主要處理的是無約束或約束相對簡單的情況。現實中的問題,往往伴隨著各種復雜的等式約束和不等式約束。比如,在資源分配問題中,總預算不能超;在工程設計中,某些部件的尺寸必須精確等于某個值。
我們如何處理這些“鐐銬”呢?直接在受限的空間里進行梯度下降是非常困難的,因為梯度的方向很可能指向約束區域的外部。我們需要一種更強大的方法,將一個有約束的優化問題,轉化為一個我們更擅長解決的無約束優化問題。
這個神奇的轉化工具,就是拉格朗日乘子法 (Lagrange Multipliers)。
等式約束的直觀理解
讓我們從最簡單的情況開始:一個目標函數 f ( x , y ) f(x, y) f(x,y) 和一個等式約束 g ( x , y ) = c g(x, y) = c g(x,y)=c。我們的目標是:
min ? f ( x , y ) subject?to g ( x , y ) = c \begin{aligned} \min \quad & f(x, y) \\ \text{subject to} \quad & g(x, y) = c \end{aligned} minsubject?to?f(x,y)g(x,y)=c?
想象一下, f ( x , y ) f(x, y) f(x,y) 是一個山谷的海拔高度,我們想找到最低點。而 g ( x , y ) = c g(x, y) = c g(x,y)=c 是畫在地圖上的一條蜿蜒小路,我們被規定只能沿著這條小路走。
這張圖揭示了最優解的一個關鍵幾何特性:在最優點,目標函數 f f f 的等高線與約束函數 g g g 的曲線是相切的。
為什么?可以這樣反證:如果它們不相切,而是相交,那么意味著我們可以沿著約束曲線 g g g 再走一小步,同時穿到一條更低的 f f f 的等高線上去,這就說明當前點還不是最優點。只有當它們相切,我們沿著約束曲線的任何微小移動,都會導致我們進入更高的等高線,這時我們才真正到達了“在約束下的最低點”。
在微積分中我們知道,一個函數的梯度向量垂直于其等高線。因此,在相切點,兩個函數的梯度向量是平行的。用數學語言表達就是:
? f ( x ) = ? λ ? g ( x ) \nabla f(\mathbf{x}) = -\lambda \nabla g(\mathbf{x}) ?f(x)=?λ?g(x)
或者寫成:
? f ( x ) + λ ? g ( x ) = 0 \nabla f(\mathbf{x}) + \lambda \nabla g(\mathbf{x}) = 0 ?f(x)+λ?g(x)=0
這里的 λ \lambda λ 就是拉格朗日乘子,它是一個標量,表示在最優點,兩個梯度向量大小的比例關系。
拉格朗日函數:約束問題的“變形金剛”
基于上述發現,拉格朗日引入了一個構造性的函數,稱為拉格朗日函數 (Lagrangian Function):
L ( x , λ ) = f ( x ) + λ ( g ( x ) ? c ) \mathcal{L}(\mathbf{x}, \lambda) = f(\mathbf{x}) + \lambda (g(\mathbf{x}) - c) L(x,λ)=f(x)+λ(g(x)?c)
現在,奇跡發生了。我們來看這個新函數的梯度:
? x L = ? f ( x ) + λ ? g ( x ) = 0 \nabla_{\mathbf{x}} \mathcal{L} = \nabla f(\mathbf{x}) + \lambda \nabla g(\mathbf{x}) = 0 ?x?L=?f(x)+λ?g(x)=0
? λ L = g ( x ) ? c = 0 \nabla_{\lambda} \mathcal{L} = g(\mathbf{x}) - c = 0 ?λ?L=g(x)?c=0
看!我們對拉格朗日函數 L \mathcal{L} L 求解無約束的極值點(即梯度為0的點),得到的方程組,恰好就是我們前面推導出的最優性條件(梯度平行)和原始的約束條件本身!
通過引入拉格朗日乘子 λ \lambda λ 并構造拉格朗日函數,我們成功地將一個在 x \mathbf{x} x 空間中的有約束優化問題,轉化為了一個在 ( x , λ ) (\mathbf{x}, \lambda) (x,λ) 聯合空間中的無約束優化問題。這就是拉格朗日乘子法的核心思想。
推廣到不等式約束:KKT條件
對于更普遍的不等式約束 h ( x ) ≤ 0 h(\mathbf{x}) \le 0 h(x)≤0,情況稍微復雜一些,但思想一脈相承。這引出了更通用的卡魯什-庫恩-塔克 (Karush-Kuhn-Tucker, KKT) 條件。KKT條件是拉格朗日乘子法的推廣,它構成了非線性規劃領域最優解的必要條件。
對于不等式約束 h ( x ) ≤ 0 h(\mathbf{x}) \le 0 h(x)≤0,在最優點,只有兩種可能:
- 約束未起作用 (Inactive):最優點在約束區域的內部,即 h ( x ) < 0 h(\mathbf{x}) < 0 h(x)<0。此時約束就像不存在一樣,對應的拉格朗日乘子 μ \mu μ 必須為0。
- 約束起作用 (Active):最優點在約束區域的邊界上,即 h ( x ) = 0 h(\mathbf{x}) = 0 h(x)=0。此時情況就和等式約束一樣, ? f \nabla f ?f 和 ? h \nabla h ?h 梯度反向平行,對應的拉格朗日乘子 μ > 0 \mu > 0 μ>0。
這兩種情況可以被一個優美的條件統一起來,稱為互補松弛性 (Complementary Slackness):
μ ? h ( x ) = 0 \mu \cdot h(\mathbf{x}) = 0 μ?h(x)=0
這個條件完美地概括了上述兩種情況。KKT條件就是將梯度條件、原始約束和互補松弛性等結合在一起的一組方程和不等式,它們是判斷一個點是否為約束優化問題最優解的“黃金標準”。
AI應用:正則化 (Regularization)
拉格朗日乘子法為我們理解機器學習中最重要的概念之一——正則化——提供了深刻的洞察。
在訓練模型時,我們不僅要最小化訓練誤差(損失函數 L t r a i n L_{train} Ltrain?),還要防止模型過于復雜導致過擬合。一個常用的方法是限制模型參數 w \mathbf{w} w 的大小。比如,L2正則化要求參數的L2范數的平方 ∣ ∣ w ∣ ∣ 2 2 ||\mathbf{w}||_2^2 ∣∣w∣∣22? 不能超過某個值 C C C。
這可以寫成一個約束優化問題:
min ? w L t r a i n ( w ) subject?to ∣ ∣ w ∣ ∣ 2 2 ≤ C \begin{aligned} \min_{\mathbf{w}} \quad & L_{train}(\mathbf{w}) \\ \text{subject to} \quad & ||\mathbf{w}||_2^2 \le C \end{aligned} wmin?subject?to?Ltrain?(w)∣∣w∣∣22?≤C?
這是一個典型的不等式約束問題。我們可以寫出它的拉格朗日函數:
L ( w , μ ) = L t r a i n ( w ) + μ ( ∣ ∣ w ∣ ∣ 2 2 ? C ) \mathcal{L}(\mathbf{w}, \mu) = L_{train}(\mathbf{w}) + \mu (||\mathbf{w}||_2^2 - C) L(w,μ)=Ltrain?(w)+μ(∣∣w∣∣22??C)
在實踐中,我們通常不直接解這個帶約束的問題,而是解一個等價的無約束問題:
min ? w L t r a i n ( w ) + α ∣ ∣ w ∣ ∣ 2 2 \min_{\mathbf{w}} \quad L_{train}(\mathbf{w}) + \alpha ||\mathbf{w}||_2^2 wmin?Ltrain?(w)+α∣∣w∣∣22?
這里的 α \alpha α 就是正則化系數。優化理論告訴我們,對于每一個正則化系數 α > 0 \alpha > 0 α>0,都存在一個約束邊界 C C C,使得這兩個問題的解是相同的。拉格朗日乘子法在這里充當了橋梁,它揭示了添加正則化項和施加參數約束這兩種看似不同的操作,在數學本質上是等價的。
第三部分:乾坤大挪移 —— 對偶理論
如果說拉格朗日乘子法是處理約束問題的“正攻法”,那么對偶理論 (Duality) 就是一套精妙絕倫的“乾坤大挪移心法”。它通過變換視角,將一個難解的問題(原問題, Primal Problem)轉化為另一個可能更容易求解的問題(對偶問題, Dual Problem)。
這套心法的巔峰之作,就是催生了機器學習領域的一代傳奇——支持向量機 (SVM)。
原問題與對偶問題
我們從拉格朗日函數 L ( x , μ ) = f ( x ) + μ h ( x ) \mathcal{L}(\mathbf{x}, \mu) = f(\mathbf{x}) + \mu h(\mathbf{x}) L(x,μ)=f(x)+μh(x) 出發。
-
原問題 (Primal Problem) 可以看作是一個“先固定 x \mathbf{x} x,再優化 μ \mu μ”的過程(雖然我們不這么解),但其本質是:
p ? = min ? x max ? μ ≥ 0 L ( x , μ ) p^* = \min_{\mathbf{x}} \max_{\mu \ge 0} \mathcal{L}(\mathbf{x}, \mu) p?=xmin?μ≥0max?L(x,μ)
這里的 p ? p^* p? 是原問題的最優值。為什么是 max ? μ ≥ 0 \max_{\mu \ge 0} maxμ≥0??因為如果 x \mathbf{x} x 違反了約束(即 h ( x ) > 0 h(\mathbf{x}) > 0 h(x)>0),那么我們可以讓 μ → ∞ \mu \to \infty μ→∞,使得 L → ∞ \mathcal{L} \to \infty L→∞,這樣違反約束的解就不會在最小化過程中被選中。如果 x \mathbf{x} x 滿足約束(即 h ( x ) ≤ 0 h(\mathbf{x}) \le 0 h(x)≤0),那么為了讓 L \mathcal{L} L 盡可能小, max ? μ ≥ 0 \max_{\mu \ge 0} maxμ≥0? 的結果就是 f ( x ) f(\mathbf{x}) f(x)(因為 μ h ( x ) ≤ 0 \mu h(\mathbf{x}) \le 0 μh(x)≤0,取 μ = 0 \mu=0 μ=0 時最大)。所以這個式子等價于原始的約束優化問題。 -
對偶問題 (Dual Problem) 則是交換了優化的順序,變成了“先固定 μ \mu μ,再優化 x \mathbf{x} x”:
d ? = max ? μ ≥ 0 min ? x L ( x , μ ) d^* = \max_{\mu \ge 0} \min_{\mathbf{x}} \mathcal{L}(\mathbf{x}, \mu) d?=μ≥0max?xmin?L(x,μ)
這里的 d ? d^* d? 是對偶問題的最優值。我們先定義一個對偶函數 q ( μ ) = min ? x L ( x , μ ) q(\mu) = \min_{\mathbf{x}} \mathcal{L}(\mathbf{x}, \mu) q(μ)=minx?L(x,μ),然后最大化這個關于 μ \mu μ 的函數。
弱對偶與強對偶
一個至關重要的性質是弱對偶性 (Weak Duality),它表明對偶問題的最優值永遠不會超過原問題的最優值:
d ? ≤ p ? d^* \le p^* d?≤p?
這總是成立的,無論原問題是不是凸的。直觀上,對偶問題為原問題提供了一個下界。
而真正激動人心的是強對偶性 (Strong Duality)。在某些良好條件下(比如,原問題是凸優化問題,并滿足一個叫Slater’s condition的約束規范條件),強對偶性成立:
d ? = p ? d^* = p^* d?=p?
當強對偶性成立時,原問題和對偶問題的最優解是相等的!這意味著,我們可以通過求解那個可能更簡單的對偶問題,來得到原問題的解。這就好比想知道珠穆朗瑪峰的海拔,我們不一定非要爬到山頂去測量,而是可以通過某種“對偶”的、在海平面進行的操作來精確計算出它的高度。
對偶理論的巔峰應用:支持向量機 (SVM)
支持向量機是展示對偶理論威力的最佳范例。SVM的目標是在兩類數據點之間找到一個間隔最大 (Maximum Margin) 的分類超平面。
(這張圖會展示兩類數據點,中間有一個分類超平面。超平面兩側各有一條平行的虛線,穿過離它最近的數據點。這兩條虛線之間的距離就是“間隔”或“margin”。那些落在虛線上的數據點被稱為“支持向量”。)
這個“最大間隔”問題可以被形式化為一個帶約束的二次規劃問題(即原問題)。直接求解這個原問題是比較復雜的。然而,當我們將其轉化為對偶問題后,奇跡發生了。
-
更易求解:SVM的對偶問題通常比原問題更容易用數值方法求解。
-
引出支持向量:在求解對偶問題后,我們會發現,大部分拉格朗日乘子 α i \alpha_i αi? 的值都為0,只有少數不為0。這些 α i ≠ 0 \alpha_i \ne 0 αi?=0 對應的樣本點,恰好就是那些位于間隔邊界上的支持向量 (Support Vectors)。最終的分類超平面,完全由這些少數的支持向量決定,而與其他樣本點無關。這體現了SVM模型的高效性和稀疏性。
-
催生核技巧 (Kernel Trick):這是對偶理論帶來的最璀璨的明珠。在SVM的對偶問題中,所有的計算都只涉及到輸入樣本點的內積 (dot product),即 ? x i , x j ? \langle \mathbf{x}_i, \mathbf{x}_j \rangle ?xi?,xj??。
這意味著,我們可以在計算內積的環節“做手腳”。我們可以用一個核函數 (Kernel Function) K ( x i , x j ) K(\mathbf{x}_i, \mathbf{x}_j) K(xi?,xj?) 來代替標準的內積 ? x i , x j ? \langle \mathbf{x}_i, \mathbf{x}_j \rangle ?xi?,xj??。
K ( x i , x j ) = ? ? ( x i ) , ? ( x j ) ? K(\mathbf{x}_i, \mathbf{x}_j) = \langle \phi(\mathbf{x}_i), \phi(\mathbf{x}_j) \rangle K(xi?,xj?)=??(xi?),?(xj?)?
這里的 ? \phi ? 是一個從低維輸入空間到高維特征空間的映射。核技巧的絕妙之處在于,它允許我們在一個極高維度(甚至是無限維度)的特征空間中學習一個線性分類器,而我們完全不需要顯式地計算數據點在這個高維空間中的坐標!我們只需要在原始空間中計算核函數的值即可。
這個流程圖清晰地展示了對偶理論是如何為核技巧鋪平道路的。通過將問題從求解 w \mathbf{w} w 轉換到求解 α i \alpha_i αi?,計算的焦點從單個向量轉移到了向量對之間的關系(內積),從而打開了通往高維特征空間的大門。這就是SVM能夠高效學習復雜非線性邊界的秘密。
融會貫通:優化理論在AI版圖中的位置
今天,我們從理想的凸優化世界出發,學會了使用拉格朗日乘子法來馴服各種約束,最后領略了對偶理論的“乾坤大挪移”之術。優化理論為我們提供了遠比“梯度下降”更宏大和深刻的視角。
- 它是經典機器學習的理論支柱:沒有凸優化和對偶理論,就沒有我們今天所知的支持向量機。對正則化的深刻理解,也離不開拉格朗日乘子法。
- 它是理解現代深度學習的基石:雖然深度學習的優化是非凸的,但其核心技術,如各種正則化方法(L1, L2, Dropout)、**優化器算法(Adam, RMSProp)**的設計,都深受經典優化理論的啟發。例如,Adam等自適應優化器可以看作是在每一步迭代中,對梯度信息建立一個簡單的二次模型(一種凸模型)并求解。
- 它是通往更廣闊AI領域的橋梁:強化學習中的策略優化、運籌學中的資源調度、控制論中的軌跡規劃,其核心都是求解各種復雜的優化問題。
我們已經走過了線性代數(靜態結構)、微積分(動態變化)、概率論(不確定性)和優化理論(尋找最優)。這四大支柱共同構成了經典機器學習的數學內核。掌握了它們,你就擁有了剖析和理解絕大多數機器學習算法的底層邏輯的能力。在下一篇文章中,我們將進入信息論的世界,看看如何用“信息”的視角來度量不確定性,并構建出像決策樹這樣的強大模型。
習題
第1題:凸函數判斷
下列函數中,哪些是凸函數?
A. f ( x ) = e x f(x) = e^x f(x)=ex
B. f ( x ) = log ? ( x ) f(x) = \log(x) f(x)=log(x), for x > 0 x > 0 x>0
C. f ( x ) = x 3 f(x) = x^3 f(x)=x3, for x ∈ R x \in \mathbb{R} x∈R
D. f ( x ) = ∣ ∣ x ∣ ∣ 2 2 f(\mathbf{x}) = ||\mathbf{x}||_2^2 f(x)=∣∣x∣∣22? (向量的L2范數平方)
第2題:拉格朗日乘子法應用
請使用拉格朗日乘子法,求解問題:在周長為 L L L 的所有矩形中,哪一個面積最大?
第3題:SVM與對偶理論概念
在SVM中,為什么說最終的分類器僅由“支持向量”決定?這與SVM的對偶問題有什么關系?
答案
第1題答案:A 和 D
A. f ( x ) = e x f(x) = e^x f(x)=ex。其二階導數為 f ′ ′ ( x ) = e x > 0 f''(x) = e^x > 0 f′′(x)=ex>0,所以是嚴格凸函數。
B. f ( x ) = log ? ( x ) f(x) = \log(x) f(x)=log(x)。其二階導數為 f ′ ′ ( x ) = ? 1 / x 2 < 0 f''(x) = -1/x^2 < 0 f′′(x)=?1/x2<0,所以是凹函數,不是凸函數。
C. f ( x ) = x 3 f(x) = x^3 f(x)=x3。其二階導數為 f ′ ′ ( x ) = 6 x f''(x) = 6x f′′(x)=6x,在 x < 0 x<0 x<0 時為負,在 x > 0 x>0 x>0 時為正,所以它既不是凸函數也不是凹函數。
D. f ( x ) = ∣ ∣ x ∣ ∣ 2 2 = ∑ i x i 2 f(\mathbf{x}) = ||\mathbf{x}||_2^2 = \sum_i x_i^2 f(x)=∣∣x∣∣22?=∑i?xi2?。這是一個二次函數,其Hessian矩陣是一個對角線上元素為2,其余為0的矩陣,是正定的。因此,這是一個凸函數。
第2題答案:
設矩形的長和寬分別為 x x x 和 y y y。
目標函數(面積): f ( x , y ) = x y f(x, y) = xy f(x,y)=xy
約束條件(周長): 2 ( x + y ) = L ? g ( x , y ) = 2 x + 2 y ? L = 0 2(x+y) = L \implies g(x, y) = 2x + 2y - L = 0 2(x+y)=L?g(x,y)=2x+2y?L=0
-
構造拉格朗日函數:
L ( x , y , λ ) = f ( x , y ) + λ g ( x , y ) = x y + λ ( 2 x + 2 y ? L ) \mathcal{L}(x, y, \lambda) = f(x, y) + \lambda g(x, y) = xy + \lambda(2x + 2y - L) L(x,y,λ)=f(x,y)+λg(x,y)=xy+λ(2x+2y?L) -
對所有變量求偏導數,并令其為0:
? L ? x = y + 2 λ = 0 ? y = ? 2 λ \frac{\partial \mathcal{L}}{\partial x} = y + 2\lambda = 0 \implies y = -2\lambda ?x?L?=y+2λ=0?y=?2λ
? L ? y = x + 2 λ = 0 ? x = ? 2 λ \frac{\partial \mathcal{L}}{\partial y} = x + 2\lambda = 0 \implies x = -2\lambda ?y?L?=x+2λ=0?x=?2λ
? L ? λ = 2 x + 2 y ? L = 0 \frac{\partial \mathcal{L}}{\partial \lambda} = 2x + 2y - L = 0 ?λ?L?=2x+2y?L=0 -
求解方程組:
從前兩個式子可知, x = y x = y x=y。
將 x = y x=y x=y 代入第三個式子: 2 x + 2 x ? L = 0 ? 4 x = L ? x = L / 4 2x + 2x - L = 0 \implies 4x = L \implies x = L/4 2x+2x?L=0?4x=L?x=L/4。
因此, x = y = L / 4 x = y = L/4 x=y=L/4。
結論:當矩形為正方形時,其面積最大。
第3題答案:
最終的分類器僅由“支持向量”決定,是因為在求解SVM的對偶問題后,得到的解(拉格朗日乘子 α i \alpha_i αi?)具有稀疏性。
對偶問題的解是一系列乘子 α 1 , α 2 , … , α N \alpha_1, \alpha_2, \dots, \alpha_N α1?,α2?,…,αN?,每個乘子對應一個訓練樣本。KKT條件中的互補松弛性表明,對于一個樣本 x i \mathbf{x}_i xi?,如果它不在間隔邊界上(即它不是支持向量),那么它對應的乘子 α i \alpha_i αi? 必須為0。
最終的決策函數(分類超平面)可以表示為:
f ( x ) = sign ( ∑ i = 1 N α i y i K ( x i , x ) + b ) f(\mathbf{x}) = \text{sign}(\sum_{i=1}^N \alpha_i y_i K(\mathbf{x}_i, \mathbf{x}) + b) f(x)=sign(∑i=1N?αi?yi?K(xi?,x)+b)
由于只有支持向量對應的 α i \alpha_i αi? 才不為0,所以這個求和式中,實際上只有支持向量的項被計算了。其他所有樣本( α i = 0 \alpha_i=0 αi?=0)對決策邊界的位置沒有任何貢獻。因此,SVM的決策邊界完全由這些關鍵的“支持向量”支撐起來,這也是其名稱的由來。這個特性是對偶理論帶來的一個直接且優美的結果。