一、基础理论
-
核心思想
- 最大间隔分类器:寻找能最大化类别间隔的超平面,提升模型泛化能力。
- 支持向量:离超平面最近的样本点,决定超平面位置。
-
线性可分情况(硬间隔 SVM)
- 优化目标:
- 对偶问题:通过拉格朗日乘数法转化为对偶形式,引入核函数处理非线性问题。
- 优化目标:
-
线性不可分情况(软间隔 SVM)
- 松弛变量:允许部分样本违反约束,引入惩罚参数 C 平衡间隔与分类错误。
- 优化目标:
二、常见的核函数
1. 线性核(Linear Kernel)
- 表达式:
- 特点:直接计算原始特征的内积,无映射。
- 适用场景:线性可分数据(如文本分类、高维稀疏数据)。
- 优势:计算高效(复杂度
),无需调参。
- 局限性:无法处理非线性问题。
2. 多项式核(Polynomial Kernel)
- 表达式:
,其中,
为多项式次数。
- 特点:通过多项式展开映射到高维空间。
- 适用场景:特征工程中的非线性关系(如金融风控、基因数据分析)。
- 优势:可捕捉特征间的交互作用。
- 局限性:计算复杂度高
,对噪声敏感,需谨慎选择 d。
3. 高斯核(RBF 核,Radial Basis Function Kernel)
- 表达式:
,其中
。
- 特点:无限维映射,可处理任意非线性关系。
- 适用场景:低维密集数据(如图像识别、生物信息学)。
- 优势:万能核,灵活性高,是工业界默认选择。
- 局限性:参数
对模型影响大(
过大会导致过拟合)。
4. Sigmoid 核
- 表达式:
其中
。
- 特点:形式类似神经网络的激活函数。
- 适用场景:近似神经网络模型(如简单模式识别)。
- 优势:计算效率较高。
- 局限性:需严格调参(如
和 r),否则可能退化为线性核。
5. 拉普拉斯核(Laplacian Kernel)
- 表达式:
,其中
。
- 特点:基于 L1 范数的距离(L1 范数是向量中所有元素绝对值的和,数学表达式为:
),对噪声鲁棒性更强。
- 适用场景:特征维度差异较大的数据(如时间序列分析)。
6. 字符串核(String Kernel)
- 表达式: 计算字符串间的相似性(如子序列匹配)。
- 特点:专门处理文本、DNA 序列等非结构化数据。
- 适用场景:自然语言处理(NLP)、生物序列分析。
7. 自定义核函数
- 定义:根据领域知识设计满足 Mercer 条件的核函数。
- 示例:图核(Graph Kernel)、直方图核(Histogram Intersection Kernel)。
- 适用场景:特定领域问题(如社交网络分析、图像检索)。
核函数选择指南
- 数据特征:
- 高维稀疏数据(如文本)→ 线性核。
- 低维密集数据(如图像)→ RBF 核。
- 特征交互复杂 → 多项式核。
- 计算资源:
- 线性核和 Sigmoid 核通常比 RBF 核更快。
- 过拟合风险:
- RBF 核需谨慎调整
,避免过拟合。
- RBF 核需谨慎调整
- 领域知识:
- 字符串数据 → 字符串核;生物序列 → 特定生物核函数。
典型工具与参数调优
- LIBSVM:支持线性、多项式、RBF、Sigmoid 核,提供交叉验证调参。
- scikit-learn:通过
SVC(kernel=...)
实现,参数如gamma
(RBF 核)、degree
(多项式核)。 - 调参建议:
- 使用网格搜索或贝叶斯优化寻找最优参数。
- 优先尝试线性核和 RBF 核,再考虑复杂核函数。
总结:核函数的选择直接影响 SVM 的性能,需结合数据特性、计算成本和领域知识综合决策。实验表明,RBF 核在多数场景下表现稳健,但线性核在高维稀疏数据中往往更高效。
三、Mercer条件
1. Mercer 条件的定义
核函数 满足 Mercer 条件,当且仅当:
- 对称性:
对所有
成立。
- 半正定性:对于任意有限样本集合
,对应的 Gram 矩阵 G 是半正定的,即:
2. Mercer 定理
- 核心结论:若核函数
满足 Mercer 条件,则存在一个特征映射
,使得:
即核函数等价于高维特征空间中的内积。
- 意义:确保 SVM 的优化问题(最大化间隔)是凸二次规划问题,存在唯一最优解。
3. 验证 Mercer 条件的方法
- 直接验证:
- 对称性:检查
- 半正定性:
- 对任意有限样本集合,计算 Gram 矩阵并验证其所有特征值非负。
- 或通过积分形式验证(若
是连续函数):
- 对称性:检查
- 间接方法:
- 使用已知满足 Mercer 条件的核函数(如线性核、RBF 核)。
- 通过 Mercer 定理构造新核函数(如核函数的乘积、线性组合)。
4. 常见核函数的 Mercer 条件
核函数 | 是否满足 Mercer 条件 | 说明 |
---|---|---|
线性核 | 是 | 直接对应原始特征的内积。 |
多项式核 | 是 | 当 |
RBF 核 | 是 | 无限维映射,满足 Mercer 条件。 |
Sigmoid 核 | 不一定 | 仅在特定参数范围(如 |
拉普拉斯核 | 是 | 基于 L1 范数的距离,满足条件。 |
自定义核函数 | 需验证 | 必须满足对称性和半正定性。 |
5. 违反 Mercer 条件的后果
- 非凸优化问题:Gram 矩阵非半正定,导致 SVM 的对偶问题(最大化间隔)可能出现局部最优解。
- 数值不稳定:计算 Gram 矩阵时可能出现负特征值,引发奇异矩阵或无法求解。
6. 实际应用建议
- 优先选择标准核函数:如线性核、RBF 核,避免手动构造核函数。
- 参数调优:对 Sigmoid 核等需谨慎选择参数,确保满足 Mercer 条件。
- 验证 Gram 矩阵:
- 使用小规模数据测试 Gram 矩阵的特征值。
- 通过交叉验证评估模型稳定性。
总结
Mercer 条件是核函数的理论基石,确保核方法的数学严谨性和优化问题的可解性。实际应用中,选择满足 Mercer 条件的核函数(如 RBF 核)可避免理论风险,而自定义核函数需严格验证对称性和半正定性。
四、优化算法
-
对偶问题与拉格朗日乘数法
- 将原始问题转化为对偶形式,引入拉格朗日乘子
,最终优化目标为:
- 约束条件:
- 将原始问题转化为对偶形式,引入拉格朗日乘子
-
序列最小优化(SMO 算法)
- 核心思想:每次优化两个变量,其余变量固定,通过解析求解快速迭代。
- 步骤:
- 选择违反 KKT 条件的样本对
。
- 计算
的更新范围,更新后调整
。
- 更新 b 和误差缓存。
- 选择违反 KKT 条件的样本对
- 优势:避免存储大型矩阵,适合大规模数据。
五、扩展应用
-
多分类 SVM
- 一对多(One-vs-Rest):训练 k 个二分类器,预测时取最大得分类别。
- 一对一(One-vs-One):训练
个二分类器,投票决定类别。
-
支持向量回归(SVR)
- 目标:拟合回归函数
,允许误差在
范围内。
- 优化目标:
- 目标:拟合回归函数
六、优缺点与适用场景
-
优点
- 适合高维数据,避免维度灾难。
- 核技巧灵活处理非线性问题。
- 理论基础扎实,泛化能力强。
-
缺点
- 对大规模数据计算效率较低(SMO 改进后有所缓解)。
- 参数 C 和核函数参数需调优。
-
适用场景
- 小样本高维数据(如文本分类、基因表达分析)。
- 数据分布复杂但特征可分性较好的场景。
七、关键总结
- 核心公式:最大间隔优化、对偶问题、核函数选择。
- 理论保障:Mercer 条件确保核函数有效性。
- 算法核心:SMO 算法高效求解对偶问题。
- 扩展方向:多分类、回归、半监督学习(如直推式 SVM)。