什么是 SVM?
SVM(支持向量机,Support Vector Machine)是一种用于分类和回归的监督学习算法,核心目标是通过寻找最优超平面(Hyperplane)来最大化不同类别之间的边界(Margin)。
🧠 核心思想
- 最大化间隔:SVM 通过将数据点分开,使分类边界尽可能远离最近的样本点(支持向量)。
- 结构风险最小化:在复杂模型和简单模型之间权衡,避免过拟合。
- 核技巧:通过映射到高维空间处理非线性问题(如
Radial_Basis_Function
或Polynomial_Kernel
)。
📚 数学原理简述
线性可分情况
- 寻找方程:
w·x + b = 0
,其中w
是权重向量,b
是偏置项。 - 优化目标:最大化间隔
2/||w||
,即最小化||w||
。
- 寻找方程:
软间隔与正则化
- 引入松弛变量
ξ_i
处理线性不可分问题。 - 目标函数:
1/2 ||w||² + CΣξ_i
,其中C
是正则化参数。
- 引入松弛变量
对偶问题
- 通过拉格朗日乘数法将原始问题转化为对偶问题,简化计算。
📌 应用场景
- 图像识别:如
Face_Recognition
或Object_Detection
。 - 文本分类:如情感分析、垃圾邮件过滤。
- 生物信息学:基因分类与蛋白质结构预测。
🧪 实践建议
- 尝试使用
Scikit_Learn
库实现 SVM 分类器(🔗 SVM 实践教程)。 - 对比不同核函数(如
Linear_Kernel
、RBF_Kernel
)的性能差异。 - 结合交叉验证优化超参数(如
C
和gamma
)。