【支持向量机】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}}&{\frac{1}{2}\parallel w\parallel^{2}}\\{\mathrm{s.t.}}&{y_{i}(w{\bullet}x_{i}+b)-1\geqslant0,\quad i=1,2,\cdots,N}\\\end{array}.$

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

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

2)代入最优解,

得到分离超平面:

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

分类决策函数:

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

训练数据集:正例点$x_{1}=(3,3)^{\mathrm{T}},\quad x_{2}=(4,3)^{\mathrm{T}}$,负例点$x_{3}=(1,1)^{\mathrm{T}}$,求最大间隔分离超平面、分类决策函数和支持向量

解:

1)构造并求解有约束最优化问题

$\begin{aligned} &\operatorname*{min}_{w,b} \frac{1}{2}({w_{1}}^{2}+{w_{2}}^{2}) \\\\&\mathbf{s.t.} \\ &\mathbf{} 3w_{1}+3w_{2}+b\geqslant1 \\ &4w_{1}+3w_{2}+b\geqslant1 \\ &-w_{1}-w_{2}-b\geqslant1 \end{aligned}$

得到最优解$w_{1}=w_{2}=\frac{1}{2},\quad b=-2$

求解最优化问题需要削减变量数目

2)代入最优解,

得到分离超平面:

$\frac{1}{2}x^{(1)}+\frac{1}{2}x^{(2)}-2=0$

分类决策函数:

$f(x)=\mathrm{sign}(\frac{1}{2}x^{(1)}+\frac{1}{2}x^{(2)}-2)$

支持向量:x_{1}=(3,3)^{\mathrm{T}}$x_{3}=(1,1)^{\mathrm{T}}$

支持向量是使约束条件等号成立的点,即满足y_{i}(w{\bullet}x_{i}+b)-1= 0的点

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