感知機(perceptron)和支援向量機(svm)是一種東西嗎? 如果不是那他們的區別和關係是什麼?

時間 2021-05-06 09:09:31

1樓:我不是尼克楊

這不是一種東西。首先你要明白svm演算法分為hard-margin svm和soft- margin svm,

perceptron演算法的solver主要是gradient descent梯度下降(類似下山)

hard margin svm演算法的solver主要是quadratic programming(二次規劃問題)

soft margin svm演算法的solver主要是sub- gradient descent

先放個框架,等考完試慢慢更

2樓:猴藤菲

最近重新看統計學習方法,看開頭感知機的推導,超平面和正負樣本的式子和SVM很像,搜到了這個問題,實際上在書中43頁有提到svm

感知機學習演算法由於初值的選取會得到不同的解,也同時依賴於迭代過程中誤分類點的選擇順序,為了得到唯一的超平面,需要對分離超平面增加約束條件,這就是SVM的想法(當然是線性svm)

3樓:DeAlVe

這是乙個很有意思的問題,明白了這個問題就可以從直覺上理解SVM為什麼會產生大間隔。

普通的感知器不能產生大間隔(margin),而SVM可以,所以這兩個肯定不是乙個東西。帶margin的感知器可以通過兩種手段產生大間隔:一種是早停,另一種是加正則化項。

加入了L2正則化項的帶 margin的感知器就是SVM。

大家都知道,感知器是不能產生大間隔的,因為它只以分對為目的,不關心分介面離資料點有多遠,從它的目標函式很容易看出來(這裡直接搬了 @豬豬專業戶 的公式),它公平對待每乙個資料:

(1)帶margin的感知器是這樣的,只改動了乙個地方:

(2)有沒有發現,損失函式就是hinge loss,這個改進使得感知器具備了產生大間隔的潛質,因為hinge loss有一段平坦區,允許平坦區內的點被分錯,這樣就可以撐起來乙個管道(類似於SVM)。

雖然帶margin的感知器有了hinge loss,但是它依然不能產生大間隔,看下面這個目標函式:

(3)目標函式(2)和(3)是等價的,因為把(2)的乙個解 放大 倍就得到了(3)的乙個解 。如果令 ,我們就得到了任意大的函式間隔;如果令 ,(3)就變成(1)了,函式間隔消失了。然而函式間隔不是我們想要的,幾何間隔才是(幾何間隔 = 函式間隔 / 模長)。

帶margin的感知器可以通過增大權向量的模長而增大函式間隔,但是幾何間隔卻是不變的,這顯然不是我們想要的。如果我們能限制模長的增長,就有可能獲得大的幾何間隔。而限制模長的方法有兩個:

早停和正則化。

先來看早停是如何產生大間隔的,如下圖(來自[1]):

(a)是普通感知器得到的分介面,過擬合且沒有產生大間隔;(b)(c)(d)分別是帶margin的感知器迭代1, 10, 100個epoch之後得到的分類面,可以看出隨著迭代次數的增多,間隔漸漸消失,具體的講解可以看參考文獻[1]。一種直覺而不太嚴謹的理解是:趁著權向量還沒有來得及快速增大就停止學習。

除了早停,還有一種方法可以產生大間隔,那就是加入對權向量的L2正則化,限制模長的增長:

(4)與(2)相比,(4)加入了對權向量模長的懲罰項,從而避免了產生像(2)一樣的無意義的大函式間隔。

而(4)就是SVM。

所以,SVM可以視為對感知器的二階改進:第一階改進是加入了 獲得hinge loss,從而具備了產生大間隔的潛質;第二階改進是加入了權向量的L2正則化項,從而避免產生無意義的大函式間隔,而是產生大的幾何間隔。

[1] Collobert R, Bengio S. Links between perceptrons, MLPs and SVMs[C]//Proceedings of the twenty-first international conference on Machine learning. ACM, 2004:

23.

4樓:

SVM就像是原始的感知機的孫子(不是兒子)

我認為實際上區別在於衡量分介面的時候,乙個用L1範數(函式距離)乙個用L2範數(幾何距離),由此帶來的拉格朗日對偶性,核方法,非線性分介面的處理,各種防止過擬合的效能,甚至支援向量的概念都是從這個改動而來的。

關於兩種距離的區別可以看看 @yycc 給出的兩張圖。

5樓:arachis

不是說感知機是SVM的基礎嘛,兩者都有線性二分類模型,感知機原理比較簡單,就是自變數是wx+b的符號函式,優化函式就是所有誤分類點的幾何距離;SVM擴充套件就多一些,優化函式是引數的L2範數,也就是結構風險最小化的,可以通過核函式把低維不可分資料對映到高維,從而線性可分,所以SVM也有非線性分類器。

6樓:

感知機比svm要老很多年,他倆都用來解決線性二分類問題,當然svm也可解決非線性。感知機偏向於神經網路,容易過擬合,而svm追求將兩種資料最大化程度的分開

感知機的損失函式為什麼可以採用函式間隔 忽略1 w

輝子 M是誤分類的集合,當全部都正確分類之後 2.5 中的L w,b 就等於0 隨機從誤分類集M中選出乙個點進行迭代,只需要在該點 xi,yi 處 3 式左側y wx b 0即可,3 式的大小無所謂 若是 3 式小於0,則一直在該點迭代,直到大於0為止。根據感知機演算法的收斂性,存在超平面使得L w...

壓縮感知和矩陣分解的異同?

對協同過濾並不了解,補充一點壓縮感知的東西吧。關於壓縮感知 在CV裡,也可以稱作Sparse Coding,就是用一組 基 來得到原來訊號的 稀疏表示 也就是對於訊號x,需要尋找乙個字典D,使得只需要這個字典D中的幾個 基 就可以表達原來的訊號了。我們需要的是關於訊號的這樣乙個表述 這裡的x就是原訊...

感知機演算法的對偶形式是如何推導出來的?

曇鳶 不知道是不是正確Get了題主的意思,我的理解是 題主認為,SVM的對偶形式是通過使用拉格朗日乘子法解原始最優化問題的對偶問題得到的,而Perceptron的對偶形式為何不能同樣通過解某個最優化問題而直接得到呢?為什麼要先用梯度下降得到解的形式,然後從中 看出 一些 規律 最後 設計 出對偶形式...