【学习笔记】SVM

1、支持向量机

线性可分的定义:如果 y i = + 1 y_{i}=+1 yi=+1 − 1 -1 1,一个训练样本集 { ( X i , y i ) } \left \{ (X_{i},y_{i}) \right \} {(Xi,yi)}线性可分,是指存在 ( ω , b ) (\omega ,b) (ω,b)使的
y i ( ω T X i + b ) > 0 (1) y_{i}(\omega ^{T}X_{i}+b)> 0\tag{1} yi(ωTXi+b)>0(1)
在这里插入图片描述
支持向量机寻找的最优分类直线应满足:
①该直线分开了两类;
②该直线最大化间隔(margin);
③该直线处于间隔的中间,到所有支持向量的距离相等。

我们曾经学过,点 ( x 0 , y 0 ) (x_{0},y_{0}) (x0,y0)到超平面(一条直线) ω 1 x + ω 2 y 0 + b = 0 \omega_{1}x+\omega _{2}y_{0}+b=0 ω1x+ω2y0+b=0的距离计算公式为:
d = ∣ ω 1 x 0 + ω 2 y 0 + b ∣ ω 1 2 + ω 2 2 (2) d=\frac{|\omega_{1}x_{0}+\omega _{2}y_{0}+b|}{\sqrt{\omega _{1}^{2}+\omega _{2}^{2}} }\tag{2} d=ω12+ω22 ω1x0+ω2y0+b(2)
那么, ω \omega ω就成为了决定间隔距离的关键因素。

支持向量机优化目标是需要找到最大化间隔的超平面,即:
最小化(Minimize): 1 2 ∣ ∣ ω ∣ ∣ 2 \frac{1}{2}||\omega||^{2} 21ω2,即最小化 ∣ ∣ ω ∣ ∣ ||\omega|| ω
限制条件: y i ( ω T X i + b ) > 1 y_{i}(\omega ^{T}X_{i}+b)> 1 yi(ωTXi+b)>1
其中, ω = [ ω 1 , ω 2 , . . . , ω m ] T \omega =[\omega_{1},\omega_{2},...,\omega_{m}]^{T} ω=[ω1,ω2,...,ωm]T

以上的优化目标是一种凸优化(Convex Optimization)中的二次规划问题,即:(1)目标函数是二次项;(2)限制条件是一次项。这种凸优化问题,要么无解,要么只有唯一的最小值。
在这里插入图片描述
只要一个优化问题是凸的,我们总能找到高效快速的算法去解决它。

如果训练样本集是线性不可分的,那么以上优化问题无解,找不到 ω \omega ω b b b在这里插入图片描述

此时需要适当放松限制条件:对于每一个训练样本及标签 ( x i , y i ) (x_{i},y_{i}) (xi,yi),需要设置一个松弛变量 δ i \delta_{i} δi(slack variable),将限制条件公式(1)改写为:
y i ( ω T X i + b ) ≥ 1 − δ i (3) y_{i}(\omega ^{T}X_{i}+b)\ge 1-\delta_{i}\tag{3} yi(ωTXi+b)1δi(3)
那么优化目标也要随之发生改变,即:
最小化: 1 2 ∣ ∣ ω ∣ ∣ 2 + C ∑ i = 1 N δ i \frac{1}{2} ||\omega ||^{2}+C {\textstyle \sum_{i=1}^{N}\delta _{i}} 21ω2+Ci=1Nδi 1 2 ∣ ∣ ω ∣ ∣ 2 + C ∑ i = 1 N δ i 2 \frac{1}{2} ||\omega ||^{2}+C {\textstyle \sum_{i=1}^{N}\delta _{i}^{2}} 21ω2+Ci=1Nδi2
限制条件:(1) δ i ≥ 0 \delta_{i}\ge0 δi0
(2) y i [ ω T φ ( x i ) + b ] ≥ 1 − δ i y_{i}[\omega^{T}φ(x_{i})+b]\ge1-\delta_{i} yi[ωTφ(xi)+b]1δi
其中 δ i ≥ 0 \delta_{i}\ge0 δi0 C C C是人为设定的比例因子。
这种在算法中需要人事先设定的参数叫做算法的超参数(Hyper Parameter)。

