支持向量机是二分类模型,与感知机思想类似,都是寻找一条分离超平面能够将数据分成两类,在线性可分数据集中,这种分离超平面有无数条,感知机只要求能够从无数条分离超平面中找到一条,而支持向量机要求能够从无数种分离超平面中找到“最优”的那一条。
支持向量机可以根据数据的分布从简单模型推广到复杂模型:
- 当数据集线性可分时,利用最简单的线性可分支持向量机即可;
- 当数据集线性不可分,但是近似线性可分,就引出了加入软间隔的线性支持向量机;
- 当数据集的分布不是近似线性的,就引出了加入核函数的非线性支持向量机
假设有线性可分数据集:
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T = \{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)}
其中, x i ∈ R n x_i \in {\rm R}^n xi∈Rn, y i ∈ { + 1 , − 1 } y_i\in\{+1,-1\} yi∈{+1,−1}, i = 1 , 2 , . . . , N i=1,2,...,N i=1,2,...,N.
线性可分支持向量机的目标是在特征空间中找到一个分离超平面,能够将实例分到不同的类。分离超平面对应于方程 w ⋅ x + b = 0 w\cdot x+b=0 w⋅x+b=0,规定法向量 w w w指向的一侧为正类,另一侧为负类。
给定线性可分数据集,利用间隔最大化原则求解最优分离超平面,假设为:
w ∗ ⋅ x + b ∗ = 0 w^*\cdot x+b^*=0 w∗⋅x+b∗=0
以及相应的分类决策函数:
f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x) = {\rm sign}(w^*\cdot x+b^*) f(x)=sign(w∗⋅x+b∗)
此模型即为线性可分支持向量机,他对应着将两类数据正确分类且间隔最大的分离超平面。
空间中点 x ∗ x^* x∗到超平面 w ⋅ x + b = 0 w\cdot x+b=0 w⋅x+b=0的距离公式:
d i s t = ∣ w ⋅ x ∗ + b ∣ ∣ w ∣ dist=\frac{|w\cdot x^*+b|}{|w|} dist=∣w∣∣w⋅x∗+b∣
在超平面 w ⋅ x + b = 0 w\cdot x+b=0 w⋅x+b=0给定的情况下, ∣ w ⋅ x + b ∣ |w\cdot x+b| ∣w⋅x+b∣能够相对的代表 x x x距离超平面的远近,而 w ⋅ x + b w\cdot x+b w⋅x+b的正负与类标记 y y y的符号是否一致能够表示分类是否正确,因此可以用 y ( w ⋅ x + b ) y(w\cdot x+b) y(w⋅x+b)表示分类的正确性(正数分类正确,负数分类错误)以及距离超平面的远近程度。
因此对于超平面 w ⋅ x + b = 0 w\cdot x+b=0 w⋅x+b=0以及样本点 ( x i , y i ) (x_i,y_i) (xi,yi)定义函数间隔为:
γ ^ i = y i ( w ⋅ x i + b ) \hat{\gamma}_i=y_i(w\cdot x_i+b) γ^i=yi(w⋅xi+b)
定义超平面 ( w , b ) (w,b) (w,b)关于训练数据集 T T T的函数间隔为超平面关于 T T T中所有样本点的函数间隔的最小值:
γ ^ = m i n i = 1 , . . . , N γ i ^ \hat{\gamma} = \underset{i=1,...,N}{\rm min} \hat{\gamma_i} γ^=i=1,...,Nminγi^
函数间隔的缺点:成比例的更改 w w w和 b b b,例如改成 2 w 2w 2w和 2 b 2b 2b,超平面并没有改变,但函数间隔变为了原来的两倍。
为了解决这个问题,因此可以将 w w w加一些约束,例如规定 ∣ ∣ w ∣ ∣ = 1 ||w||=1 ∣∣w∣∣=1,使得每个超平面对应一个间隔,这时函数间隔变为几何间隔。
其实几何间隔就是添加了正负号的空间中点到超平面的距离公式,在上述条件下,样本点 ( x i , y i ) (x_i,y_i) (xi,yi)关于超平面的几何间隔定义如下:
γ i = y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) \gamma_i = y_i(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||}) γi=yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)
定义超平面 ( w , b ) (w,b) (w,b)关于训练数据集 T T T的几何间隔为超平面关于 T T T中所有样本点的几何间隔的最小值:
γ = γ i i = 1 , . . . , N \gamma = \underset{i=1,...,N}{\gamma_i} γ=i=1,...,Nγi
γ i = γ i ^ ∣ ∣ w ∣ ∣ γ = γ ^ ∣ ∣ w ∣ ∣ \gamma_i= \frac{\hat{\gamma_i}}{||w||}\\ \gamma= \frac{\hat{\gamma}}{||w||} γi=∣∣w∣∣γi^γ=∣∣w∣∣γ^
支持向量机的基本思想就是求解能够正确划分数据集且几何间隔最大的分离超平面
为了求得几何间隔最大的分离超平面,即最大间隔分离超平面,可以构建如下模型:
m a x w , b γ s . t . y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) ≥ γ , i = 1 , 2 , . . . N \begin{aligned} &\underset{w,b}{\rm max}\;\;\gamma\\ &{\rm s.t.}\;\;y_i\left(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||}\right)\geq\gamma,\;i=1,2,...N \end{aligned} w,bmaxγs.t.yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)≥γ,i=1,2,...N
考虑几何间隔与函数间隔的关系,可以得到如下:
m a x w , b γ ^ ∣ ∣ w ∣ ∣ s . t . y i ( w ⋅ x i + b ) ≥ γ ^ , i = 1 , 2 , . . . N \begin{aligned} &\underset{w,b}{\rm max}\;\;\frac{\hat{\gamma}}{||w||}\\ &{\rm s.t.}\;\;y_i\left(w\cdot x_i+b\right)\geq\hat{\gamma},\;i=1,2,...N \end{aligned} w,bmax∣∣w∣∣γ^s.t.yi(w⋅xi+b)≥γ^,i=1,2,...N
由于成比例的更改 w , b w,b w,b为 λ w , λ b \lambda w, \lambda b λw,λb,函数间隔 γ ^ \hat{\gamma} γ^相应变为 λ γ ^ \lambda \hat{\gamma} λγ^,因此可以令 λ = 1 γ ^ \lambda=\frac{1}{\hat{\gamma}} λ=γ^1,又由于最大化 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} ∣∣w∣∣1与最小化 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21∣∣w∣∣2等价则问题变成凸二次规划问题:
m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w ⋅ x i + b ) ≥ 1 , i = 1 , 2 , . . . N \begin{aligned} &\underset{w,b}{\rm min}\;\;\frac{1}{2}||w||^2\\ &{\rm s.t.}\;\;y_i\left(w\cdot x_i+b\right)\geq 1,\;i=1,2,...N \end{aligned} w,bmin21∣∣w∣∣2s.t.yi(w⋅xi+b)≥1,i=1,2,...N
为了求解上述凸二次规划问题,可以利用拉格朗日对偶性,通过求解对偶问题的最优解,得到原始问题的最优解。这样求解有一下两个优点:
- 对偶问题更容易求解
- 方便后续引入核函数,推广到非线性分类问题
首先构造拉格朗日函数,引入拉格朗日乘子 α = ( α 1 , α 2 , . . . , α N ) T \alpha=(\alpha_1,\alpha_2,...,\alpha_N)^T α=(α1,α2,...,αN)T, α i ≥ 0 , i = 1 , 2 , . . . , N \alpha_i\geq 0, i=1,2,...,N αi≥0,i=1,2,...,N,定义拉格朗日函数:
L ( w , b , a ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i y i ( w ⋅ x i + b ) + ∑ i = 1 N α i L(w,b,a) = \frac{1}{2}||w||^2-\sum_{i=1}^{N}\alpha_i y_i(w\cdot x_i+b)+\sum_{i=1}^{N}\alpha_i L(w,b,a)=21∣∣w∣∣2−i=1∑Nαiyi(w⋅xi+b)+i=1∑Nαi
原始问题可以表示为极小极大问题:
m i n w , b m a x α L ( w , b , α ) \underset{w,b}{\rm min\,}\underset{\alpha}{\rm max\,}L(w,b,\alpha) w,bminαmaxL(w,b,α)
根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:
m a x α m i n w , b L ( w , b , α ) \underset{\alpha}{\rm max\,}\underset{w,b}{\rm min\,}L(w,b,\alpha) αmaxw,bminL(w,b,α)
为了得到对偶问题的解,需要先求 L ( w , b , α ) L(w,b,\alpha) L(w,b,α)对 w , b w,b w,b的极小,再求对 α \alpha α的极大。
(1) 求 m i n w , b L ( w , b , α ) \underset{w,b}{\rm min\,}L(w,b,\alpha) w,bminL(w,b,α)
将 L ( w , b , α ) L(w,b,\alpha) L(w,b,α)分别对 w , b w,b w,b求偏导并令其等于 0 0 0得:
∇ w L ( w , b , α ) = w − ∑ i = 1 N α i y i x i = 0 ∇ b L ( w , b , α ) = − ∑ i = 1 N α i y i = 0 ⇒ w = ∑ i = 1 N α i y i x i ∑ i = 1 N α i y i = 0 \begin{aligned} & \nabla_wL(w,b,\alpha)=w-\sum_{i=1}^{N}\alpha_iy_ix_i=0\\ & \nabla_bL(w,b,\alpha)=-\sum_{i=1}^{N}\alpha_iy_i=0\\ & \Rightarrow\\ & w=\sum_{i=1}^{N}\alpha_iy_ix_i\\ & \sum_{i=1}^{N}\alpha_iy_i=0 \end{aligned} ∇wL(w,b,α)=w−i=1∑Nαiyixi=0∇bL(w,b,α)=−i=1∑Nαiyi=0⇒w=i=1∑Nαiyixii=1∑Nαiyi=0
带入 L ( w , b , α ) L(w,b,\alpha) L(w,b,α)中得:
L ( w , b , α ) = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i y i ( ( ∑ j = 1 N α j y j x j ) ⋅ x i + b ) + ∑ i = 1 N α i = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \begin{aligned} L(w,b,\alpha)&=\frac12 \sum_{i=1}^{N}{\sum_{j=1}^{N}{\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)}}-\sum_{i=1}^{N}{\alpha_iy_i\left(\left(\sum_{j=1}^{N}\alpha_jy_jx_j\right)\cdot x_i+b\right)}+\sum_{i=1}^{N}\alpha_i\\ &=-\frac{1}{2}\sum_{i=1}^{N}{\sum_{j=1}^{N}{\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)}}+\sum_{i=1}^{N}{\alpha_i} \end{aligned} L(w,b,α)=21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαiyi((j=1∑Nαjyjxj)⋅xi+b)+i=1∑Nαi=−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
即
m i n w , b L ( w , b , α ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \underset{w,b}{\rm min\,}L(w,b,\alpha)=-\frac{1}{2}\sum_{i=1}^{N}{\sum_{j=1}^{N}{\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)}}+\sum_{i=1}^{N}{\alpha_i} w,bminL(w,b,α)=−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
(2) 求 m i n w , b L ( w , b , α ) \underset{w,b}{\rm min\,}L(w,b,\alpha) w,bminL(w,b,α)对 α \alpha α的极大:
m a x α − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 α i ≥ 0 , i = 1 , 2 , . . . , N \begin{aligned} \underset{\alpha}{\rm max}-\frac{1}{2}\sum_{i=1}^{N}{\sum_{j=1}^{N}{\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)}}+\sum_{i=1}^{N}{\alpha_i} \\ {\rm s.t.\;}\sum_{i=1}^{N}{\alpha_iy_i}=0 \hspace{3.6cm}\\ \alpha_i\geq 0,i=1,2,...,N \hspace{2.2cm} \end{aligned} αmax−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαis.t.i=1∑Nαiyi=0αi≥0,i=1,2,...,N
即:
m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 α i ≥ 0 , i = 1 , 2 , . . . , N \begin{aligned} \underset{\alpha}{\rm min\,}\frac{1}{2}\sum_{i=1}^{N}{\sum_{j=1}^{N}{\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)}}-\sum_{i=1}^{N}{\alpha_i} \hspace{0.6cm}\\ {\rm s.t.\;}\sum_{i=1}^{N}{\alpha_iy_i}=0 \hspace{3.6cm}\\ \alpha_i\geq 0,i=1,2,...,N \hspace{2.2cm} \end{aligned} αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαis.t.i=1∑Nαiyi=0αi≥0,i=1,2,...,N
考虑原始最优化问题和对偶最优化问题,显然原始问题满足目标函数 1 2 ∣ ∣ w ∣ ∣ 2 \frac12{||w||^2} 21∣∣w∣∣2是凸函数,约束函数 1 − y i ( w ⋅ x i + b ) 1-y_i\left(w\cdot x_i+b\right) 1−yi(w⋅xi+b)是凸函数,且存在点 w , b w,b w,b使得约束函数不等号成立(即严格可行),则根据定理(统计学习方法附录C,定理C.2)存在 w ∗ , b ∗ , α ∗ w^*,b^*,\alpha^* w∗,b∗,α∗使得 w ∗ , b ∗ w^*,b^* w∗,b∗是原始问题的最优解, α ∗ \alpha^* α∗是对偶问题的最优解,且:
m i n w , b m a x α L ( w , b , α ) = m a x α m i n w , b L ( w , b , α ) = L ( w ∗ , b ∗ , α ∗ ) \underset{w,b}{\rm min\,}\underset{\alpha}{\rm max\,}L(w,b,\alpha)=\underset{\alpha}{\rm max\,}\underset{w,b}{\rm min\,}L(w,b,\alpha)=L(w^*,b^*,\alpha^*) w,bminαmaxL(w,b,α)=αmaxw,bminL(w,b,α)=L(w∗,b∗,α∗)
这意味着,求解原始问题可以转化为求解对偶问题.
定理:设 α ∗ = ( α 1 ∗ , α 1 ∗ , . . . , α N ∗ ) \alpha^*=(\alpha^*_1,\alpha^*_1,...,\alpha_N^*) α∗=(α1∗,α1∗,...,αN∗)是对偶问题的解,则存在下标 j j j,使得 α j ∗ > 0 \alpha_j^*>0 αj∗>0,并可按下式求得原始最优化问题的解 w ∗ , b ∗ w^*,b^* w∗,b∗:
w ∗ = ∑ i = 1 N α i ∗ y i x i b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) w^*=\sum_{i=1}^{N}\alpha_i^*y_ix_i\\ b^*=y_j-\sum_{i=1}^{N}\alpha_i^*y_i(x_i\cdot x_j) w∗=i=1∑Nαi∗yixib∗=yj−i=1∑Nαi∗yi(xi⋅xj)
证明:
原始问题满足目标函数 1 2 ∣ ∣ w ∣ ∣ 2 \frac12{||w||^2} 21∣∣w∣∣2是凸函数,约束函数 1 − y i ( w ⋅ x i + b ) 1-y_i\left(w\cdot x_i+b\right) 1−yi(w⋅xi+b)是凸函数,且存在点 w , b w,b w,b使得约束函数不等号成立(即严格可行),存在 w ∗ , b ∗ , α ∗ w^*,b^*,\alpha^* w∗,b∗,α∗使得 w ∗ , b ∗ w^*,b^* w∗,b∗是原始问题的最优解, α ∗ \alpha^* α∗是对偶问题的最优解,则根据定理(统计学习方法附录C,定理C.3)KKT条件成立,即:
∇ w L ( w ∗ , b ∗ , α ∗ ) = w ∗ − ∑ i = 1 N α i ∗ y i x i = 0 ∇ b L ( w ∗ , b ∗ , α ∗ ) = − ∑ i = 1 N α i ∗ y i = 0 α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 ) = 0 , i = 1 , 2 , . . . , N y i ( w ∗ ⋅ x i + b ∗ ) − 1 ) ≥ 0 , i = 1 , 2 , . . . , N α i ∗ ≥ 0 , i = 1 , 2 , . . . , N \begin{aligned} &\nabla_wL(w^*,b^*,\alpha^*)=w^*-\sum_{i=1}^{N}\alpha_i^*y_ix_i=0\\ &\nabla_bL(w^*,b^*,\alpha^*)=-\sum_{i=1}^{N}\alpha_i^*y_i=0\\ &\alpha_i^*(y_i(w^*\cdot x_i+b^*)-1)=0,\;i=1,2,...,N\\\\ &y_i(w^*\cdot x_i+b^*)-1)\geq 0,\;i=1,2,...,N\\\\ &\alpha_i^*\geq0,\;i=1,2,...,N \end{aligned} ∇wL(w∗,b∗,α∗)=w∗−i=1∑Nαi∗yixi=0∇bL(w∗,b∗,α∗)=−i=1∑Nαi∗yi=0αi∗(yi(w∗⋅xi+b∗)−1)=0,i=1,2,...,Nyi(w∗⋅xi+b∗)−1)≥0,i=1,2,...,Nαi∗≥0,i=1,2,...,N
由此得:
w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^{N}\alpha_i^*y_ix_i w∗=i=1∑Nαi∗yixi
其中至少有一个 α j ∗ > 0 \alpha_j^*>0 αj∗>0,对此 j j j有
y j ( w ∗ ⋅ x j + b ∗ ) − 1 = 0 ⇒ y j 2 ( w ∗ ⋅ x j + b ∗ ) − y j = 0 ⇒ ( w ∗ ⋅ x j + b ∗ ) − y j = 0 ⇒ b ∗ = y j − w ∗ ⋅ x j ⇒ b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) y_j(w^*\cdot x_j+b^*)-1=0\\ \Rightarrow\\ y_j^2(w^*\cdot x_j+b^*)-y_j=0\\ \Rightarrow\\ (w^*\cdot x_j+b^*)-y_j=0\\ \Rightarrow\\ b^*=y_j-w^*\cdot x_j\\ \Rightarrow\\ b^*=y_j-\sum_{i=1}^{N}\alpha_i^*y_i(x_i\cdot x_j) yj(w∗⋅xj+b∗)−1=0⇒yj2(w∗⋅xj+b∗)−yj=0⇒(w∗⋅xj+b∗)−yj=0⇒b∗=yj−w∗⋅xj⇒b∗=yj−i=1∑Nαi∗yi(xi⋅xj)
由此,分离超平面可以写成:
∑ i = 1 N α i ∗ y i ( x i ⋅ x ) + b ∗ = 0 \sum_{i=1}^{N}\alpha_i^*y_i(x_i\cdot x)+b^*=0 i=1∑Nαi∗yi(xi⋅x)+b∗=0
分类决策函数为:
f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i ( x i ⋅ x ) + b ∗ ) f(x) = {\rm sign}\left(\sum_{i=1}^{N}\alpha_i^*y_i(x_i\cdot x)+b^*\right) f(x)=sign(i=1∑Nαi∗yi(xi⋅x)+b∗)
输入:线性可分训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)},其中 x i ∈ R n x_i\in R^n xi∈Rn, y i ∈ { + 1 , − 1 } , i = 1 , 2 , . . . , N y_i\in \{+1,-1\},i=1,2,...,N yi∈{+1,−1},i=1,2,...,N;
输出:分离超平面和分类决策函数。
(1) 构造约束最优化问题
m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 α i ≥ 0 , i = 1 , 2 , . . . , N \begin{aligned} \underset{\alpha}{\rm min\,}\frac{1}{2}\sum_{i=1}^{N}{\sum_{j=1}^{N}{\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)}}-\sum_{i=1}^{N}{\alpha_i} \hspace{0.6cm}\\ {\rm s.t.\;}\sum_{i=1}^{N}{\alpha_iy_i}=0 \hspace{3.6cm}\\ \alpha_i\geq 0,i=1,2,...,N \hspace{2.2cm} \end{aligned} αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαis.t.i=1∑Nαiyi=0αi≥0,i=1,2,...,N
求得最优解 α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α N ∗ ) T \alpha^*=(\alpha^*_1,\alpha^*_2,...,\alpha_N^*)^T α∗=(α1∗,α2∗,...,αN∗)T.
(2) 计算
w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^{N}\alpha_i^*y_ix_i w∗=i=1∑Nαi∗yixi
选择一个 α ∗ \alpha^* α∗的正分量 α i ∗ > 0 \alpha_i^*>0 αi∗>0,计算
b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) b^*=y_j-\sum_{i=1}^{N}{\alpha_i^*y_i(x_i\cdot x_j)} b∗=yj−i=1∑Nαi∗yi(xi⋅xj)
(3) 求得分类超平面
w ∗ ⋅ x + b ∗ = 0 w^*\cdot x+b^*=0 w∗⋅x+b∗=0
分类决策函数
f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)={\rm sign}(w^*\cdot x+b^*) f(x)=sign(w∗⋅x+b∗)
线性可分训练集的最大分隔分离超平面是存在且唯一的。
在线性可分的情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量,即支持向量也是使原始问题中约束条件等号成立的点,即 y i ( w ⋅ x i + b ) − 1 = 0 y_i(w\cdot x_i+b)-1=0 yi(w⋅xi+b)−1=0,在对偶问题中,支持向量对应的 α i ∗ > 0 \alpha^*_i>0 αi∗>0.
与分离超平面平行的两个超平面,即为原始问题中约束条件等式成立对应的超平面
H 1 : w ⋅ x + b = 1 H 2 : w ⋅ x + b = − 1 \begin{aligned} &H_1:w\cdot x+b=1 \\ &H_2:w\cdot x+b=-1 \end{aligned} H1:w⋅x+b=1H2:w⋅x+b=−1
间隔边界之间的距离,即为 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} ∣∣w∣∣2.
对于线性不可分的数据,推广出了线性支持向量机模型
假定特征空间上的训练数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)}
其中, x i ∈ R n , y i ∈ { + 1 , − 1 } , i = 1 , 2 , . . . , N x_i\in R^n,y_i\in\{+1,-1\},i=1,2,...,N xi∈Rn,yi∈{+1,−1},i=1,2,...,N, x i x_i xi为第 i i i个特征向量, y i y_i yi为 x i x_i xi的类标记,该数据集是线性不可分的,但是在出去一些特异点后,剩下的大部分样本点组成的集合是线性可分的。
线性不可分意味着某些样本点的函数间隔不能满足大于等于1的约束,为了解决这个问题,在每个样本点 ( x i , y i ) (x_i,y_i) (xi,yi)引入一个松弛变量 ξ i ≥ 0 \xi_i\geq 0 ξi≥0,将约束条件变为:
y i ( w ⋅ x i + b ) ≥ 1 − ξ i y_i(w\cdot x_i+b)\geq1-\xi_i yi(w⋅xi+b)≥1−ξi
同时,对每个松弛变量 ξ i \xi_i ξi支付一个代价。目标函数由原来的 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21∣∣w∣∣2变成
1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \frac12||w||^2+C\sum_{i=1}^{N}\xi_i 21∣∣w∣∣2+Ci=1∑Nξi
这里 C > 0 C>0 C>0称为惩罚参数, C C C大时对误分类的惩罚增大, C C C小时对误分类的惩罚减小。
根据上述思路,可以利用线性可分时的间隔最大化思想进行学习,由于这里为样本点添加了松弛变量,因此称为软间隔最大化。
原始问题
m i n w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 − C ∑ i = 1 N ξ i s . t . y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , . . . , N ξ i ≥ 0 , i = 1 , 2 , . . . , N \begin{aligned} \underset{w,b,\xi}{\rm min\,}\frac{1}{2}||w||^2-C\sum_{i=1}^{N}{\xi_i} \hspace{4cm}\\ {\rm s.t.\;}y_i(w\cdot x_i+b)\geq1-\xi_i,\;i=1,2,...,N \hspace{1cm}\\ \xi_i\geq 0,i=1,2,...,N \hspace{3.5cm} \end{aligned} w,b,ξmin21∣∣w∣∣2−Ci=1∑Nξis.t.yi(w⋅xi+b)≥1−ξi,i=1,2,...,Nξi≥0,i=1,2,...,N
该问题是一个凸二次规划问题,关于 ( w , b , ξ ) (w,b,\xi) (w,b,ξ)的解是存在的,可以证明 w w w的解是唯一的, b b b的解可能不唯一,而是存在于一个区间。
跟线性可分构造对偶问题的思路大体一致
原始问题的拉格朗日函数是:
L ( w , b , ξ , α , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i − ∑ i = 1 N α i ( y i ( w ⋅ x i + b ) − 1 + ξ i ) − ∑ i = 1 N μ i ξ i L(w,b,\xi,\alpha,\mu)=\frac12||w||^2+C\sum_{i=1}^{N}{\xi_i}-\sum_{i=1}^{N}{\alpha_i(y_i(w\cdot x_i+b)-1+\xi_i)-\sum_{i=1}^{N}{\mu_i\xi_i}} L(w,b,ξ,α,μ)=21∣∣w∣∣2+Ci=1∑Nξi−i=1∑Nαi(yi(w⋅xi+b)−1+ξi)−i=1∑Nμiξi
其中, α i ≥ 0 , μ i ≥ 0 \alpha_i\geq0,\mu_i\geq 0 αi≥0,μi≥0。
因此,原始问题转化为极小极大问题:
m i n w , b , ξ m a x α , μ L ( w , b , ξ , α , μ ) \underset{w,b,\xi}{\rm min\,}\underset{\alpha,\mu}{\rm max\,}L(w,b,\xi,\alpha,\mu) w,b,ξminα,μmaxL(w,b,ξ,α,μ)
其对偶问题为:
m a x α , μ m i n w , b , ξ L ( w , b , ξ , α , μ ) \underset{\alpha,\mu}{\rm max\,}\underset{w,b,\xi}{\rm min\,}L(w,b,\xi,\alpha,\mu) α,μmaxw,b,ξminL(w,b,ξ,α,μ)
(1) 求 m i n w , b , ξ L ( w , b , ξ , α , μ ) \underset{w,b,\xi}{\rm min\,}L(w,b,\xi,\alpha,\mu) w,b,ξminL(w,b,ξ,α,μ)
由
∇ w L ( w , b , ξ , α , μ ) = w − ∑ i = 1 N α i y i x i = 0 ∇ b L ( w , b , ξ , α , μ ) = − ∑ i = 1 N α i y i = 0 ∇ ξ i L ( w , b , ξ , α , μ ) = C − α i − μ i = 0 ⇒ w = ∑ i = 1 N α i y i x i ∑ i = 1 N α i y i = 0 C − α i − μ i = 0 \begin{aligned} & \nabla_wL(w,b,\xi,\alpha,\mu)=w-\sum_{i=1}^{N}\alpha_iy_ix_i=0\\ & \nabla_bL(w,b,\xi,\alpha,\mu)=-\sum_{i=1}^{N}\alpha_iy_i=0\\ & \nabla_{\xi_i}L(w,b,\xi,\alpha,\mu)=C-\alpha_i-\mu_i=0\\ & \Rightarrow\\ & w=\sum_{i=1}^{N}\alpha_iy_ix_i\\ & \sum_{i=1}^{N}\alpha_iy_i=0\\ & C-\alpha_i-\mu_i=0 \end{aligned} ∇wL(w,b,ξ,α,μ)=w−i=1∑Nαiyixi=0∇bL(w,b,ξ,α,μ)=−i=1∑Nαiyi=0∇ξiL(w,b,ξ,α,μ)=C−αi−μi=0⇒w=i=1∑Nαiyixii=1∑Nαiyi=0C−αi−μi=0
带入拉格朗日函数中得:
m i n w , b , ξ L ( w , b , ξ , α , μ ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \underset{w,b,\xi}{\rm min\,}L(w,b,\xi,\alpha,\mu)=-\frac{1}{2}\sum_{i=1}^{N}{\sum_{j=1}^{N}{\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)}}+\sum_{i=1}^{N}{\alpha_i} w,b,ξminL(w,b,ξ,α,μ)=−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
(2) 对 − m i n w , b , ξ L ( w , b , ξ , α , μ ) -\underset{w,b,\xi}{\rm min\,}L(w,b,\xi,\alpha,\mu) −w,b,ξminL(w,b,ξ,α,μ)求极小,得到对偶问题
m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 C − α i − μ i = 0 α i ≥ 0 μ i ≥ 0 , i = 1 , 2 , . . . , N \begin{aligned} \underset{\alpha}{\rm min\,}\frac{1}{2}\sum_{i=1}^{N}{\sum_{j=1}^{N}{\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)}}-\sum_{i=1}^{N}{\alpha_i} \hspace{0.6cm}\\ {\rm s.t.\;}\sum_{i=1}^{N}{\alpha_iy_i}=0 \hspace{4cm}\\ C-\alpha_i-\mu_i=0 \hspace{3.4cm}\\ \alpha_i\geq 0 \hspace{4.9cm}\\ \mu_i\geq 0,i=1,2,...,N \hspace{2.7cm}\\ \end{aligned} αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαis.t.i=1∑Nαiyi=0C−αi−μi=0αi≥0μi≥0,i=1,2,...,N
利用等式约束消去 μ i \mu_i μi得到对偶问题:
m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , . . . , N \begin{aligned} \underset{\alpha}{\rm min\,}\frac{1}{2}\sum_{i=1}^{N}{\sum_{j=1}^{N}{\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)}}-\sum_{i=1}^{N}{\alpha_i} \hspace{0.6cm}\\ {\rm s.t.\;}\sum_{i=1}^{N}{\alpha_iy_i}=0 \hspace{3.8cm}\\ 0 \leq\alpha_i\leq C,i=1,2,...,N \hspace{1.7cm} \end{aligned} αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαis.t.i=1∑Nαiyi=00≤αi≤C,i=1,2,...,N
原始解与对偶解的关系
与线性可分支持向量机类似,显然原始问题的目标函数为凸函数,两个不等式约束均为凸函数,且不等式约束是严格可行的,因此,存在 w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ w^*,b^*,\xi^*,\alpha^*,\mu^* w∗,b∗,ξ∗,α∗,μ∗,使得 w ∗ , b ∗ , ξ ∗ w^*,b^*,\xi^* w∗,b∗,ξ∗是原始问题的解, α ∗ , μ ∗ \alpha^*,\mu^* α∗,μ∗是对偶问题的解,且
m i n w , b , ξ m a x α , μ L ( w , b , ξ , α , μ ) = m a x α , μ m i n w , b , ξ L ( w , b , ξ , α , μ ) = L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) \underset{w,b,\xi}{\rm min\,}\underset{\alpha,\mu}{\rm max\,}L(w,b,\xi,\alpha,\mu)=\underset{\alpha,\mu}{\rm max\,}\underset{w,b,\xi}{\rm min\,}L(w,b,\xi,\alpha,\mu)=L(w^*,b^*,\xi^*,\alpha^*,\mu^*) w,b,ξminα,μmaxL(w,b,ξ,α,μ)=α,μmaxw,b,ξminL(w,b,ξ,α,μ)=L(w∗,b∗,ξ∗,α∗,μ∗)
因此,满足KKT条件:
∇ w L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = w ∗ − ∑ i = 1 N α i ∗ y i x i = 0 ∇ b L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = − ∑ i = 1 N α i ∗ y i = 0 ∇ ξ i L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = C − α i ∗ − μ i ∗ = 0 α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 + ξ i ∗ ) = 0 , μ i ∗ ξ i ∗ = 0 y i ( w ∗ ⋅ x i + b ∗ ) − 1 + ξ i ∗ ≥ 0 , ξ i ∗ ≥ 0 α i ∗ ≥ 0 μ i ∗ ≥ 0 , i = 1 , 2 , . . . , N ⇒ w ∗ = ∑ i = 1 N α i ∗ y i x i \nabla_wL(w^*,b^*,\xi^*,\alpha^*,\mu^*)=w^*-\sum_{i=1}^{N}\alpha_i^*y_ix_i=0\\ \nabla_bL(w^*,b^*,\xi^*,\alpha^*,\mu^*)=-\sum_{i=1}^{N}\alpha_i^*y_i=0\\ \nabla_{\xi_i} L(w^*,b^*,\xi^*,\alpha^*,\mu^*)=C-\alpha^*_i-\mu^*_i=0\\ \alpha_i^*(y_i(w^*\cdot x_i+b^*)-1+\xi_i^*)=0,\\ \mu_i^*\xi_i^*=0\\ y_i(w^*\cdot x_i+b^*)-1+\xi_i^*\geq 0,\\ \xi_i^* \geq 0\\ \alpha_i^* \geq 0\\ \mu_i^*\geq0,\;i=1,2,...,N\\ \Rightarrow\\ w^* = \sum_{i=1}^{N}{\alpha_i^*y_ix_i}\\ ∇wL(w∗,b∗,ξ∗,α∗,μ∗)=w∗−i=1∑Nαi∗yixi=0∇bL(w∗,b∗,ξ∗,α∗,μ∗)=−i=1∑Nαi∗yi=0∇ξiL(w∗,b∗,ξ∗,α∗,μ∗)=C−αi∗−μi∗=0αi∗(yi(w∗⋅xi+b∗)−1+ξi∗)=0,μi∗ξi∗=0yi(w∗⋅xi+b∗)−1+ξi∗≥0,ξi∗≥0αi∗≥0μi∗≥0,i=1,2,...,N⇒w∗=i=1∑Nαi∗yixi
其中, b ∗ b^* b∗中 j j\, j的选取满足, 0 < α j ∗ < C 0<\alpha_j^*
y j ( w ∗ ⋅ x j + b ∗ ) − 1 = 0 ⇒ y j 2 ( w ∗ ⋅ x j + b ∗ ) = y j ⇒ w ∗ ⋅ x j + b ∗ = y j ⇒ b ∗ = y j − w ∗ ⋅ x j = y j − ∑ i = 1 N y i α i ∗ ( x i ⋅ x j ) y_j(w^*\cdot x_j+b^*)-1=0\\ \Rightarrow\\ y_j^2(w^*\cdot x_j+b^*)=y_j\\ \Rightarrow\\ w^*\cdot x_j+b^*=y_j\\ \Rightarrow\\ b^*=y_j-w^*\cdot x_j=y_j-\sum_{i=1}^{N}{y_i\alpha_i^*(x_i\cdot x_j)} yj(w∗⋅xj+b∗)−1=0⇒yj2(w∗⋅xj+b∗)=yj⇒w∗⋅xj+b∗=yj⇒b∗=yj−w∗⋅xj=yj−i=1∑Nyiαi∗(xi⋅xj)
输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)},其中, x i ∈ R N x_i\in R^N xi∈RN, y i ∈ { + 1 , − 1 } , i = 1 , 2 , . . . , N y_i\in \{+1,-1\},i=1,2,...,N yi∈{+1,−1},i=1,2,...,N;
输出:分离超平面和分类决策函数。
(1) 选择惩罚参数 C > 0 C>0 C>0,构造并求解凸二次规划问题
m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , . . . , N \begin{aligned} \underset{\alpha}{\rm min\,}\frac{1}{2}\sum_{i=1}^{N}{\sum_{j=1}^{N}{\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)}}-\sum_{i=1}^{N}{\alpha_i} \hspace{0.6cm}\\ {\rm s.t.\;}\sum_{i=1}^{N}{\alpha_iy_i}=0 \hspace{4cm}\\ 0 \leq\alpha_i\leq C,i=1,2,...,N \hspace{1.9cm} \end{aligned} αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαis.t.i=1∑Nαiyi=00≤αi≤C,i=1,2,...,N
求得最优解 α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α N ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,...,\alpha_N^*)^T α∗=(α1∗,α2∗,...,αN∗)T.
(2) 计算 w ∗ = ∑ i = 1 N α i ∗ y i x i w^* = \sum_{i=1}^{N}{\alpha_i^*y_ix_i} w∗=∑i=1Nαi∗yixi
选择 α ∗ \alpha^* α∗的一个分量 α j ∗ \alpha_j^* αj∗适合条件 0 < α j ∗ < C 0<\alpha_j^*
b ∗ = y j − ∑ i = 1 N y i α i ∗ ( x i ⋅ x j ) b^*=y_j-\sum_{i=1}^{N}{y_i\alpha_i^*(x_i\cdot x_j)} b∗=yj−i=1∑Nyiαi∗(xi⋅xj)
(2) 求得分离超平面
w ∗ ⋅ x + b ∗ = 0 w^*\cdot x+b^*=0 w∗⋅x+b∗=0
分类决策函数
f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)={\rm sign}(w^*\cdot x+b^*) f(x)=sign(w∗⋅x+b∗)
在线性不可分的情况下,对偶问题的解 α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α N ∗ ) \alpha^*=(\alpha_1^*,\alpha_2^*,...,\alpha_N^*) α∗=(α1∗,α2∗,...,αN∗)中对应于 α i ∗ > 0 \alpha_i^*>0 αi∗>0的样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的实例 x i x_i xi称为支持向量。支持向量与间隔边界位置关系可分以下4种情况讨论:
对于线性支持向量机学习来说,其模型为分离超平面 w ∗ ⋅ x + b ∗ = 0 w^*\cdot x+b^*=0 w∗⋅x+b∗=0及决策函数 f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)={\rm sign\,}(w^*\cdot x+b^*) f(x)=sign(w∗⋅x+b∗),其学习策略为软间隔最大化,学习算法为凸二次规划。
线性支持向量机还有另外一种解释,就是最小化一下目标函数:
∑ i = 1 N [ 1 − y i ( w ⋅ x i + b ) ] + + λ ∣ ∣ w ∣ ∣ 2 \sum_{i=1}^{N}[1-y_i(w\cdot x_i+b)]_++\lambda||w||^2 i=1∑N[1−yi(w⋅xi+b)]++λ∣∣w∣∣2
目标函数的第一项是经验损失或经验风险.
L ( y ( w ⋅ x + b ) ) = [ 1 − y ( w ⋅ x + b ) ] + L(y(w\cdot x+b))=[1-y(w\cdot x+b)]_+ L(y(w⋅x+b))=[1−y(w⋅x+b)]+
称为合页损失函数,下标“+”表示以下取正值的函数
[ z ] + = { z z > 0 0 z ≤ 0 [z]_+=\begin{cases} z& z > 0\\ 0& z\leq 0 \end{cases} [z]+={z0z>0z≤0
定理
m i n w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 − C ∑ i = 1 N ξ i s . t . y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , . . . , N ξ i ≥ 0 , i = 1 , 2 , . . . , N \begin{aligned} \underset{w,b,\xi}{\rm min\,}\frac{1}{2}||w||^2-C\sum_{i=1}^{N}{\xi_i} \hspace{4cm}\\ {\rm s.t.\;}y_i(w\cdot x_i+b)\geq1-\xi_i,\;i=1,2,...,N \hspace{1cm}\\ \xi_i\geq 0,i=1,2,...,N \hspace{3.4cm} \end{aligned} w,b,ξmin21∣∣w∣∣2−Ci=1∑Nξis.t.yi(w⋅xi+b)≥1−ξi,i=1,2,...,Nξi≥0,i=1,2,...,N
等价于优化问题
∑ i = 1 N [ 1 − y i ( w ⋅ x i + b ) ] + + λ ∣ ∣ w ∣ ∣ 2 \sum_{i=1}^{N}[1-y_i(w\cdot x_i+b)]_++\lambda||w||^2 i=1∑N[1−yi(w⋅xi+b)]++λ∣∣w∣∣2
非线性支持向量机主要应用于非线性分类问题,其主要特点是在线性支持向量机的基础上引入了核技巧,将在输入空间中呈现非线性分布的样本集合映射到某一特征空间中,使其在特征空间中的分布符合线性,进而在特征空间中利用线性支持向量机对其进行分类。
对于图2左侧数据集分布,显然无法用直线(线性模型)将正负例正确分开,但可以用一条椭圆曲线(非线性模型)将他们正确分类。
对于非线性的问题往往不好求解,所以希望能用解线性分类问题的方法解决,核技巧
考虑将输入空间的数据做一个非线性变换,将输入空间的非线性分布数据映射到特征空间中,使其在特征空间中变换为线性问题(如图2左侧数据经非线性变换映射到图2右侧的特征空间中呈现线性分布),进而将非线性分类问题变换为线性分类问题。
设 X X X是输入空间(欧氏空间 R n R^n Rn的子集或离散空间), H H H是特征空间(希尔伯特空间(完备的内积空间)),如果存在一个从 X X X到 H H H的映射
ϕ ( x ) : X → H \phi(x):X\rightarrow H ϕ(x):X→H
使得对所有 x , z ∈ X x,z\in X x,z∈X,函数 K ( x , z ) K(x,z) K(x,z)满足条件
K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) K(x,z)=\phi(x)\cdot \phi(z) K(x,z)=ϕ(x)⋅ϕ(z)
则称 K ( x , z ) K(x,z) K(x,z)为核函数, ϕ ( x ) \phi(x) ϕ(x)为映射函数, ϕ ( x ) ⋅ ϕ ( z ) \phi(x)\cdot \phi(z) ϕ(x)⋅ϕ(z)指 ϕ ( x ) \phi(x) ϕ(x)与 ϕ ( z ) \phi(z) ϕ(z)的内积。
对于给定的核函数 K ( x , z ) K(x,z) K(x,z),特征空间 H H H和映射函数 ϕ \phi ϕ的取法并不唯一,可以取不同的特征空间,在同一个特征空间中也可以取不同映射。
支持向量机的对偶问题
m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , . . . , N \begin{aligned} \underset{\alpha}{\rm min\,}\frac{1}{2}\sum_{i=1}^{N}{\sum_{j=1}^{N}{\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)}}-\sum_{i=1}^{N}{\alpha_i} \hspace{0.6cm}\\ {\rm s.t.\;}\sum_{i=1}^{N}{\alpha_iy_i}=0 \hspace{3.9cm}\\ 0 \leq\alpha_i\leq C,i=1,2,...,N \hspace{1.8cm} \end{aligned} αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαis.t.i=1∑Nαiyi=00≤αi≤C,i=1,2,...,N
以及决策函数
f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i ( x i ⋅ x ) + b ∗ ) b ∗ = y j − ∑ i = 1 N y i α i ∗ ( x i ⋅ x j ) f(x) = {\rm sign}(\sum_{i=1}^{N}{\alpha_i^*y_i(x_i\cdot x)}+b^*)\\ b^*=y_j-\sum_{i=1}^{N}{y_i\alpha_i^*(x_i\cdot x_j)} f(x)=sign(i=1∑Nαi∗yi(xi⋅x)+b∗)b∗=yj−i=1∑Nyiαi∗(xi⋅xj)
都只涉及输入实例与实例之间的内积,在对偶问题中的内积 x i ⋅ x j x_i\cdot x_j xi⋅xj可以用核函数 K ( x i , x j ) = ϕ ( x i ) ⋅ ϕ ( x j ) K(x_i,x_j)=\phi(x_i)\cdot \phi(x_j) K(xi,xj)=ϕ(xi)⋅ϕ(xj)来代替,此时对偶问题成为:
m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i , x j ) − ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , . . . , N \begin{aligned} \underset{\alpha}{\rm min\,}\frac{1}{2}\sum_{i=1}^{N}{\sum_{j=1}^{N}{\alpha_i\alpha_jy_iy_jK(x_i,x_j)}}-\sum_{i=1}^{N}{\alpha_i} \hspace{0.6cm}\\ {\rm s.t.\;}\sum_{i=1}^{N}{\alpha_iy_i}=0 \hspace{4cm}\\ 0 \leq\alpha_i\leq C,i=1,2,...,N \hspace{1.9cm} \end{aligned} αmin21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)−i=1∑Nαis.t.i=1∑Nαiyi=00≤αi≤C,i=1,2,...,N
同样,分类决策函数内积也用核函数代替,成为:
f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i K ( x i , x ) + b ∗ ) b ∗ = y j − ∑ i = 1 N y i α i ∗ K ( x i , x j ) f(x) = {\rm sign}(\sum_{i=1}^{N}{\alpha_i^*y_iK(x_i,x)}+b^*)\\ b^*=y_j-\sum_{i=1}^{N}{y_i\alpha_i^*K(x_i,x_j)} f(x)=sign(i=1∑Nαi∗yiK(xi,x)+b∗)b∗=yj−i=1∑Nyiαi∗K(xi,xj)
这等价于经过映射函数 ϕ \phi ϕ将原来的输入空间变换到一个新的特征空间,将输入空间中的内积 x i ⋅ x j x_i\cdot x_j xi⋅xj变换为特征空间中的内积 ϕ ( x i ) ⋅ ϕ ( x j ) \phi(x_i)\cdot \phi(x_j) ϕ(xi)⋅ϕ(xj),在新的特征空间样本中学习线性支持向量机。当映射函数是非线性函数时,支持向量机是非线性分类模型。可以发现,学习是隐式的进行的,不需要显式的给定特征空间和映射函数。
核函数必须为正定核函数
设 K : X × X → R K:X\times X \rightarrow R K:X×X→R是对称函数,则 K ( x , z ) K(x,z) K(x,z)为正定核的充要条件是对任意 x i ∈ X , i = 1 , 2 , . . . , m x_i \in X,i=1,2,...,m xi∈X,i=1,2,...,m, K ( x , z ) K(x,z) K(x,z)对应的Gram矩阵:
K = [ K ( x i , x j ) ] m × m K=[K(x_i,x_j)]_{m\times m} K=[K(xi,xj)]m×m
是半正定矩阵。
检验一个函数是否为正定核函数并不容易,在实际问题中,往往会应用已有的核函数。
K ( x , z ) = ( x ⋅ z + 1 ) p K(x,z) = (x\cdot z+1)^p K(x,z)=(x⋅z+1)p
对应的支持向量机是一个 p p p次多项式分类器。
K ( x , z ) = e x p ( − ∣ ∣ x − z ∣ ∣ 2 2 σ 2 ) K(x,z)={\rm exp}\left(-\frac{||x-z||^2}{2\sigma^2}\right) K(x,z)=exp(−2σ2∣∣x−z∣∣2)
对应的支持向量机为高斯径向基函数分类器。
核函数不仅可以定义在欧式空间,还可以定义在离散数据集合上,比如字符串核定义在字符串集合,将核函数构造为两个字符串的余弦相似度。
输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)},其中 x i ∈ R n x_i\in R^n xi∈Rn, y i ∈ { − 1 , +