5.1. 支撑矢量机¶
支撑矢量机 (Support Vector Machine) 也称支持向量机, Vladimir N. Vapnik and Alexey Ya. Chervonenkis等人于1963年提出一种通过将核技巧应用于最大边缘超平面(maximum-margin hyperplanes)来创建非线性分类器的方法. 现今使用最多的标准的SVM是由 Corinna Cortes and Vapnik 等人于1993年提出并于1995年出版的 [5] .
假设有训练样本集 \({\mathbb S} = \{({\bm x}_i, {\bm y}_i)\}_{i=1}^N\) , SVM的优化问题为
其中, \({\bm w}\) 为模型参数, \(C\) 为平衡因子, \(\xi_i\) 为第 \(i\) 个样本对应误差, \({\bm z}_i\) 为第 \(i\) 个样本 \({\bm x}_i\) 在特征空间中的象 \({\bm z}_i = f({\bm x}_i)\) , \(f: {\mathbb R}^n \rightarrow {\mathbb R}^m\) .
SVM中的参数 \(C\) 用于平衡最大边缘(margin)和错分的数量, 大的 \(C\) 使得训练的SVM具有窄的边缘和减少错分; 减小 \(C\) 使得SVM忽略更多训练样本, 分类边缘更宽.
libsvm : a popular library of SVM learners
liblinear : a library for large linear classification including some SVMs
SVM light a collection of software tools for learning and classification using SVM
SVMJS live demo a GUI demo for JavaScript implementation of SVMs