支持向量机在扩大可选函数范围方面可谓独树一帜,它通过将特征空间由低维映射到高维,再在高维特征空间中用线性超平面对数据进行分类。即将训练样本由低维映射到高维后,能够增大线性可分的概率。
在这里插入图片描述
如图所示,有四个点,分别为 X 1 = [ 0 , 0 ] T ∈ C 1 , X 2 = [ 1 , 1 ] T ∈ C 1 , X 3 = [ 1 , 0 ] T ∈ C 2 , X 4 = [ 0 , 1 ] T ∈ C 2 X_{1}=[0,0]^{T}∈C_{1},X_{2}=[1,1]^{T}∈C_{1},X_{3}=[1,0]^{T}∈C_{2},X_{4}=[0,1]^{T}∈C_{2} X1=[0,0]TC1X2=[1,1]TC1X3=[1,0]TC2X4=[0,1]TC2。在图中,四个点处于二维空间中,无法找到一个超平面将两类点分开。此时,我们可以通过构造一个二维到五维的映射 φ ( x ) φ(x) φ(x),将这四个点映射到五维空间中。
φ ( x ) = [ a 2 , b 2 , a , b , a b ] T (4) φ(x)=[a^{2},b^{2},a,b,ab]^{T}\tag{4} φ(x)=[a2,b2,a,b,ab]T(4)
通过映射后,得到 φ ( x 1 ) = [ 0 , 0 , 0 , 0 , 0 ] T , φ ( x 2 ) = [ 1 , 1 , 1 , 1 , 1 , ] T , φ ( x 3 ) = [ 1 , 0 , 1 , 0 , 0 ] T , φ ( x 4 ) = [ 0 , 1 , 0 , 1 , 0 ] T 。 φ(x_{1})=[0,0,0,0,0]^{T},φ(x_{2})=[1,1,1,1,1,]^{T},φ(x_{3})=[1,0,1,0,0]^{T},φ(x_{4})=[0,1,0,1,0]^{T}。 φ(x1)=[0,0,0,0,0]T,φ(x2)=[1,1,1,1,1,]T,φ(x3)=[1,0,1,0,0]T,φ(x4)=[0,1,0,1,0]T此时,这四个点就成为了线性可分的。
ω = [ − 1 , − 1 , − 1 , − 1 , 6 ] T , b = 1 \omega=[-1,-1,-1,-1,6]^{T},b=1 ω=[1,1,1,1,6]T,b=1,根据(1)式就可以来将四个点进行分类。

如果对任意两个向量 X 1 X_{1} X1 X 2 X_{2} X2,存在 K ( X 1 , X 2 ) = φ ( X 1 ) T φ ( X 2 ) T K(X_{1},X_{2})=φ(X_{1})^{T}φ(X_{2})^{T} K(X1,X2)=φ(X1)Tφ(X2)T,那么就可以将测试样本进行映射进而完成对类别的预测。其中, K ( X 1 , X 2 ) K(X_{1},X_{2}) K(X1,X2)为核函数(kernel function)。

如存在两个二维向量 X 1 = [ x 11 , x 12 ] T X_{1}=[x_{11},x_{12}]^{T} X1=[x11,x12]T X 2 = [ x 21 , x 22 ] T X_{2}=[x_{21},x_{22}]^{T} X2=[x21,x22]T,映射 φ ( x ) = [ a 2 , a b , b 2 ] T φ(x)=[a^{2},ab,b^{2}]^{T} φ(x)=[a2,ab,b2]T,那么核函数就可以表示为:
K ( X 1 , X 2 ) = φ ( X 1 ) T φ ( X 2 ) = [ x 11 2 , x 11 x 12 , x 12 2 ] [ x 21 2 , x 21 x 22 , x 22 2 ] T = x 11 2 x 21 2 + x 11 x 12 x 21 x 22 + x 12 2 x 22 2 K(X_{1},X_{2})=φ(X_{1})^{T}φ(X_{2})\\=[x_{11}^{2},x_{11}x_{12},x_{12}^{2}][x_{21}^{2},x_{21}x_{22},x_{22}^{2}]^{T}\\=x_{11}^{2}x_{21}^{2}+x_{11}x_{12}x_{21}x_{22}+x_{12}^{2}x_{22}^{2} K(X1,X2)=φ(X1)Tφ(X2)=[x112,x11x12,x122][x212,x21x22,x222]T=x112x212+x11x12x21x22+x122x222

