31

我知道支持向量機被認爲是'神經網絡殺手',因爲他們自動選擇表示的複雜性並找到全局最優值(請參閱here對於某些支持SVM的報價)。支持向量機 - 比人工神經網絡更好的學習場景?

但是,這裏是我不清楚的地方 - 所有這些優越的主張都是針對2類決策問題的情況嗎?還是他們走得更遠? (我假設他們持有的非線性可分類否則沒有人會在意)

所以一些我想要的病例樣本進行清理:

  • 是支持向量機優於有很多課程的ANN?
  • 在線設置?
  • 在強化學習這樣的半監督案例中呢?
  • SVM是否有更好的無監督版本?

我不希望有人來回答所有這些律」子問題,而是給予了支持向量機的時候比普通ANN當量更好一些通用的邊界(如FFBP,反覆BP,玻爾茲曼機,高官會議,等等)在實踐中,並且優選在理論上也是如此。

回答

52

SVM是否比ANN好許多類您可能指的是SVM實質上是一個或兩個分類器。事實上,他們是和無法修改SVM算法來分類兩個以上的類。

支持向量機的基本特徵是分離最大餘量超平面,其位置是通過最大化其與支持向量的距離來確定的。然而,支持向量機通常用於多類分類,這是通過圍繞多個SVM分類器的處理包裝來完成的,這些分類器在「一對多」模式下工作 - 即將訓練數據顯示給第一個將這些實例分類的SVM作爲「I類」或「I類」。第二類中的數據然後被顯示爲第二SVM,其將該數據分類爲「II類」或「非II類」等等。在實踐中,這很有效。正如你所期望的那樣,與其他分類器相比,SVM的高分辨率不限於兩類數據。

據我所知,在文獻中報道的研究證實了這一點,例如,在挑釁標題紙Sex with Support Vector Machines基本上更好的爲在12正方像素圖像性別識別(男/女)的分辨率,報道對於一組傳統的線性分類器,與SVM相比,支持向量機也優於RBF神經網絡,以及大集合徑向神經網絡)。但似乎有很多類似的證據表明支持向量機在多類問題中的優越性能:例如,支持向量機在protein-fold recognitiontime-series forecasting中優於NN。

過去十年左右閱讀這些文獻給我的印象是,大多數精心設計的研究 - 由熟練配置和使用這兩種技術的人員,以及使用足以抵抗分類的數據來激發一些有意義的差異在解決方案中 - 報告SVM相對於NN的優越性能。但正如你的問題所暗示的那樣,性能增量在某種程度上似乎是特定領域的。

例如,NN在來自阿拉伯文腳本的文本中在comparative study作者標識中勝過SVM;在study比較信用等級預測,兩個分類器沒有明顯的分辨率差異;在高能粒子分類study中報告了類似的結果。

我從學術文獻中的多個source中瞭解到,隨着訓練數據的大小減小,SVM的性能優於NN。最後,從這些比較研究的結果中可以概括出來的程度可能相當有限。例如,在一項比較SVM和NN在時間序列預測中的準確性的研究中,調查人員reported SVM確實勝過了傳統的(向後傳播的分層節點)NN,但SVM的性能大致與RBF(徑向基函數)NN。

[SVM是否比ANN好]在線設置支持向量機不用於在線設置(即增量訓練)。 SVM的本質是分離超平面,其位置由少量的支持向量確定。所以即使是一個額外的數據點原則上也可以顯着影響這個超平面的位置。

怎麼樣在半監督的情況下,像強化學習直到OP對這個答案的評論,我不知道神經網絡或SVMs以這種方式使用 - 但他們是。

SVM的最廣泛used-半監督變種被命名爲轉換SVM(TSVM),首先由弗拉基米爾Vapnick提到的(誰發現了同一個人/發明常規SVM)。我對這種技術幾乎一無所知,除了它被稱爲什麼之外,它遵循傳導的原理(大致爲橫向推理 - 即從訓練數據推理到測試數據)。顯然TSV是text classification領域中的優選技術。

