支持向量机(SVM) 是一种经典的监督学习算法,主要用于分类和回归任务。其核心思想是找到一个最优超平面(或曲面),将不同类别的数据分隔开,并最大化分类边界(即“间隔”)。SVM 在小样本、高维数据中表现优异,并可通过核函数处理非线性问题。
核心原理
1.线性可分情况
目标:找到能将两类数据分开的最优超平面,使得两类数据的间隔(Margin)最大。
支持向量:距离超平面最近的样本点(决定分类边界的关键数据)。
2.非线性可分情况
核技巧(Kernel Trick):将数据映射到高维空间,使其线性可分。
软间隔(Soft Margin):允许部分样本分类错误,引入松弛变量。
3.SVM回归(SVR):
目标:拟合一个超平面,使大部分数据点落在间隔带内。
损失函数:不敏感损失。
SVM的优点:
高维数据有效:尤其适合特征维度高于样本量的场景(如文本分类)。
泛化能力强:最大化间隔降低过拟合风险。
核函数灵活:可处理复杂非线性问题。
SVM的缺点:
计算复杂度高:大规模数据训练慢(需优化算法如SMO)。
参数调优敏感:核函数选择影响性能。
概率输出缺失:需额外处理(如Platt Scaling)生成概率估计。