同时,核函数 K ( X 1 , X 2 ) K(X_{1},X_{2}) K(X1,X2)能够写成 φ ( X 1 ) T φ ( X 2 ) φ(X_{1})^{T}φ(X_{2}) φ(X1)Tφ(X2)的充分必要条件为:
①交换性,可相互交换: K ( X 1 , X 2 ) = K ( X 2 , X 1 ) K(X_{1},X_{2})=K(X_{2},X_{1}) K(X1,X2)=K(X2,X1)
②半正定性: ∀ C i ( i = 1 ∼ N ) ∀C_{i}(i=1\sim N) Ci(i=1N),有 ∑ i = 1 N ∑ j = 1 N C i C j K ( X i X j ) ≥ 0 \sum_{i=1}^{N}\sum_{j=1}^{N} C_{i}C_{j}K(X_{i}X_{j})\ge0 i=1Nj=1NCiCjK(XiXj)0
常见的高斯核函数表达式为:
K ( X 1 , X 2 ) = e − ∣ ∣ X 1 − X 2 ∣ ∣ 2 2 σ 2 K(X_{1},X_{2})=e^{-\frac{||X_{1}-X_{2}||^{2}}{2\sigma^{2} }} K(X1,X2)=e2σ2X1X22在最后也总结了一些常用的核函数。

为了能够在不知道映射函数 φ ( x ) φ(x) φ(x)但知道 K ( X 1 , X 2 ) K(X_{1},X_{2}) K(X1,X2)时也能够求解优化问题,我们需要引入优化理论

原问题(Prime Problem)

最小化(Minimize): f ( ω ) f(\omega) f(ω)
限制条件(Subject to): g i ( ω ) ≤ 0 ( i = 1 ∼ K ) g_{i}(\omega)\le0 (i=1\sim K) gi(ω)0(i=1K) h i ( ω ) = 0 ( i = 1 ∼ m ) h_{i}(\omega)=0(i=1\sim m) hi(ω)=0(i=1m)
这种定义十分的普适与宽泛,自变量为 ω \omega ω

对偶问题(Dual Problem)

定义:
L ( ω , α , β ) = f ( ω ) + ∑ i = 1 K α i g i ( ω ) + ∑ i = 1 K β i h i ( ω ) = f ( ω ) + α T g ( ω ) + β T h ( ω ) L(\omega,\alpha,\beta)=f(\omega )+\sum_{i=1}^{K} \alpha _{i}g_{i}(\omega )+\sum_{i=1}^{K}\beta _{i}h_{i}(\omega ) \\ =f(\omega )+\alpha ^{T}g(\omega )+\beta^{T}h(\omega ) L(ω,α,β)=f(ω)+i=1Kαigi(ω)+i=1Kβihi(ω)=f(ω)+αTg(ω)+βTh(ω)
其中, α = [ α 1 , α 2 , . . . , α K ] T \alpha=[\alpha_{1},\alpha_{2},...,\alpha_{K}]^{T} α=[α1,α2,...,αK]T β = [ β 1 , β 2 , . . . , β M ] T \beta=[\beta_{1},\beta_{2},...,\beta_{M}]^{T} β=[β1,β2,...,βM]T g ( ω ) = [ g 1 ( ω ) , g 2 ( ω ) , . . . , g k ( ω ) ] T g(\omega)=[g_{1}(\omega),g_{2}(\omega),...,g_{k}(\omega)]^{T} g(ω)=[g1(ω),g2(ω),...,gk(ω)]T h ( ω ) = [ h 1 ( ω ) , h 2 ( ω ) , . . . , h M ( ω ) ] T h(\omega)=[h_{1}(\omega),h_{2}(\omega),...,h_{M}(\omega)]^{T} h(ω)=[h1(ω),h2(ω),...,hM(ω)]T

