支援向量機(support vector machines,簡稱svm)是一種二類分類模型。它在一些情況下,對於一些複雜的非線性問題能提供相比邏輯回歸模型或神經網路模型更為簡潔的解決方案。
優化目標
我們通過不斷改進邏輯回歸模型以實現支援向量機。
邏輯回歸模型的假設函式hθ(x)為:
其中:其代價函式j(θ)為:
現假設在單個訓練資料下,其代價函式j(θ)為:
將假設函式hθ(x)代入,則代價函式j(θ)為:
對於y = 1和y = 0這兩種情況,我們可分別繪製出如下函式圖:
在上圖基礎上,我們分別取z = 1和z = -1兩個點,繪製如下曲線:
其中,圖中紫紅色曲線為支援向量機在y = 1和y = 0時的代價函式與變數z之間的函式關係圖。
現在我們以正則化的邏輯回歸為例得出支援向量機的代價函式。
正則化的邏輯回歸的代價函式j(θ)為:
根據函式圖我們可得支援向量機的代價函式j(θ)為:
其中,c為一常數,類似於正則化的邏輯回歸中的λ。
同時,支援向量機的假設函式hθ(x)為:
初識最大間隔分類器(支援向量機)
支援向量機的假設函式hθ(x)為:
但支援向量機要求更高,其不僅僅要正確分開輸入的樣本,即不僅僅要求θtx ≥ 0(或θtx ≤ 0),更要求θtx ≥ 1(或θtx ≤ -1),即額外新增了乙個安全因子(或安全間距)。
因此,對於y = 1和y = 0這兩個情況,可做如下改寫:
基於此,我們可將代價函式j(θ)改寫為:
其中,此時常數c為乙個非常大的數。
此時,對於下圖支援向量機會如何作出判定邊界?
下圖中的黑色線條即為支援向量機所作出的判定邊界,它並不會以紫紅色或綠色線條作為判定邊界。這是因為支援向量機會嘗試找到乙個與樣本之間有著最大間隔的判定邊界,因此支援向量機也稱為最大間隔分類器。
最後,我們來討論一下常數c的取值。
從上圖中,我們可以發現常數c的值若非常大,則會考慮資料集中的異常資料;而常數c的值若適中,則會忽略資料集中的異常資料,得到乙個較為合適的判定邊界。
當c = 1/λ 時:
最大間隔分類器背後的數學知識
上圖中,支援向量機的代價函式為:
以及推得θtx(i) = p(i)||θ||。
上圖中,綠線表示支援向量機作出的判定邊界,藍線表示與判定邊界正交的引數θ向量。
根據之前向量內積的相關數學知識,我們可以清楚了解到支援向量機如何作出與樣本之間保持最大間隔的判定邊界。
在本例中,我們設定了θ0 = 0,這保證了判定邊界過原點。
注:常數c為乙個非常大的數。
支援向量機(一)
本篇是學習svm的初學講義,希望能夠對大家有所幫助。svm涉及到很多拉格朗日對偶等最優化知識,強烈推薦大家學習 最優化計算方法 不然理解svm會遇到很多困難。學習之前強烈推薦先玩一玩林智仁的svm toy.exe,對理解svm很有幫助,鏈結在 好了,接下來我們開始svm的學習。在本文中,會盡量避免一...
支援向量機 一)
最近在看史丹福大學的機器學習的公開課,學習了支援向量機,再結合網上各位大神的學習經驗總結了自己的一些關於支援向量機知識。一 什麼是支援向量機 svm 1 支援向量機 support vector machine,常簡稱為svm 是一種監督式學習的方法,可廣泛地應用於統計分類以及回歸分析。支援向量機屬...
支援向量機(一)
支援向量機 svm 有嚴格的數學基礎和推導理論的模式識別方法,是針對小樣本的的統計學理論,基於結構風險最小化原則,演算法在優化過程中具有全域性最優解,泛化能力也比較突出,是一套優秀的機器學習技術。機器學習是乙個不斷學習發展加深的過程,正如乙個讀書人學習svm的時候,他看書的境界分為三層,如先讀資料探...