SVM 支持向量机 (Support Vector Machine)
核心思想
SVM 寻找一个最大间隔超平面将不同类别的数据分开。核心直觉是:在所有能正确分类训练数据的超平面中,间隔最大的那个泛化能力最强。
硬间隔线性 SVM
超平面与函数间隔
超平面定义为:
样本
最大间隔优化问题
令所有样本的最小几何间隔为
等价于:
拉格朗日对偶
引入拉格朗日乘子
对
代回得到对偶问题:
KKT 条件
互补松弛条件:
这意味着只有支持向量(
软间隔 SVM
引入松弛变量
对偶问题变为约束
核函数 (Kernel Trick)
对偶问题中的
| 核函数 | 公式 |
|---|---|
| 线性核 | |
| 多项式核 | |
| RBF (高斯核) | |
| Sigmoid 核 |
Mercer 定理:
RBF 核的直觉
RBF 核相当于将样本映射到无穷维空间。参数
SMO 算法简述
序列最小优化(Sequential Minimal Optimization)每次选取两个
代码对应
bash
python -m pipelines.classification.svc