对偶问题定义

最大化: θ ( α , β ) = i n f L ( ω , α , β ) \theta(\alpha ,\beta)=inf L(\omega,\alpha,\beta) θ(α,β)=infL(ω,α,β),所有定义域内的 ω \omega ω
限制条件: α i ≥ 0 , i = 1 ∼ N \alpha_{i}\ge0,i=1\sim N αi0,i=1N
其中, i n f inf inf意思是求最小值。函数 θ ( α , β ) \theta(\alpha ,\beta) θ(α,β)是在确定了 α \alpha α β \beta β的值后,遍历所有定义域内的 ω \omega ω,来找到函数 L ( ω , α , β ) L(\omega,\alpha,\beta) L(ω,α,β)的最小值。

综合原问题和对偶问题的定义可以得到:
定理一:如果 ω ∗ \omega^{*} ω是原问题的解, ( α ∗ , β ∗ ) (\alpha^{*},\beta^{*}) (α,β)是对偶问题的解,则有:
f ( ω ∗ ) ≥ θ ( α ∗ , β ∗ ) f(\omega^{*})\ge\theta(\alpha^{*},\beta^{*}) f(ω)θ(α,β)

证明过程如下:
θ ( α ∗ , β ∗ ) = i n f L ( ω , α , β ) ≤ L ( ω ∗ , α ∗ , β ∗ ) = f ( ω ∗ ) + α ∗ T g ( ω ) + β ∗ T h ( ω ) ≤ f ( ω ∗ ) \theta(\alpha^{*},\beta^{*})=inf L(\omega,\alpha,\beta) \\ \le L(\omega^{*},\alpha^{*},\beta^{*}) \\ =f(\omega ^{*})+\alpha ^{*^{T}}g(\omega )+\beta^{*^{T}}h(\omega ) \\ \le f(\omega^{*}) θ(α,β)=infL(ω,α,β)L(ω,α,β)=f(ω)+αTg(ω)+βTh(ω)f(ω)
其中,由于 ω ∗ \omega^{*} ω是原问题的解(详细的看原问题限制条件那里),因此 g ( ω ∗ ) ≤ 0 g(\omega^{*})\le0 g(ω)0 h ( ω ∗ ) = 0 h(\omega^{*})=0 h(ω)=0

对偶差距(Duality Gap)

原问题与对偶问题之间的差值即为对偶差距:
f ( ω ∗ ) − θ ( α ∗ , β ∗ ) ≥ 0 f(\omega^{*})-\theta(\alpha^{*},\beta^{*})\ge 0 f(ω)θ(α,β)0

强对偶定理(Strong Duality Theorem)

如果 g ( ω ) = A ω + b g(\omega)=A\omega+b g(ω)=Aω+b h ( ω ) = C ω + d h(\omega)=C\omega+d h(ω)=Cω+d f ( ω ) f(\omega) f(ω)为凸函数,则有 f ( ω ∗ ) = θ ( α ∗ , β ∗ ) f(\omega^{*})=\theta(\alpha^{*},\beta^{*}) f(ω)=θ(α,β),则对偶差距为0。

综合以上几个理论,我们最后引入优化理论:

优化理论

定义: G = f ( ω ∗ ) − θ ( α ∗ , β ∗ ) ≥ 0 G=f(\omega^{*})-\theta(\alpha^{*},\beta^{*})\ge 0 G=f(ω)θ(α,β)0
G称为原问题与对偶问题的间距(Duality Gap)。对于某些特定的优化问题,可以证明对偶间距 G = 0 G=0 G=0

