高级 #ml#svm#classification

支持向量机(SVM)

SVM 在特征空间中找最大间隔超平面——让两类数据离分界线越远越好。核技巧把低维不可分的数据映射到高维使其可分

📐 把苹果和橘子分开——哪条线最好?

一堆苹果(红点)和橘子(黄点)在桌面上。你要画一条线把它们分开——无数种划线方式,哪条最好?

SVM(Support Vector Machine)的答案:选那条离最近数据点最远的线

      苹果     苹果
        \       |
   橘子   \  苹果|  苹果 ← "支持向量"(离分界线最近的点)
   橘子 橘子\    | 苹果
   橘子   橘子\  |
              \ |
               \| ← 最大间隔分界线
               /|
              / |
   橘子 橘子 /   | ← "支持向量"
       橘子/ 橘子|

核心思想:不是”把数据分开就行”,而是最大化分界线和最近数据点之间的间隔——间隔越大,对新数据的泛化能力越强。


🌀 核技巧——让线性不可分变成线性可分

现实数据往往不是一条直线能分清的——苹果和橘子可能混在一起。

核技巧(Kernel Trick) 把数据映射到更高维空间,让它们在高维中变得线性可分:

低维(无法线性分):         高维(可以线性分):
   🍎 🍊 🍎                  ↑ z (= x² + y²)
     🍊 🍊 🍎                │   🍎 🍎
   🍎 🍊 🍊                  │  🍊 🍊 🍊
                              │ 🍎 🍎 🍎 🍎
                              └────────────→ x

看起来混在一起              在高维中"浮起来"了
# 常见核函数
# 线性核:K(x, y) = x·y           — 本来就线性可分
# 多项式核:K(x, y) = (x·y + c)^d — 多项式决策边界
# RBF 核:K(x, y) = exp(-γ|x-y|²) — 最常用,适合大多数场景

核技巧的巧妙之处:不用真的把数据映射到高维空间(计算量太大)——只需要计算”高维空间中两个点的相似度”(核函数)。


📝 小结

概念一句话
SVM找最大间隔分界线——泛化能力最强
支持向量离分界线最近的点——只有它们决定分界线位置
核技巧映射到高维使数据线性可分——计算”相似度”而非”坐标”
RBF 核最常用的核函数——适合大多数场景

为什么先学这个? SVM 是”参数化”模型的代表。另一种思路——k 近邻(KNN)不学参数,直接拿训练数据做判断。