機器學習13 支援向量機大邊界的直觀理解

2021-07-30 15:10:53 字數 2425 閱讀 2068

人們有時將支援向量機看作是大間距分類器。在這一部分,我將介紹其中的含義,這有助於我們直觀理解 svm 模型的假設是什麼樣的。

<=0會將負例正確分離,但是,支援向量機的要求更高,不僅僅要能正確分開輸入的樣本,即不僅僅要求θt x >0,我們需要的是比 0 值大很多,比如大於等於 1,我也想這個比 0 小很多,比如我希望它小於等於-1,這就相當於在支援向量機中嵌入了乙個額外的安全因子。或者說安全的間距因子。當然,邏輯回歸做了類似的事情。但是讓我們看一下,在支援向量機中,這個因子會導致什麼結果。具體而言,我接下來會考慮乙個特例。我們將這個常數 c 設定成乙個非常大

的值。比如我們假設

c 的值為

100000 

或者其它非常大的數,然後來觀察支援向量機會給出

什麼結果?

如果 c 非常大,則最小化代價函式的時候,我們將會很希望找到乙個使第一項為 0 的最優解。因此,讓我們嘗試在代價項的第一項為 0 的情形下理解該優化問題。比如我們可以把 c 設定成了非常大的常數,這將給我們一些關於支援向量機模型的直觀感受。

我們已經看到輸入乙個訓練樣本標籤為 y=1,你想令第一項為 0,你需要做的是找到一θ,使得θt x>=1,類似地,對於乙個訓練樣本,標籤為 y=0,為了使 cost0(z) 函式的值為θtx<=-1。因此,現在考慮我們的優化問題。選擇引數,使得第一項等於 0,就會導致下面的優化問題,因為我們將選擇引數使第一項為 0,因此這個函式的第一項為 0,因此是 c 乘以 0 加上二分之一乘以第二項。這裡第一項是 c 乘以 0,因此可以將其刪去,因為我知道它是 0。這將遵從以下的約束: qt x(i)  >=1,如果 y (i)等1 的,qt x(i)  <=-1,如果樣本 i 是乙個負樣本,這樣當你求解這個優化問題的時候,當你最小化這個關於變數 θ 的函式的時候,你會得到乙個非常有趣的決策邊界。

具體而言,如果你考察這樣乙個資料集,其中有正樣本,也有負樣本,可以看到這個資料集是線性可分的。我的意思是,存在一條直線把正負樣本分開。當然有多條不同的直線,可以把正樣本和負樣本完全分開。比如,這就是乙個決策邊界可以把正樣本和負樣本分開。但是多多少少這個看起來並不是非常自然是麼?或者我們可以畫一條更差的決策界,這是另一條決策邊界,可以將正樣本和負樣本分開,但僅僅是勉強分開,這些決策邊界看起來都不是特別好的選擇,支援向量機將會選擇這個黑色的決策邊界,相較於之前我用粉色或者綠色畫的決策界。這條黑色的看起來好得多,黑線看起來是更穩健的決策界。在分離正樣本和負樣本上它顯得的更好。數學上來講,這是什麼意思呢?這條黑線有更大的距離,這個距離叫做間距 (margin)。

我想講最後一點:我們將這個大間距分類器中的正則化因子常數 c 設定的非常大,我將其設定為了 100000,因此對這樣的乙個資料集,也許我們將選擇這樣的決策界,從而最大間距地分離開正樣本和負樣本。那麼在讓代價函式最小化的過程中,我們希望找出在 y=1 和 y=0 兩種情況下都使得代價函式中左邊的這一項盡

量為零的引數。如果我們找到了這

樣的引數,則我們的最小化問題便轉變成:

事實上,支援向量機現在要比這個大間距分類器所體現得更成熟,尤其是當你使用大間距分類器的時候,你的學習演算法會受異常點 (outlier) 的影響。比如我們加入乙個額外的正樣本。

在這裡,如果你加了這個樣本,為了將樣本用最大間距分開,也許我最終會得到一條類似這樣的決策界,對麼?就是這條粉色的線,僅僅基於乙個異常值,僅僅基於乙個樣本,就將我的決策界從這條黑線變到這條粉線,這實在是不明智的。而如果正則化引數 c,設定的非常大,這事實上正是支援向量機將會做的。它將決策界,從黑線變到了粉線,但是如果 c設定的小一點,如果你將 c 設定的不要太大,則你最終會得到這條黑線,當然資料如果不是線性可分的,如果你在這裡有一些正樣本或者你在這裡有一些負樣本,則支援向量機也會 將它們恰當分開。因此,大間距分類器的描述,僅僅是從直觀上給出了正則化引數 c 非常大的情形,同時,要提醒你 c 的作用類似於 1/λ,λ是我們之前使用過的正則化引數。這只是c 非常大的情形,或者等價地λ非常小的情形。你最終會得到類似粉線這樣的決策界,但是實際上應用支援向量機的時候,當 c 不是非常非常大的時候,它可以忽略掉一些異常點的影響,得到更好的決策界。甚至當你的資料不是線性可分的時候,支援向量機也可以給出好的結果。

總結c=1/λ,因此:

c 較大時,相當於 λ 較小,可能會導致過擬合,高方差。

c 較小時,相當於 λ 較大,可能會導致低擬合,高偏差。

機器學習(三) 支援向量機

支援向量機是一種判別模型,它構建乙個超平面使得距離這個超平面最近的點的距離最大。支援向量機的任務是在較低的模型泛化誤差下尋找乙個合適的超平面。如果超平面的函式是如下表示式 那麼超平面與資料點 label 1 之間的幾何關係為 定義 幾何間隔和函式間隔 因此,轉換為帶約束的優化問題 我們無法保證資料是...

機器學習筆記(二 支援向量機)

本次筆記基於mooc平台浙江大學的機器學習課程 對於乙個訓練樣本集,i 1 n,若存在 w,b 使得使得滿足下式,則是線性可分問題。要求這樣的乙個超平面 在二維平面中是一條直線 則要滿足以下公式 證明過程如下 首先要確認兩個事實,即 和 則可以根據線性可分問題的滿足式,用a來縮放 w,b 使得找到某...

機器學習(三)支援向量機

本文只涉及二分類支援向量機。支援向量機問題可以分為三種情況來討論 1 硬間隔支援向量機 用於可以被乙個超平面嚴格分開的問題中,又稱為線性可分支援向量機 2 軟間隔支援向量機 用於可以被乙個超平面非嚴格分開的問題中,又稱線性支援向量機 3 核支援向量機 用於可以被乙個超曲面分開的問題中,又稱非線性支援...