1. 支持向量机(SVM)基础解析
支持向量机(Support Vector Machine)作为机器学习领域的经典算法,最初由Vapnik等学者在1992年提出。其核心思想是通过寻找最优分类超平面来实现模式分类,这个超平面需要满足两个关键条件:一是能够正确划分不同类别的样本,二是使两类样本到该超平面的最小距离最大化。
在二维空间中,这个最优超平面就是一条直线;在三维空间里是一个平面;而在更高维的特征空间中,则对应一个超平面。SVM通过核函数技巧将低维不可分问题映射到高维空间,使其变得线性可分,这种特性使其在处理非线性分类问题时表现出色。
关键提示:SVM本质上是一个凸二次规划问题,这意味着它能够保证找到全局最优解,而非陷入局部最优,这是其相对于神经网络等算法的显著优势。
1.1 最大间隔分类原理
SVM的核心数学原理可以概括为以下优化问题:
code复制min 1/2 ||w||²
s.t. y_i(w·x_i + b) ≥ 1, ∀i
其中w是超平面的法向量,b是偏置项。这个优化问题的解可以通过拉格朗日乘子法求得,最终得到的分类决策函数为:
f(x) = sign(∑α_i y_i K(x_i,x) + b)
这里α_i是拉格朗日乘子,只有支持向量对应的α_i不为零,这也是算法名称的由来。支持向量就是距离分类超平面最近的样本点,它们决定了分类器的最终形态。
1.2 核函数的选择与比较
当数据线性不可分时,SVM通过核函数将原始特征空间映射到高维空间。常用的核函数包括:
| 核函数类型 | 数学表达式 | 适用场景 | 计算复杂度 |
|---|---|---|---|
| 线性核 | K(x,y)=x·y | 线性可分数据 | 低 |
| 多项式核 | K(x,y)=(γx·y + r)^d | 中等复杂度问题 | 中 |
| 高斯核(RBF) | K(x,y)=exp(-γ | x-y | |
| Sigmoid核 | K(x,y)=tanh(γx·y + r) | 特定场景 | 中 |
在实际应用中,RBF核是最常用的选择,因为它可以处理各种复杂的非线性关系,且只有γ一个主要参数需要调整。选择核函数时需要考
