支援向量機(SVM)是什麼意思?

時間 2021-05-05 10:41:35

1樓:

大家說的比較多的是經典的二分類或者多分類的SVM,我來簡單聊聊單類SVM(One-Class SVM, 或OCSVM)。這個演算法的名字第一眼看到會令人匪夷所思,既然SVM是用來做分類問題的,只有乙個類怎麼做分類?

其實單類SVM回答了這樣乙個問題:某個點是否屬於這個類?一般來說,是用於做異常檢測(Outlier Detection)的,也就是假設大部分的點都是正常的,而異常點是少數的

OCSVM用來判斷某個點是否屬於大部分點所在的正常類,反過來就是判斷這個點是否是異常的。

對於二分類來說,SVM是找到一對超平面將兩類點隔開。而單類SVM只需要找到乙個閉合空間將正常點的包住,任何在閉合空間之外的點就被判斷為異常。

演算法的訓練資料只包含正常點,既然所有的點的標籤都是一樣的,那麼有和沒有標籤其實就沒有區別了,因此單類SVM是類似unsupervised learning的supervised learning演算法

那如何確定選擇哪個閉合空間來包住所有的正常點呢,最常見的就是選擇乙個球體,並且讓這個球體的半徑足夠的小。假設正常點分別是 問題就變成求最小的半徑 使得這個球可以包含所有的正常點:

其中 代表這個球體的球心。如果某一些正常點離其他點相對比較遠,那這個球就會變得很大,檢驗異常點的效果會大打折扣。因此可以採用類似於兩類SVM中soft margin的思想,我們允許某些點稍微游離在這個球之外,但是對這些點增加懲罰。

加上soft margin的OCSVM就變成:

對於上面優化問題的求解方式類似於兩類SVM。首先採用拉格朗日乘子法,令

其中 令 對的偏導為0得到

然後代入 可得

限制條件是

這個問題就變成了標準的這是乙個Linearly Constrained Convex Quadratic Programming問題。用普適的Ellipsoid method, Interior point method或者針對SVM的SMO(Sequentially Minimal Optimization)求解即可。

類似於兩類SVM的kernel method,單類SVM也可以用核函式來將特徵向量對映到更高維空間。此時優化問題變成了:

最常用的核函式是高斯核函式,即

好處是可以把特徵空間對映到無窮維。

2樓:Qooo

魔童降世之支援向量機

二維:紅色的魔丸和藍色的靈珠放在桌子上,我用一條繩子繞出他們的界限,讓這根繩子左右分別是紅球和藍球,這個過程就實現了分類;

三維:現在我一掌下去,魔丸和靈珠飛了起來,我用一把菜刀巧妙劃下,剛剛好,我劃過的這個不規則的曲面,上面是靈珠,下面是魔丸;

把這個故事拓展到多維空間做分類(其中每乙個維度,對應乙個自變數)那麼就有了——支援向量機。

支援向量機基本型推導

接下來我正式開始上數學課了。搞定支援向量機基本型,我們需要:

乙個超空間,三個超平面,還有中學知識點——平面距離公式.....

Qooo:Qoo-用最友好的說話方式入門-支援向量機(一)

3樓:Dennis liang

支援向量機(SVM)是一種機器學習演算法,用於學習分類或回歸分析學習任務。

以二元分類學習任務為例。分類為1,或者0

Intuition

SVM的decision boundary來自於人們對安全邊距的理解。

資料在實際的統計資料收集過程中存在誤差。它可能是測量精度限制的誤差,也可能是資料操作員的手動輸入錯誤。要學習乙個對誤差有容錯度的的模型來進行二元分類,模型必須要最大化含有那些雜訊在決策邊界的資料點和decision boundary的邊距(Margin),這使得

遠離decision boundary的資料,SVM模型有高confident interval對分類為的自信。

靠近decision boundary的資料,因為邊距最大化,可以容忍noise,對這些資料也有高準確度的分類

Objective

所以優化的目標是最大化邊距(margin)

Loss Function

SVM的Loss函式是hinge loss。這個函式的Intuition是,

如果SVM prediction概率判斷為1的confident很高,也就是P(Y=1|x)很接近1,而真實的Label是1,loss就很小,不需要很大的調整weight

如果SVM prediction概率判斷為1的confident很高,也就是P(Y=1|x)很接近1,而真實的Label是0,loss就很大,需要很大的調整weight去修正SVM

Kernel

Kernel的intuition是在紙維度不可分類的問題,map到高維平面,再進行分類。在n=2時,4個資料點無法被1維的直線分成2類,這時,我們將資料點map到3維的兩個位置,2維的超平面可以將「左」側分類為1,將「右」側分類為0。

kernel的實現就是找到從每乙個訓練資料點到「地標」的similarity距離。

資料點越接近"地標",它就會得到乙個更小的距離值。

它越遠,它就會獲得更大的距離值。

距離函式可以是線性的,多項式的,高斯的。常用功能是高斯Kernel.

Kernel的簡約之處,是在於它不會改變optimization的過程和weight更新的過程。

4樓:Neil Tam

我很認真的看了很多遍前幾高贊的回答。「簡之」的回答排第一,寫得比較通俗,但是也比較淺。適合一讀。

先看」簡之「的回答,然後看這篇文章非常詳細細緻的介紹和推導(包括數學部分):https://

blog.csdn.net/v_JULY_v/article/details/7624837

5樓:管他叫大靖

不同機器學習模型的出發點不同,但都能寫成如下優化形式(損失項+正則項):