引入优化理论后,我们就可以将支持向量机的原问题()转换为对偶问题。很明显,优化目标与原问题是对应的。我们将优化目标中的一些条件进行修改:
首先,将优化目标中的 δ i ≥ 0 \delta_{i}\ge0 δi0取相反数转换成 δ i ≤ 0 \delta_{i}\le0 δi0,那么优化目标就变成:
最小化: 1 2 ∣ ∣ ω ∣ ∣ 2 − C ∑ i = 1 N δ i \frac{1}{2} ||\omega ||^{2}-C {\textstyle \sum_{i=1}^{N}\delta _{i}} 21ω2Ci=1Nδi
限制条件:(1) δ i ≤ 0 \delta_{i}\le0 δi0
(2) y i [ ω T φ ( x i ) + b ] ≥ 1 + δ i y_{i}[\omega^{T}φ(x_{i})+b]\ge1+\delta_{i} yi[ωTφ(xi)+b]1+δi
我们将限制条件(2)也转换为 ≤ \le 的形式,即: 1 + δ i − y i ω T φ ( x i ) − y i b ≤ 0 1+\delta_{i}-y_{i}\omega^{T}φ(x_{i})-y_{i}b\le0 1+δiyiωTφ(xi)yib0

整体原问题完整表达为:
最小化: 1 2 ∣ ∣ ω ∣ ∣ 2 − C ∑ i = 1 N δ i \frac{1}{2} ||\omega ||^{2}-C {\textstyle \sum_{i=1}^{N}\delta _{i}} 21ω2Ci=1Nδi
限制条件:(1) δ i ≤ 0 \delta_{i}\le0 δi0
(2) 1 + δ i − y i ω T φ ( x i ) − y i b ≤ 0 1+\delta_{i}-y_{i}\omega^{T}φ(x_{i})-y_{i}b\le0 1+δiyiωTφ(xi)yib0

到此为止,已经将优化目标通过优化理论转换为原问题了。此时,我们通过继续将原问题转换为对偶问题:
最大化: θ ( α , β ) = i n f [ 1 2 ∣ ∣ ω ∣ ∣ 2 − C ∑ i = 1 N δ i + ∑ i = 1 N β i δ i + ∑ i = 1 N α i [ 1 + δ i − y i ω T φ ( x i ) − y i b ] ] \theta(\alpha ,\beta)=inf [\frac{1}{2} ||\omega ||^{2}-C {\textstyle \sum_{i=1}^{N}\delta _{i}}+\sum_{i=1}^{N}\beta _{i} \delta _{i}+\sum_{i=1}^{N}\alpha _{i}[1+\delta_{i}-y_{i}\omega^{T}φ(x_{i})-y_{i}b] ] θ(α,β)=inf[21ω2Ci=1Nδi+i=1Nβiδi+i=1Nαi[1+δiyiωTφ(xi)yib]],所有定义域内的 ( ω , δ i , b ) (\omega,\delta_{i},b) (ω,δi,b)
限制条件:(1) α i ≥ 0 \alpha_{i}\ge0 αi0
(2) β i ≥ 0 \beta_{i}\ge0 βi0
其实转换的关键就是找准函数,对着公式套就行了。

我们得到了优化目标的对偶问题,目标转换为了最大化函数 θ ( α , β ) \theta(\alpha ,\beta) θ(α,β),找到参数 ω , δ i , b \omega,\delta_{i},b ω,δi,b。我们可以通过对 θ ( α , β ) \theta(\alpha ,\beta) θ(α,β)求导得到极值所在的参数。即:
d L d ω = ω − ∑ i = 1 N α i y i φ ( x i ) = 0 (6) \frac{dL}{d\omega}=\omega-\sum_{i=1}^{N}\alpha _{i}y_{i} φ(x_{i})=0\tag{6} dωdL=ωi=1Nαiyiφ(xi)=0(6)
d L d δ = − C + ∑ i = 1 N β i + ∑ i = 1 N α i = 0 (7) \frac{dL}{d\delta}=-C+\sum_{i=1}^{N}\beta _{i} +\sum_{i=1}^{N}\alpha _{i} =0\tag{7} dδdL=C+i=1Nβi+i=1Nαi=0(7)
d L d b = − ∑ i = 1 N α i y i = 0 (8) \frac{dL}{db}=-\sum_{i=1}^{N}\alpha _{i}y_{i} =0\tag{8} dbdL=i=1Nαiyi=0(8)
ω \omega ω α i \alpha_{i} αi β i \beta_{i} βi都满足以上条件时,就可以满足目标。