是否有更好的無監督版SVM我不認爲支持向量機適合無監督學習。分離基於由支持向量確定的最大邊界超平面的位置。這可能很容易成爲我自己的有限理解,但如果這些支持向量未標記(即,如果您事先不知道您想要分離的內容),我不會看到會發生這種情況。無監督算法的一個關鍵用例是當你沒有標記數據,或者你沒有,並且它是非常不平衡的。例如,在線欺詐;在您的培訓數據中,您可能只有少數幾個數據點被標記爲「欺詐性賬戶」(通常具有可疑的準確性),而剩餘的99%以上被標記爲「不是欺詐」。在這種情況下,單類分類器(SVM的典型配置)是一個不錯的選擇。具體來說,訓練數據由標有「非欺詐」和「不明」(或其他標籤以指示他們不在課堂中)的實例組成 - 換句話說,「在決策邊界內」和「在決策邊界外」 。「

我希望通過提的是,20年後他們得出結論‘發現’時,SVM在ML庫中的根深蒂固成員。事實上,一貫卓越的分辨率與其他相比,國家的最-art分類器是有據可查的

他們的譜系既是他們卓越的表現功能記錄在許多嚴格控制的研究以及他們的概念優雅W/r/t後一點,考慮多層感知器( MLP)雖然常常是優秀的分類器,但它們都是通過數值優化例程來驅動的,在實踐中很少發現全局最小值;此外,該解決方案沒有概念意義,另一方面,n在構建SVM分類器的核心上進行的商業優化確實找到了全局最小值。更重要的是,解決方案是實際的決策邊界。

不過,我認爲SVM的聲譽在過去幾年中有所下降。

我懷疑的主要原因是NetFlix競爭。 NetFlix強調了矩陣分解基本技術的分辨能力,並且更加顯着地結合了分類器。人們早在NetFlix之前就將分類器組合起來,但更多的是將其作爲一種偶然技術,而不是分類器設計的屬性。而且,許多用於組合分類器的技術非常簡單易懂,而且實施起來也非常簡單。相比之下,SVM不僅非常難以編碼(在我看來,迄今爲止最困難的代碼實現的ML算法),而且作爲預編譯庫很難配置和實現 - 例如,必須選擇內核,結果對數據如何重新縮放/歸一化等非常敏感。

+0

哇,謝謝你的回答,道格!我會把問題留出一段時間,但我想你的答案是可以接受的。除此之外,還有一個用於強化學習的ANN變體,即時間差分支持(TDBP),但是在您的評論之後,我同意這可能不存在SVM版本。 – zergylord

+0

謝謝。並感謝TDBP的參考(我不知道)。這導致我研究RL-SVM混合體系,事實上我找到了相當受歡迎的體系,因此我已經在上面修改了我的答案。我還通過分類器比較(SVM與NN)的源代碼,並添加了一些鏈接到這些源。 – doug

+1

我遲到了,但我想說明你可以簡單地將SVM概括爲多類。 –

8

我喜歡Doug的回答。我想補充兩點意見。

1)Vladimir Vapnick還共同發明了VC維度,這對學習理論很重要。

2)我認爲支持向量機是2000年到2009年最好的整體分類器,但2009年之後,我不確定。我認爲神經網絡由於深度學習和稀疏去噪自動編碼器的工作而近期得到了極大的改善。我認爲我看到了許多超越SVM的基準測試。見,例如,幻燈片已使用稀疏自動編碼器技術

http://deeplearningworkshopnips2010.files.wordpress.com/2010/09/nips10-workshop-tutorial-final.pdf

我的幾個朋友31。用這種技術構建的神經網絡明顯優於舊的後向傳播神經網絡。如果我有時間,我會嘗試在artent.net上發佈一些實驗結果。

1

我希望當你有很好的功能開始時SVM會更好。 IE,您的功能簡潔地捕捉所有必要的信息。如果同一個類的實例在特徵空間中「聚集在一起」,則可以看到您的特性是否良好。然後用歐幾里得內核的SVM應該做的。從本質上講,您可以將SVM看作超級近鄰分類器,所以每當NN做得很好時,SVM應該做的更好,通過在您的集合中的示例中添加自動質量控制。相反 - 如果它是一個數據集,最近的鄰居(在特徵空間中)預計會做得不好,SVM也會做得不好。

0

- 有更好的無監督版本的SVM嗎?

只是在這裏回答這個問題。無監督學習可以通過所謂的單級支持向量機完成。再次,類似於正常的SVM,存在促進稀疏度的元素。在正常的SVM中,只有幾點被認爲是重要的,支持矢量。在一個級支持向量機再次只數點可以被用於任一:

  1. 「分離」的數據集從原點儘量越好,或
  2. 限定半徑儘可能小。

正常支持向量機的優點延續到這種情況。與密度估計相比,只需要考慮幾點。缺點也隨之而來。