SVM中支持向量的目的是什麼?如何選擇SVM內核?

支持向量機通過最大化兩個類之間餘量的超平面來執行分類任務。如下圖所示,通過身高和體重來兩個特徵分類男女生,其中定義藍色超平面(hyperplane)的數據(或稱為向量,圖中綠色圓圈標示部分)叫支持向量。

來自網路

SVM內核基本講解請參考前面的文章:機器學習和SVM中的內核是什麼?我們為什麼需要它們?

當給定一個任意數據集,通常我們不知道哪個內核效果更好。如果數據集是線性可分的,則線性內核就可以正常工作;但如果數據集不是線性可分的,線性內核就不起作用。可以先從簡單空間假設開始,如圖示假設我們的數據集僅包含2個維度,下圖左部分採用線性核SVM,右圖採用高斯內核SVM,兩者都能很好的分類數據集。這時候採用線性內核更好,線性SVM可以認為是參數模型,而高斯內核SVM不是,且後者的複雜性隨著訓練集的增大而增大。

來自網路

當數據不是線性可分的時候,非線性內核就起作用了,所以數據集類型很重要,如下圖所示,左側的線性內核無法很好的分類,但是高斯內核這時候起作用了。內核允許我們在非常高維度,甚至無限維度上繪製「直線」或「平面」。

來自網路

常用的內核有高斯內核,多項式內核也會使用,但是計算複雜且難以控制。基於損失函數可以確定哪個內核對於給定任務是最合適的,下面的視頻十分形象描繪出了非線性內核的作用。

視頻封面

00:42基於多項式內核SVM

參考:youtube.com/watch?


推薦閱讀:
相关文章