将以上三个式子带入 θ ( α , β ) \theta(\alpha ,\beta) θ(α,β)中,我们可以得到:
θ ( α , β ) = 1 2 ∣ ∣ ω ∣ ∣ 2 + ∑ i = 1 N α i − ∑ i = 1 N a i y i ω T φ ( x i ) (9) \theta(\alpha ,\beta)=\frac{1}{2}||\omega||^{2}+\sum_{i=1}^{N}\alpha _{i}-\sum_{i=1}^{N} a_{i}y_{i}\omega^{T}φ(x_{i})\tag{9} θ(α,β)=21ω2+i=1Nαii=1NaiyiωTφ(xi)(9)
其中,我们先计算 1 2 ∣ ∣ ω ∣ ∣ 2 \frac{1}{2}||\omega||^{2} 21ω2。通过(6)式我们可以计算出:
1 2 ∣ ∣ ω ∣ ∣ 2 = 1 2 ω T ω = 1 2 ( ∑ i = 1 N α i y i φ ( x i ) ) T ( ∑ i = 1 N α i y i φ ( x i ) ) = 1 2 ∑ i = 1 N ∑ i = 1 N α i α j y i y j φ ( x i ) T φ ( x j ) \frac{1}{2}||\omega||^{2}=\frac{1}{2}\omega^{T}\omega\\=\frac{1}{2}(\sum_{i=1}^{N}\alpha_{i}y_{i}φ(x_{i}))^{T}(\sum_{i=1}^{N}\alpha_{i}y_{i}φ(x_{i}))\\ =\frac{1}{2}\sum_{i=1}^{N}\sum_{i=1}^{N}\alpha _{i}\alpha _{j}y_{i}y_{j} φ(x_{i})^{T}φ(x_{j}) 21ω2=21ωTω=21(i=1Nαiyiφ(xi))T(i=1Nαiyiφ(xi))=21i=1Ni=1Nαiαjyiyjφ(xi)Tφ(xj)

我们注意到,该结果末尾的 φ ( x i ) T φ ( x j ) = K ( X 1 , X 2 ) φ(x_{i})^{T}φ(x_{j})=K(X_{1},X_{2}) φ(xi)Tφ(xj)=K(X1,X2),即核函数。通过对偶问题的处理我们将 φ ( x i ) φ(x_{i}) φ(xi)消掉了。

然后,我们同样通过(6)式来计算 ∑ i = 1 N a i y i ω T φ ( x i ) \sum_{i=1}^{N} a_{i}y_{i}\omega^{T}φ(x_{i}) i=1NaiyiωTφ(xi)
∑ i = 1 N α i y i ω T φ ( x i ) = ∑ i = 1 N α i y i ( ∑ j = 1 N α j y j φ ( x j ) ) T φ ( x i ) = ∑ i = 1 N ∑ j = 1 N α i α j y i y j φ ( x j ) T φ ( x i ) \sum_{i=1}^{N} \alpha_{i}y_{i}\omega^{T}φ(x_{i})=\sum_{i=1}^{N} \alpha_{i}y_{i}(\sum_{j=1}^{N}\alpha _{j}y_{j} φ(x_{j}))^{T}φ(x_{i})\\=\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j} φ(x_{j})^{T} φ(x_{i}) i=1NαiyiωTφ(xi)=i=1Nαiyi(j=1Nαjyjφ(xj))Tφ(xi)=i=1Nj=1Nαiαjyiyjφ(xj)Tφ(xi)