其中, 是損失函式, 是函式的複雜度, 是超引數, 是假設空間。不同的模型,無非是不同的損失函式和不同的複雜度函式。

回憶一下,SVM的優化目標為:

其中, 。從上面的角度理解,SVM並無新意,就是損失函式為hinge函式,正則項為 的機器學習模型。

如果說損失函式函式和正則項是機器學習的兩個靈魂,那機器學習的第三個靈魂就是優化方法。除了常見的Gradient Descent,BFGS作為通用的優化方法,對於(1)的很多具體形式,都有獨特的高效的優化方法,其成就了機器學習的美感,也決定了其在工業中的受用程度。比如 正則的ridge具有解析解, 正則的lasso具有稀疏性,這都能從優化的角度直接得到。

對於SVM,我們還需要了解如下三點:

優化問題的對偶形式。

從KKT條件可知, 只依賴於部分樣本(support vector)。就像從優化的角度看,lasso的解必定是稀疏的。

求解SVM的Sequential Minimal Optimization(SMO)演算法,就像求解lasso的最小角回歸演算法。都是經典模型的經典優化演算法。

另,常見的機器學習演算法都可以用上面這個思路(損失函式正則項優化方法)來理解。

6樓:NLP小學生

題目是支援向量機是什麼意思,而不是支援向量機是什麼。

支援向量機還有個名字叫最大間隔分類器(maximum margin classifiers),這樣是不是就達意多了?最大間隔之後發現分類新樣本只需要跟最大間隔上的樣本做點積就行了。把最大間隔上的樣本叫做支援向量,那麼最大間隔分類器就有了酷炫的名字-支援向量機。

7樓:

推薦乙個 mit的ppt,非常通俗易懂

8樓:crystalajj

學習到SVM這一章節時不太明白構造的約束優化問題中神奇的「1」是如何來的,也就是margin 是如何來的。看了幾個高票的回答,的確對什麼是SVM解釋得相當出色,但是對這個細節的理解卻是一帶而過啊啊啊,可能自己的數學功能還木有達到那麼高的境界(哭!)。

但是我還是不放棄,翻了李航的統計學習方法,豁然開朗!想試圖順著前輩(我京大大學長,牛!瞻仰!

)的思路去解釋一下(強推啊同志們!以後就靠它學機器學習了!)。

如果也有哪位看客跟我有相同疑惑或許會有點幫助,如有不當還望各路看客指點。

進入正題之前,還是想嚴謹一些,說一說SVM的分類,因為每一類構造的約束優化問題都有細微的差別。嘛,分三類:利用硬間隔最大化學習的線形可分支援向量機(linear support vector machine in linearly separable case),利用軟間隔最大化學習的線性支援向量機(linear support vector machine)及利用核技巧和軟間隔最大化學習的非線性支援向量機(nonlinear support vector machine)。

聰明的你從字面意思就能理解區別了,接下來從最簡單的硬間隔說起。

假設線形可分的二分類問題中,我們的分離超平面對應於方程 。

注: 法向量, 為截距, 為維特徵向量, 為第 個特徵向量, 是 的類標記;因為是二分類問題,當 時,稱 為正例;當 時,稱 為負例。

超平面 確定的情況下, 能相對地表示 距離超平面的遠近,並且,可以通過判斷 的符號與類標記 的符號是否一致來表示分類是否正確。所以可以用 來表示分類的正確性以及某種意義下的距離超平面的距離。沒錯,其實它就是所謂的「函式間隔」。

但是考慮到用這個準確度量間隔實在不靠譜,比如說,將 和 成比例的擴大k倍,其超平面 跟之前的超平面是一樣的,但是間隔 卻較之前擴大了 倍。所以必須要對法向量 規範化,使相同的超平面所表達的間隔相同,如何做呢? 就可以啦。

其實這個是所謂的「幾何間隔」啦。那麼這個時候,假設我們的幾何間隔為 ,就可以構造約束最優化問題啦:

重點就在這個不等式,你會突然發現, 的取值並不影響最優化問題的解!所以就可以把它最簡單化為1!所以上面的優化問題可以簡化為:

出來了, 就不解釋了,撤。。。

SVM支援向量機詳解

是有點委屈的吧 我一直很想要乙個相機,跟爸媽說過很多次了 如今再跟父母提起,母親推拖著,讓我問父親 母親說現在家裡經濟情況不好,讓我再等等 她明明答應我一考完試就給我買的 我有點難過 我跟母親說我不想要了,這絕非賭氣的話 我怕我問父親之後,他會有經濟壓力,然後家裡又會有矛盾母親卻覺得我不懂事,我說這...

支援向量機 SVM 是否適合大規模資料?

Faith Shi 這個問題,可以分為兩點 1.支援向量機在大規模資料上是否能取得好的分類效果?2.支援向量機在大規模資料上進行訓練 測試 引數調優等一系列迭代運算的計算效率如否保證?關於第一點,支援向量機的求解通常借助於凸優化技術。針對於小規模資料集,支援向量機更容易抓住資料之間的特徵。如何提高效...

SVM(支援向量機)屬於神經網路範疇嗎?

jljljl 占個坑,最近在複習SVM的時候,對SVM有了新的了解 先貼張圖 支援向量機 SVM 這個結構是很明顯的MLP結構,不過只有兩層,是淺層模型,中間隱層就是支援向量神經元層 SVM本質上其實就是MLP 1 SVM隱層神經元個數只要覆蓋支援向量即可 MLP是通過多個隱層的方法實現非線性函式的...