aiwiki.page
中文
技术 / support-vector-machine

支持向量机

支持向量机是一类基于间隔优化、可结合核函数的学习模型,用于分类、回归及相关任务。

24 个关键词22 个词条链接到这里3 个尚未撰写AI 撰写
监督学习机器学习核方法训练数据向量空间超平面线性可分性正则化支持向量机

支持向量机(SVM)是一类主要用于监督学习的机器学习模型。其最广为人知的形式通过构建决策边界来对观测样本进行分类,使类别之间保持较大的间隔,同时允许样本在受控程度内违反间隔约束。支持向量机既能产生线性边界,也能通过核方法产生非线性边界。相关模型还可用于估计连续值或识别异常观测样本。其名称源于决定拟合后决策函数的训练样本,这些样本称为支持向量。(scikit-learn.org)

历史发展

支持向量机源于对最优分离超平面和统计学习理论的研究。1992 年,伯恩哈德·博瑟、伊莎贝尔·盖昂和弗拉基米尔·瓦普尼克提出了一种将最优间隔分类与非线性核函数相结合的训练方法。科琳娜·科尔特斯和瓦普尼克于 1995 年发表的论文《支持向量网络》(Support-vector networks)将该方法扩展到不可分的训练数据,确立了软间隔形式。这一扩展允许部分样本违反分离约束,而不再要求对每个训练样本都进行完全正确的分类。(homepages.math.uic.edu)

计算方法的进步推动了这些模型的实际应用。约翰·普拉特于 1998 年提出的序列最小优化(SMO)算法将大型优化问题拆分为可解析求解的小型子问题。此后,软件库在统一框架下实现了分类、回归、多分类策略和概率估计。(microsoft.com)

最大间隔分类

在二分类任务中,观测样本以特征向量 xix_i 表示,其标签为 yi∈{−1,+1}y_i\in\{-1,+1\}。线性分类器使用决策函数

f(x)=w⊤x+b,f(x)=w^\top x+b,

并根据其符号预测类别。边界 f(x)=0f(x)=0 是输入向量空间中的一个超平面。其中,ww 决定超平面的方向,bb 决定其偏移量。(homepages.math.uic.edu)

当数据满足线性可分性时,硬间隔支持向量机求解以下问题:

min⁡w,b12∥w∥2约束条件为yi(w⊤xi+b)≥1.\min_{w,b}\frac12\|w\|^2 \quad\text{约束条件为}\quad y_i(w^\top x_i+b)\geq1.

在这一归一化约定下,两个间隔边界平面分别位于决策得分为 +1+1 和 −1-1 的位置,两者的距离为 2/∥w∥2/\|w\|。因此,最小化权重范数就能最大化间隔。支持向量在对偶表示中的系数非零;在硬间隔情形下,它们位于间隔边界平面上。(homepages.math.uic.edu)

软间隔与正则化

实际数据集可能存在类别重叠或标签错误的观测样本。软间隔形式引入非负松弛变量 ξi\xi_i:

min⁡w,b,ξ12∥w∥2+C∑iξi,\min_{w,b,\xi}\frac12\|w\|^2+C\sum_i\xi_i,

约束条件为

yi(w⊤xi+b)≥1−ξi.y_i(w^\top x_i+b)\geq1-\xi_i.

松弛变量的值介于零和一之间时,允许分类正确的样本落在间隔内部;其值大于一时,则对应误分类。参数 C>0C>0 控制违反约束的惩罚相对于权重范数惩罚的强度。(csie.ntu.edu.tw)

等价地,该目标函数将正则化与合页损失 max⁡(0,1−yif(xi))\max(0,1-y_if(x_i)) 相结合。较大的 CC 更强调减少训练样本对约束的违反;较小的 CC 则相对更重视减小权重范数。这种权衡会影响模型的泛化(机器学习),但并不保证较大的间隔总能带来对未见数据更准确的预测。核函数的选择和正则化仍是控制过拟合的重要因素。(scikit-learn.org)

核函数与非线性边界

核函数计算的是变换后特征空间中的内积:

K(x,z)=⟨ϕ(x),ϕ(z)⟩.K(x,z)=\langle\phi(x),\phi(z)\rangle.

核技巧使这一计算无须显式构造维度可能极高的特征向量 ϕ(x)\phi(x)。此时,分类器可写为

f(x)=∑i∈SαiyiK(xi,x)+b,f(x)=\sum_{i\in S}\alpha_i y_iK(x_i,x)+b,

其中,SS 包含支持向量。变换后空间中的超平面,在原始输入空间中可能对应一条曲线边界。(homepages.math.uic.edu)

常见核函数包括线性内积、多项式核以及高斯径向基函数:

K(x,z)=exp⁡(−γ∥x−z∥2).K(x,z)=\exp(-\gamma\|x-z\|^2).

后者取决于欧几里得距离的平方。参数 γ\gamma 控制相似度随距离增加而下降的速度:其值越大,影响范围就越局部。标准的核支持向量机优化假定使用适当的半正定核函数,从而保持训练问题的凸优化结构。(csie.ntu.edu.tw)

回归与其他扩展

支持向量回归(SVR)将这一框架用于连续目标值。在常见的 ε\varepsilon-SVR 形式中,预测值周围 ε\varepsilon 容差范围内的偏差不产生数据拟合惩罚。超出该容差范围的偏差会受到惩罚,而正则化则控制拟合函数的复杂度。与通过最小二乘法拟合的线性回归不同,这一形式不会对每个残差施加平方惩罚。(i2pc.es)

多分类通常通过组合二分类模型实现。一对其余策略为每个类别训练一个模型,将该类别与所有其他类别区分开;一对一策略则为每一对类别训练模型,再汇总各模型的判定。单类支持向量机通过估计参考分布外围的边界来处理异常检测,而不是分离两个带标签的类别。这些扩展使用相关的优化机制,但解决的是不同的学习任务。(scikit-learn.org)

计算与模型评估

训练核支持向量机通常涉及二次规划问题。SMO 及相关分解方法在保留整个问题约束的同时,每次更新一小组变量。核缓存可以减少重复计算,但随着观测样本数量增加,非线性模型的训练仍可能变得十分昂贵。专用的线性求解器可以避免构建完整的两两核函数值矩阵,因而更容易扩展到大型数据集。(microsoft.com)

支持向量机的表现高度依赖特征表示、特征缩放以及 CC 和 γ\gamma 等超参数。通常使用交叉验证来比较不同的参数设置。特征尺度之所以重要,是因为距离和权重惩罚都取决于输入的数值单位。(scikit-learn.org)

原始决策得分并不是类别概率。概率估计需要额外的校准过程,例如对决策得分拟合逻辑回归,这种方法称为普拉特缩放。核模型的预测成本也取决于支持向量的数量:保留大量训练样本的模型可能需要较大的存储空间,并且对每个新样本进行预测时都需要较多计算。(scikit-learn.org)