支持向量机(Support Vector Machine, SVM)是一种用于分类任务的机器学习模型。
一、问题定义与决策边界
SVM 的核心任务是在多维空间中寻找一个超平面,将两类数据有效区分开来。
- 二维空间:通过一条直线区分两类数据点。
- 三维空间:通过一个二维平面区分两类数据。
- N 维空间:通过一个维度为 ( M-1 ) 的超平面区分两类数据(其中 ( M ) 为维度数)。
该超平面被称为决策边界(Decision Boundary)。当有新数据加入时,根据该数据点相对于决策边界的位置,即可判别其所属类别。
二、间隔与支持向量
在寻找最佳决策边界时,并非任意一条能区分数据的线都是最优解。
- 间隔(Margin):指决策边界与两类数据中最近点之间的距离。这个距离起到了缓冲区的作用。间隔越大,意味着两类数据的差异越明显,分类结果的可信度越高。
- 优化目标:寻找最佳决策边界的问题,转化为求解两类数据的最大间隔问题。
- 支持向量(Support Vector):距离决策边界最近的样本数据点。这些点决定了间隔的大小,也是 SVM 名称的由来。
三、数学直觉与超平面方程
假设决策边界的超平面方程为 ( w_1x_1 + w_2x_2 + b = 0 )。
为了定义间隔,将决策边界上下分别移动距离 ( C ),得到对应的间隔上下边界。由于上下边界一定会经过支持向量,这些点距离决策边界最近。
将方程两边分别除以 ( C ),并用 ( w', b' ) 替换原变量,可将方程右侧转化为 ( \pm 1 )。由于 ( w', b' ) 仅为求解代号,替换回 ( w, b ) 不影响计算,最终得到三个关键超平面方程:
- 正超平面:( w_1x_1 + w_2x_2 + b = 1 )
- 决策超平面:( w_1x_1 + w_2x_2 + b = 0 )
- 负超平面:( w_1x_1 + w_2x_2 + b = -1 )
所有位于正超平面及其上方的数据点属于正类,位于负超平面及其下方的点属于负类。分类判断依据是新数据与决策超平面的相对位置。
四、硬间隔与软间隔
在实际数据中,可能存在异常值(离群点),导致无法找到完美的间隔。
- 硬间隔(Hard Margin):要求所有数据点必须被正确分类,且间隔最大化。若存在异常点,为了容纳该点,间隔距离会被迫缩小,影响整体模型性能。-
- 软间隔(Soft Margin):引入**损失因子**概念,允许部分数据点违背规则。
五、升维转换与核技巧
当数据在低维度下无法通过直线或平面有效区分时(线性不可分),需要采用升维策略。
- 升维转换:通过合适的维度转换函数,将低维数据映射到高维空间。在高维空间中,原本线性不可分的数据可能变得线性可分,从而可以通过超平面进行分割。-
- 核技巧(Kernel Trick):利用 ** 核函数(Kernel Function)**直接测量高维向量间的相似度。无需知晓具体的维度转换函数,也无需将数据实际送入高维空间计算,即可直接获得数据的高维差异度并据此进行分类判断。
六、总结与后续展望
本内容确立了 SVM 的直觉理解框架:
- 核心机制:通过最大化间隔来寻找最优决策边界。
- 关键要素:支持向量决定了间隔的大小。
- 容错机制:软间隔通过平衡间隔与损失来处理异常值。
- 非线性处理:升维转换与核技巧解决了低维线性不可分的问题。
