支持向量机:从线性到非线性分类

需积分: 16 1 下载量 192 浏览量 更新于2024-08-29 收藏 280KB DOCX 举报
"支持向量机" 支持向量机(Support Vector Machine,SVM)是一种广泛应用的监督学习模型,主要用于二分类任务。SVM的基本思想是寻找一个在特征空间中具有最大边界的线性分类器。不同于感知机,SVM通过最大化间隔(margin)来优化分类效果,从而提高泛化能力。 1. **线性可分支持向量机** 当训练数据可以被一个线性超平面完美分割时,SVM会寻找这个能最大化间隔的超平面。间隔(margin)分为两种:函数间隔( functional margin)和几何间隔(geometric margin)。函数间隔不考虑样本点到超平面的标度,而几何间隔则考虑了样本点的权重。最大化几何间隔有助于减少过拟合的风险。在实践中,通常使用几何间隔,因为它在处理有噪声的数据时更稳定。 2. **线性支持向量机** 对于线性不可分的数据,SVM引入了软间隔最大化概念,允许部分样本点落在分类边界内,同时引入了一个惩罚参数C,用于控制误分类的代价。目标函数变为最小化惩罚项与间隔的组合,这样即使数据线性不可分,SVM也能找到一个近似的最优解。 3. **非线性支持向量机** 通过核函数(如高斯核、多项式核等),SVM能够将原始数据映射到高维空间,使得原本线性不可分的数据在新空间中变得线性可分。核技巧使得SVM能够在低维空间高效地执行非线性分类。 4. **目标函数与拉格朗日对偶性** SVM的优化过程通常涉及到求解凸二次规划问题。对于线性可分支持向量机,目标是最大化几何间隔,约束条件是所有样本点的几何间隔大于等于1。通过拉格朗日乘子法和对偶性,可以转换原问题为对偶问题,从而简化求解过程。对偶问题的解决不仅更容易,而且自然引入了核函数,使得SVM能够处理非线性问题。 5. **决策函数** 最终找到的超平面可以用来定义分类决策函数,对于新的未知样本,根据其与超平面的距离决定分类归属。支持向量是距离超平面最近的样本点,它们对确定超平面起着关键作用。 6. **算法流程** 线性可分支持向量机和线性支持向量机的算法流程包括:构建和求解约束优化问题,找到最优解(即支持向量),然后利用这些支持向量和对应的拉格朗日乘子计算出分类决策函数。 总结来说,支持向量机是一种强大的机器学习工具,通过最大化间隔和利用核函数,它能在各种复杂数据集上实现有效的分类。无论是线性可分还是线性不可分的数据,SVM都能提供良好的性能,并且在处理高维非线性问题时表现出色。