【支持向量机】SVM线性支持向量机学习算法——软间隔最大化支持向量机

支特向量机(support vector machines, SVM)是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器。包含线性可分支持向量机、 线性支持向量机、非线性支持向量机。

当训练数据近似线性可分时,通过软间隔最大化学习线性分类器, 即为线性支持向量机,又称为软间隔支持向量机。 

线性支持向量机学习算法

输入:线性可分训练数据集$T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}$,其中$x_i\in$${\cal X}={\mathbf{R}}^{n}\:,\quad{\gamma_{i}}\in{\cal Y}=\{-1,+1\}\:,\quad i=1,2,\cdots,N\:;$

输出:分离超平面和分类决策函数

1)构造并求解凸二次规划问题

\begin{array}{ll}{\min_{w,b,\xi }}&{\frac{1}{2}\parallel w\parallel^{2}+C\sum_{i=1}^{N}\xi _i} \\\\{\mathrm{s.t.}}&{y_{i}(w{\bullet}x_{i}+b)\geqslant1-\xi _i,\quad i=1,2,\cdots,N} \\\end{array}.​​​​​​​

\\\xi _i\geqslant0,\quad i=1,2,\cdots,N

得到解$w^{*},b^{*}$

在有约束的情况下最小化向量范数

2)代入解,

得到分离超平面:

$w^{*}\cdot x+b^{*}=0$

分类决策函数:

$f(x)=\mathrm{sign}(w^{*}\cdot x+b^{*})$

你可能感兴趣的:(算法,支持向量机,学习)