支持向量机(SVM)导论
支持向量机是一种监督学习模型,特别适用于分类任务。与受所有数据点影响的逻辑回归不同,SVM专注于寻找训练数据中分隔两类样本的"最优"超平面——即与任意类别最近数据点距离(称为间隔)最大的超平面。这些决定间隔的关键数据点称为支持向量。
SVM理论发展路线图
本课程将按以下脉络展开SVM讲解:
- 最优间隔分类器:核心目标是寻找最大化类别间隔的超平面,奠定SVM理论基础
- 核方法:引入"核技巧",通过数据升维实现非线性决策边界
SVM数学符号调整
为简化推导,将输出变量 y 的取值从{0,1}改为{-1,1}。该调整使分类问题与间隔的数学表达更优雅。
函数间隔
函数间隔用于衡量预测置信度。对于训练样本 (x(i),y(i)),参数为 w 和 b 的分类器函数间隔定义为:
γ^(i)=y(i)(wTx(i)+b)
- 当 y(i)=1 时,正确分类需 wTx(i)+b≫0
- 当 y(i)=−1 时,正确分类需 wTx(i)+b≪0
函数间隔越大表明预测越准确且置信度越高。但其存在显著缺陷:通过缩放参数(如 w→2w,b→2b)可任意增大间隔值,而超平面 wTx+b=0 并未改变。
几何间隔
为解决函数间隔的缩放问题,引入几何间隔——数据点到决策边界的欧氏距离。
推导过程:
决策边界即超平面 wTx+b=0,法向量 w 与该平面垂直。点 x(i) 到边界的距离可通过向量投影计算:将该点到超平面的投影向量映射至单位法向量 w/∣∣w∣∣ 方向。
几何间隔公式为:
γ(i)=∣∣w∣∣y(i)(wTx(i)+b)
此本质是函数间隔除以 w 的范数。归一化处理使几何间隔对参数缩放具有不变性。
最优间隔分类器
目标在于寻找最大化几何间隔的超平面,可表述为优化问题:
最大化 γ
约束条件:
∣∣w∣∣y(i)(wTx(i)+b)≥γ,∀i=1,...,m
因约束条件非凸,直接求解困难。但利用参数可缩放特性,可施加函数间隔不小于1的约束:y(i)(wTx(i)+b)≥1。此时最大化几何间隔 γ=1/∣∣w∣∣ 等价于最小化 ∣∣w∣∣(为计算便利改为最小化 21∣∣w∣∣2)。
由此得到SVM标准优化形式:
最小化 21∣∣w∣∣2
约束条件:
y(i)(wTx(i)+b)≥1,∀i=1,...,m
该问题为具有二次目标函数与线性约束的凸优化问题,可高效求解。
核技巧(Kernel Trick)
核技巧是一种强大的技术,使得支持向量机(SVM)能够学习复杂的非线性决策边界。其核心洞察在于:SVM的对偶优化问题和最终决策规则仅依赖于特征向量的内积,而非特征向量本身。
该技术的本质是将原始特征向量的内积替换为核函数。核函数 K(x,z) 能够在无需显式将数据映射到高维空间的情况下,直接计算特征向量在该空间的内积。
若存在特征映射 ϕ(x) 将输入特征 x 映射到高维空间,则核函数定义为:
K(x,z)=ϕ(x)Tϕ(z)
通过简单地将内积 ⟨x,z⟩ 替换为核函数 K(x,z),即可训练出在高维特征空间中有效运作的SVM——在该空间中线性决策边界可分离数据,从而在原始特征空间中实现非线性决策边界。
采用核技巧的SVM对偶问题转化为:
最大化 W(α)=∑i=1mαi−21∑i,j=1my(i)y(j)αiαjK(x(i),x(j))
约束条件:
- αi≥0,i=1,...,m
- ∑i=1mαiy(i)=0
新样本 x 的决策函数为:
∑i=1mαiy(i)K(x(i),x)+b
核函数实例:多项式核(Polynomial Kernel)
典型的核函数是多项式核,其 d 次形式定义为:
K(x,z)=(xTz+c)d
其中常数 c 用于调节多项式高次项与低次项的权重。
以二次多项式核 (d=2,c=0) 为例:
K(x,z)=(xTz)2
设二维特征向量 x=(x1x2), z=(z1z2),则:
K(x,z)=(x1z1+x2z2)2=x12z12+2x1z1x2z2+x22z22
现构造三维特征映射:
ϕ(x)=x122x1x2x22
映射向量的内积为:
ϕ(x)Tϕ(z)=(x122x1x2x22)z122z1z2z22=x12z12+2x1x2z1z2+x22z22
此结果与 K(x,z)=(xTz)2 完全一致。该实例证明:多项式核函数无需显式生成高维特征向量,即可计算高维空间的内积——这正是核技巧的精髓所在。
以下是支持向量机(SVM)相关章节的详细课程笔记:
核函数SVM的可视化理解
当我们在SVM中使用核函数时,本质上是在将数据映射到更高维的空间使其线性可分。SVM在这个高维特征空间中寻找最优线性决策边界。当把这个边界投影回原始特征空间时,就会呈现出复杂的非线性决策边界。核心要义在于:尽管原始空间中的决策边界可能是曲线状的复杂形态,但在核函数构建的高维空间中,它只是一个简单的超平面。
有效核函数与Mercer定理
关键问题在于:什么样的函数才能作为有效核函数?并非所有函数都能作为SVM的核函数。一个函数要成为有效核函数,必须对应于某个高维空间中的内积运算。
Mercer定理为此提供了严格的数学判定条件:当且仅当对于任意训练样本集,其对应的核矩阵 K 是半正定矩阵时,函数 K(x,z) 才是有效核函数。核矩阵是一个 m x m 矩阵,其中每个元素 Kij=K(x(i),x(j))。
实践中我们无需每次都验证Mercer定理,可以直接使用以下几类经过验证的核函数,或者通过组合规则从现有有效核函数构建新核函数。
L1范数软间隔SVM(处理非线性可分数据)
现实数据集往往无法完全线性可分,即使使用核函数也是如此。为此我们引入L1范数软间隔SVM,通过放松约束条件允许一定程度的误分类。
通过在优化问题中引入松弛变量 ξi≥0 来实现这一目标。这些松弛变量允许数据点位于间隔错误的一侧,甚至完全位于决策边界的错误侧。
新的优化问题表述为:
最小化 21∣∣w∣∣2+C∑i=1mξi
约束条件:
- y(i)(wTx(i)+b)≥1−ξi, i=1,...,m
- ξi≥0, i=1,...,m
参数 C 是正则化参数,控制最大化间隔与最小化分类误差之间的权衡:
- 较大的C值:对误分类施加高惩罚,导致间隔变小,可能产生过拟合
- 较小的C值:允许更大间隔和更多误分类,可能提升泛化能力
软间隔SVM的对偶形式与原始形式非常相似,唯一变化是拉格朗日乘子的上界约束:
最大化 W(α)=∑i=1mαi−21∑i,j=1my(i)y(j)αiαjK(x(i),x(j))
约束条件:
- 0≤αi≤C, i=1,...,m
- ∑i=1mαiy(i)=0
常用SVM核函数示例
以下是几种经典SVM核函数:
-
线性核:最基础的核函数,即标准内积运算,适用于线性可分数据
K(x,z)=xTz
-
多项式核:计算多项式特征空间的内积
K(x,z)=(xTz+c)d
-
高斯核(径向基函数核/RBF核):能处理复杂非线性关系的强大核函数,可将数据映射到无限维空间
K(x,z)=exp(−2σ2∣∣x−z∣∣2)
其中σ控制高斯函数的宽度
-
专用核函数:还可以针对特定数据类型(如字符串、图像等结构化数据)设计专用核函数,这类核函数能捕捉特定领域内有意义的相似性度量
拉格朗日乘数法与SVM优化问题的转化过程
一、拉格朗日乘数法简介
拉格朗日乘数法是一种求解带约束优化问题的数学方法。对于原始优化问题:
wminf(w)s.t.gi(w)≤0 (i=1,...,m)
通过引入拉格朗日乘子 αi≥0,构造拉格朗日函数:
L(w,α)=f(w)+i=1∑mαigi(w)
原始问题转化为对偶问题:
αmaxwminL(w,α)
二、线性SVM的原始优化问题
对于线性可分SVM,原始目标是最大化几何间隔 γ=1/∥w∥,等价于:
w,bmin21∥w∥2s.t.y(i)(wTx(i)+b)≥1 (∀i)
三、转化为拉格朗日函数
引入拉格朗日乘子 αi≥0,得到:
L(w,b,α)=21∥w∥2−i=1∑mαi[y(i)(wTx(i)+b)−1]
四、推导对偶问题
-
求极小值:对 w,b 求偏导并令为零
∇wL=w−i=1∑mαiy(i)x(i)=0 ⇒ w=i=1∑mαiy(i)x(i)
∂b∂L=−i=1∑mαiy(i)=0
-
代入消元:将 w 表达式代回拉格朗日函数
L=i=1∑mαi−21i,j=1∑mαiαjy(i)y(j)⟨x(i),x(j)⟩
-
得到对偶问题:
αmaxi=1∑mαi−21i,j=1∑mαiαjy(i)y(j)⟨x(i),x(j)⟩
s.t. αi≥0, i=1∑mαiy(i)=0
五、KKT条件与支持向量
最优解需满足KKT条件:
- αi≥0
- y(i)(wTx(i)+b)−1≥0
- αi[y(i)(wTx(i)+b)−1]=0
支持向量即对应 αi>0 的样本点,它们满足 y(i)(wTx(i)+b)=1(位于间隔边界上)。
六、最终决策函数
将 w=∑αiy(i)x(i) 代入:
f(x)=sign(i=1∑mαiy(i)⟨x(i),x⟩+b)
其中 b 可通过支持向量计算得到:
b=y(k)−i=1∑mαiy(i)⟨x(i),x(k)⟩(任选一个支持向量 x(k))
关键结论
- 只有支持向量的 αi>0,其他样本的 αi=0
- 决策函数仅依赖于支持向量与测试样本的内积
- 该形式自然延伸出核函数方法(将内积替换为核函数 K(x,z))