我们又发现,结果末尾依然出现了 φ ( x i ) T φ ( x j ) = K ( X 1 , X 2 ) φ(x_{i})^{T}φ(x_{j})=K(X_{1},X_{2}) φ(xi)Tφ(xj)=K(X1,X2)。最后,(9)式就变成了:
θ ( α , β ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j φ ( x j ) T φ ( x i ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( X i , X j ) (10) \theta(\alpha ,\beta)=\sum_{i=1}^{N}\alpha_{i}-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j} φ(x_{j})^{T} φ(x_{i})\\=\sum_{i=1}^{N}\alpha_{i}-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j} K(X_{i},X_{j})\tag{10} θ(α,β)=i=1Nαi21i=1Nj=1Nαiαjyiyjφ(xj)Tφ(xi)=i=1Nαi21i=1Nj=1NαiαjyiyjK(Xi,Xj)(10)

2、训练与测试

①训练流程
输入 [ ( x i , y i ) ] i = 1 ∼ N [(x_{i},y_{i})]_{i=1\sim N} [(xi,yi)]i=1N,解优化问题:

最大化: θ ( α , β ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j φ ( x j ) T φ ( x i ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( X i , X j ) \theta(\alpha ,\beta)=\sum_{i=1}^{N}\alpha_{i}-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j} φ(x_{j})^{T} φ(x_{i})\\=\sum_{i=1}^{N}\alpha_{i}-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j} K(X_{i},X_{j}) θ(α,β)=i=1Nαi21i=1Nj=1Nαiαjyiyjφ(xj)Tφ(xi)=i=1Nαi21i=1Nj=1NαiαjyiyjK(Xi,Xj)
限制条件:(1) 0 ≤ α i ≤ C 0\le\alpha_{i}\le C 0αiC
(2) ∑ i = 1 N α i y i = 0 \sum_{i=1}^{N}\alpha_{i}y_{i}=0 i=1Nαiyi=0

计算 b b b的值:
b = 1 − y i ∑ j = 1 N α j y j K ( X i , X j ) y i b=\frac{1-y_{i}\sum_{j=1}^{N}\alpha_{j}y_{j}K(X_{i},X_{j})}{y_{i}} b=yi1yij=1NαjyjK(Xi,Xj)
关于 b b b值的计算推导,需要用到KKT条件,这个部分后面再补充。

②测试流程
输入测试样本 X X X,若 ∑ i = 1 N α i y i K ( X i , X j ) + b ≥ 0 \sum_{i=1}^{N}\alpha_{i}y_{i}K(X_{i},X_{j})+b\ge0 i=1NαiyiK(Xi,Xj)+b0,则 y = + 1 y=+1 y=+1;若 ∑ i = 1 N α i y i K ( X i , X j ) + b ≤ 0 \sum_{i=1}^{N}\alpha_{i}y_{i}K(X_{i},X_{j})+b\le0 i=1NαiyiK(Xi,Xj)+b0,则 y = − 1 y=-1 y=1

3、常用核函数

Linear(线性内核): K ( x , y ) = x T y K(x,y)=x^{T}y K(x,y)=xTy
Ploy(多项式核): K ( x , y ) = ( x T y + 1 ) d K(x,y)=(x^{T}y+1)^{d} K(x,y)=(xTy+1)d
Rbf(高斯径向基函数核): K ( x , y ) = e − ∣ ∣ x − y ∣ ∣ 2 2 σ 2 K(x,y)=e^{-\frac{||x-y||^{2}}{2\sigma^{2} }} K(x,y)=e2σ2xy2
Tanh核: K ( x , y ) = t a n h ( β x T y + b ) K(x,y)=tanh(\beta x^{T}y+b) K(x,y)=tanh(βxTy+b)
其中, t a n h ( x ) = e x − e − x e x + e − x tanh(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}} tanh(x)=ex+exexex

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值