支持向量機(Support Vector Machine,SVM)是一種重要的機器學習算法,被廣泛應用於分類和回歸分析等任務。它的起源可以追溯到上個世紀60年代,由兩位蘇聯數學家Vladimir Vapnik (弗拉基米爾·瓦普尼克)和Alexey Chervonenkis (亞歷克塞·澤范蘭傑斯)首次提出。在本文中,我們將分別討論SVM的起源、發展歷程以及其在在機器學習中的優點及缺點。
1. SVM的起源
SVM的發明追溯到1963年,當時Vapnik在解決模式識別問題時提出了支持向量方法。這個方法使用了決定性的樣本,即支持向量,為後來的SVM發展奠定了基礎。此後,Vapnik和Chervonenkis在1964年提出了硬間隔支持向量機的概念,試圖找到一條能夠完全將不同類別的樣本分隔開的直線或超平面,大致的簡史發展如下:
- 1963年 Vapnik首次提出SVM的概念
- 1964年 Vapnik和Chervonenkis提出了硬間隔方法
- 1971年 Kimeldor構築了支持向量機核空間(kernel function)的方法
- 1992年 Vapnik和Cortes提出了軟間隔方法
- 1995年 Vapnik正式發表SVM的論文
2. SVM的發展歷程
SVM經歷了幾個重要的發展階段:
(1) 硬間隔(hard margin)支持向量機
硬間隔支援向量機的目的是直接建立線性模型來解決線性可分離資料集的問題,適用情境為完全線性可分的情況
(2) 軟間隔(soft margin)支持向量機
軟間隔支持向量機主要是用來解決不完全線性可分的情況,允許在一些樣本出現分類錯誤的情況下仍能得到較好的分類結果。
(3) 非線性分類支持向量機
1995年,Vapnik等人引入了核技巧,將SVM擴展到非線性分類問題。核技巧允許在高維空間中進行線性分類,使得SVM可以處理非線性問題。
(4) 應用拓展階段
隨著技術的進步,SVM在90年代後得到快速發展,並衍生出一系列改進和擴展算法。
3. SVM在機器學習中的優點及缺點
優點 |
缺點 |
可以解決高維問題,即大型特徵空間 |
當觀測樣本很多時,效率並不是很高,可能會需要比較長的計算時間 |
解決小樣本下機器學習問題 |
對非線性問題沒有通用解決方案,有時候很難找到一個適合的核函數 |
能夠處理非線性特征的相互作用(interaction) |
對於核函數的高維映射解釋力不強,尤其是徑向基函數Radial basis function, RBF) |
無需依賴整個數據 |
一般SVM只支持二分類問題 |
泛化能力(generalization)比較強 |
對缺失數據敏感 |
(4) 常見場景的應用
- 分類問題:SVM 可以用於二分類和多分類問題。
- 回歸問題:SVM 可以用於線性回歸和非線性回歸。
- 語音識別:SVM 可以用於語音識別的分類問題。
- 文本分類:SVM 可以用於文本分類,例如垃圾郵件識別。
- 圖像識別:SVM 可以用於圖像識別,例如手寫數字識別。
4. 結語
支持向量機作為一種強大的機器學習算法,在分類、回歸等任務中發揮著重要作用。它的起源可以追溯到上個世紀60年代,經過多年的發展和改進,SVM已經成為機器學習領域的重要工具之一,為解決實際問題提供了高效、可靠的解決方案。
5. 參考資料
https://zh.wikipedia.org/zh-tw/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA
https://ithelp.ithome.com.tw/m/articles/10270447
https://link.springer.com/article/10.1007/BF00994018
留言列表