支持向量機(Support Vector Machine,簡稱 SVM) 是一種監督式機器學習演算法,主要用於分類和回歸任務。它的核心目標是找到一條(或多維空間中的一個超平面)最佳分隔線,將不同類別的資料點分開,並且最大化兩類之間的邊界(margin),以提升模型的泛化能力。
SVM 的主要特點:
- 最大邊界分隔(Maximal Margin):SVM 尋找能最大化類別間距離的分隔超平面,使分類器對新資料更具魯棒性。
- 支持向量(Support Vectors):決定分隔超平面位置的訓練資料點,這些點是邊界附近的關鍵資料。
- 核函數(Kernel Function):SVM 可利用核技巧將資料映射到高維空間,解決非線性可分問題。常用核函數包括線性核、多項式核、徑向基函數(RBF)核等。
- 適用範圍廣泛:SVM 在高維空間表現良好,適合文本分類、影像識別、基因資料分析等多種領域。
- 容錯能力:透過軟間隔(soft margin)設計,SVM 能容忍部分錯誤分類,提高對異常值的魯棒性。
SVM 運作流程簡述:
- 將資料點映射到特徵空間(必要時使用核函數)。
- 找出分隔不同類別的超平面,使兩類資料點的邊界最大化。
- 透過支持向量決定超平面位置。
- 利用該超平面對新資料進行分類。
優缺點

簡單應用範例
- 使用 SVM 分辨良性與惡性腫瘤資料。
- 文本垃圾郵件分類。
- 影像物件識別。