讀古今文學網 > 機器學習實戰 > 第6章 支持向量機 >

第6章 支持向量機

本章內容

  • 簡單介紹支持向量機
  • 利用SMO進行優化
  • 利用核函數對數據進行空間轉換
  • 將SVM和其他分類器進行對比

「由於理解支持向量機(Support Vector Machines,SVM)需要掌握一些理論知識,而這對於讀者來說有一定難度,於是建議讀者直接下載LIBSVM使用。」我發現,在介紹SVM時,不止一本書都採用了以上這種模式。本書並不打算沿用這種模式。我認為,如果對SVM的理論不甚瞭解就去閱讀其產品級C++代碼,那麼讀懂的難度很大。但如果將產品級代碼和速度提升部分剝離出去,那麼代碼就會變得可控,或許這樣的代碼就可以了。

有些人認為,SVM是最好的現成的分類器,這裡說的「現成」指的是分類器不加修改即可,直接使用。同時,這就意味著在數據上應用基本形式的SVM分類器就可以得到低錯誤率的結果。SVM能夠對訓練集之外的數據點做出很好的分類決策。

本章首先講述SVM的基本概念,書中會引入一些關鍵術語。SVM有很多實現,但是本章只關注其中最流行的一種實現,即序列最小優化1(Sequential Minimal Optimization,SMO)算法。在此之後,將介紹如何使用一種稱為核函數(kernel)的方式將SVM擴展到更多數據集上。最後會回顧第1章中手寫識別的例子,並考察其能否通過SVM來提高識別的效果。

1. 一種求解支持向量機二次規劃的算法。——譯者注