SVM

Blackteaxx發表於2024-05-20

idea of SVM

分類問題的簡化

首先我們考慮這樣一個分類問題

  • 二分類
  • 線性分類邊界
  • 100% 可分

我們就能夠考慮想出一個好的 idea,如下圖所示

img

在上述條件滿足的情況下,哪一個分類邊界最好?

idea:最大化所有點到分類邊界的最小距離,這個最小距離稱為 margin

形式化距離

函式間隔:\(| w^Tx_i + b |\)

幾何間隔:\(\frac{|w^Tx_i + b|}{\| w \|}\), 這也表示了一個點到超平面的距離

proof

我們 denote \(w^Tx + b = 0\)為超平面,那麼對於任意一個點\(x_i\),我們可以將其投影到超平面上,得到\(x_i'\),那麼有\(r = x_i - x_i' = r_0 w \Rightarrow x_i' = x_i - r_0 w\)

那麼有

\[\begin{aligned} r_0 &= \frac{w^T x_i + b}{\| w \|} \end{aligned} \]

\(r_0\)的 abs 即為我們想要的距離

proof end

形式化想法

我們使用幾何間隔來表示點到超平面的距離,那麼 margin 即為

\[\text{margin}=\min_{i=1,2,\ldots,N} \frac{|w^Tx_i + b|}{\| w \|} \]

如果我們將標籤\(y\)限制在集合\(\{ +1, -1 \}\)(為了方便最佳化),那麼我們的目標函式即為

\[\max_{w,b} \min_{i=1,2,\ldots,N} \frac{|w^Tx_i + b|}{\| w \|} \\ \text{s.t. } y_i(w^Tx_i + b) \geq 0, \quad i = 1, 2, \ldots, N \]

去除絕對值,我們可以得到

\[\max_{w,b} \frac{1}{\| w \|} \min_{i=1,2,\ldots,N} y_i({w^Tx_i + b}) \\ \text{s.t. } y_i(w^Tx_i + b) \geq 0, \quad i = 1, 2, \ldots, N \]

形式上依舊可以簡化,一個想法是對於一個分式,我們可以透過限制其中一項,來最佳化另一項,可以得到相同的解,即

\[\arg \max \frac{f(x)}{g(x)} \iff \arg \max \frac{c f(x)}{c g(x)} \iff \arg \max f(x), \quad s.t. \ g(x) = c \]

於是我們可以透過限制 margin 的值,來最佳化 \(w, b\),即限制\(\min_{i=1,2,\ldots,N} y_i({w^Tx_i + b}) = 1\)

於是我們可以得到最終形式

\[\min_{w,b} \frac{1}{2} \| w \|^2 \\ \text{s.t. } y_i(w^Tx_i + b) \geq 1, \quad i = 1, 2, \ldots, N \]

這是一個凸二次規劃問題,Dual Gap 為 0,因此我們可以透過求解對偶問題來求解原問題,即使用 KKT 條件來求解原問題。

然而值得注意的是,使用對偶問題的好處在於我們能夠使用 Kernel function 將原問題對映到高維空間,從而解決線性不可分的問題,對於求解時間的提升並不明顯,甚至於說,對於線性可分的問題,我們可以直接求解原問題,而不需要使用對偶問題(\(\mathcal{O}(n^{1.x})\))。

Hard Margin-SVM

\[\max_{\alpha} \min_{w,b} \frac{1}{2} \| w \|^2 + \sum_{i=1}^N \alpha_i (1 - y_i(w^Tx_i + b)) \\ \text{s.t. } \alpha_i \geq 0, \quad i = 1, 2, \ldots, N \]

\[\begin{aligned} \mathcal{L}(w, b, \alpha) &= \frac{1}{2} \| w \|^2 + \sum_{i=1}^N \alpha_i (1 - y_i(w^Tx_i + b)) \end{aligned} \]

求一下偏導數(最小值的必要條件):

\[\begin{aligned} \frac{\partial \mathcal{L}(w, b, \alpha)}{\partial w} &= w - \sum_{i=1}^N \alpha_i y_i x_i = 0 \\ \Rightarrow w & = \sum_{i=1}^N \alpha_i y_i x_i \\ \frac{\partial \mathcal{L}(w, b, \alpha)}{\partial b} &= -\sum_{i=1}^N \alpha_i y_i = 0 \\ \end{aligned} \]

代入 \(w, b\),我們可以得到對偶問題

\[\mathcal{L}(w, b, \alpha) = \frac{1}{2} \| w \|^2 + \sum_{i=1}^N \alpha_i (1 - y_i(w^Tx_i + b)) = \\ \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j x_i^T x_j + \sum_{i=1}^N \alpha_i - \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j x_i^T x_j = \\ \sum_{i=1}^N \alpha_i - \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j x_i^T x_j \]

因此,我們可以得到對偶問題

\[\max_{\alpha} \sum_{i=1}^N \alpha_i - \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j x_i^T x_j \\ \text{s.t. } \alpha_i \geq 0, \quad i = 1, 2, \ldots, N \\ \sum_{i=1}^N \alpha_i y_i = 0 \]

我們如果想要對偶問題有意義且和原問題有對應關係(對於 QP 是強對偶關係),那麼我們需要滿足 KKT 條件,即

\[\begin{aligned} \frac{\partial \mathcal{L}(w, b, \alpha)}{\partial w} &= w - \sum_{i=1}^N \alpha_i y_i x_i = 0 \\ \Rightarrow w & = \sum_{i=1}^N \alpha_i y_i x_i \\ \frac{\partial \mathcal{L}(w, b, \alpha)}{\partial b} &= -\sum_{i=1}^N \alpha_i y_i = 0 \\ 1 - y_i(w^Tx_i + b) &\leq 0 \\ \alpha_i &\geq 0 \\ \alpha_i (1 - y_i(w^Tx_i + b)) &= 0 \end{aligned} \]

此時\(v(D) = v(P)\), 同時\(\alpha^\star\)即對應原問題 KKT 點的乘子。

\(w^\star, b^\star\)可以透過 KKT 求解

\[w^\star = \sum_{i=1}^N \alpha_i^\star y_i x_i \\ \alpha_i^\star (1 - y_i(w^{\star T}x_i + b^\star)) = 0 \]

那麼對於\(1 - y_i(w^{\star T}x_i + b^\star) = 0\)的點,我們擁有\(\alpha_i^\star \geq 0\),我們稱之為 支援向量,只要尋找到一個就可以求解\(b^\star\)

\[b^\star = y_i - \sum_{j=1}^N \alpha_j^\star y_j x_j^T x_i \]

然而在實際過程中,為了減少誤差,我們可以求解所有支援向量的平均值。

在求解過程中的有趣的現象

  1. 目標函式首先我們看對偶問題的目標函式

    \[\max_{\alpha} \sum_{i=1}^N \alpha_i - \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j x_i^T x_j \\ \text{s.t. } \alpha_i \geq 0, \quad i = 1, 2, \ldots, N \\ \sum_{i=1}^N \alpha_i y_i = 0 \]

    觀察\(\sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j x_i^T x_j\),可以將其寫成一個二次型\((\alpha y)^T X^T X (\alpha y)\), 那麼如果將\(X\)單位化,\(X^T X\)是一個相似性矩陣(考慮\(cos \theta\))。不單位化也可以表示相似性。

    那麼 SVM 的學習過程可以看作是在一個相似性空間中進行的,類別相同的點在相似性空間中更加接近,而類別不同的點在相似性空間中更加遠離。

  2. 對偶問題中的約束

    \[\sum_{i=1}^N \alpha_i y_i = 0 \]

    每一個點都有一個乘子,對於不是支援向量的點,\(\alpha_i = 0\),對於支援向量,\(\alpha_i > 0\)

    正類與負類的乘子之和為 0,可以看作隱式的對正負類做了平衡性調節。

Soft Margin-SVM

Hard Margin-SVM 考慮的情況非常理想,而對於線性不可分的問題,我們無法求解,因此我們引入了 Soft Margin-SVM。

我們可以引入一個 loss function,對於每一個點,我們引入一個 \(\xi_i\)\(\xi_i = 0,\quad y_i(wx_i + b) \geq 0\), \(\xi_i = 1-y_i(wx_i + b), \quad y_i(wx_i + b) < 0\), 那麼我們可以寫出最佳化目標

\[\min_{w,b,\xi} \frac{1}{2} \| w \|^2 + C \sum_{i=1}^N \xi_i \\ \text{s.t. } y_i(wx_i + b) \geq 1 - \xi_i, \quad i = 1, 2, \ldots, N \\ \xi_i \geq 0, \quad i = 1, 2, \ldots, N \]

相關文章