统计学习方法读书笔记第七章:支持向量机
统计学习方法读书笔记第七章:支持向量机
支持向量机(support vector machines, SVM)是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;支持向量机还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。支持向量机的学习算法是求解凸二次规划的最优化算法
线性可分支持向量机与硬间隔最大化
-
线性可分支持向量机
考虑一个二类分类问题。假设输入空间与特征空间为两个不同的空间。输入空间为欧式空间或离散集合,特征空间为欧式空间或希尔伯特空间。线性可分支持向量机、线性支持向量机假设这两个空间的原始一一对应,并将输入空间中的输入映射为特征空间中的特征向量。非线性支持向量机利用一个从输入空间到特征空间的非线性映射将输入映射为特征向量。所以,输入都由输入空间转换到特征空间,支持向量机的学习是在特征空间进行的。
假设给定一个特征空间上的训练数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={(x1,y1),(x2,y2),⋯,(xN,yN)}
其中, x i ∈ X = R n x_i\in\mathcal{X}=R^n xi∈X=Rn, y i ∈ Y = { + 1 , − 1 } y_i\in\mathcal{Y}=\{+1,-1\} yi∈Y={+1,−1}, i = 1 , 2 , ⋯   , N i=1,2,\cdots,N i=1,2,⋯,N, x i x_i xi为第 i i i个特征向量,也称为实例, y i y_i yi为 x i x_i xi的类标记,当 y i = + 1 y_i=+1 yi=+1时,称 x i x_i xi为正例;当 y i = − 1 y_i=-1 yi=−1时,称 x i x_i xi为福利, ( X i , y i ) (X_i,y_i) (Xi,yi)称为样本点。再假设训练数据集是线性可分的。
学习的目标是在特征空间中找到一个分离超平面,能将实例分到不同的类。分离超平面对应于方程 w ⋅ x + b = 0 w\cdot x+b=0 w⋅x+b=0,它由法向量 w w w和截距 b b b决定,可用 ( w , b ) (w,b) (w,b)来表示。一般地,当训练数据集线性可分时,存在无穷个分离超平面可将两类数据正确分开。感知机利用误分类最小的策略,求得分离超平面,不过这时的解由无穷多个。线性可分支持向量机利用间隔最大化求解最优分离超平面,这时,解释唯一的。
线性可分支持向量机 给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为
(1) w ∗ ⋅ x + b ∗ = 0 w^{*}\cdot x+b^{*}=0 \tag{1} w∗⋅x+b∗=0(1)
以及相应的分类决策函数
(2) f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)=sign(w^{*}\cdot x+b^{*}) \tag{2} f(x)=sign(w∗⋅x+b∗)(2)
称为线性可分支持向量机。
考虑下图所示的二维特征空间中的分类问题。图中“ ∘ \circ ∘”表示正例,“ × \times ×”表示负例。训练数据集线性可分,这时有许多直线能将两类数据正确划分。线性可分支持向量机对应着将两类数据正确划分并且间隔最大的直线。
-
函数间隔和几何间隔
函数间隔 对于给定的训练数据集 T T T和超平面 ( w , b ) (w,b) (w,b),定义超平面 ( w , b ) (w,b) (w,b)关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的函数间隔为
(3) γ ^ i = y i ( w ⋅ x + b ) \hat{\gamma}_i=y_i(w\cdot x+b) \tag{3} γ^i=yi(w⋅x+b)(3)
定义超平面 ( w , b ) (w,b) (w,b)关于训练数据集 T T T的函数间隔为超平面 ( w , b ) (w,b) (w,b)关于 T T T中所有样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的函数间隔之最小值,即
(4) γ ^ = min i = 1 , ⋯   , N γ ^ i \hat{\gamma}=\min_{i=1,\cdots,N}\hat{\gamma}_i \tag{4} γ^=i=1,⋯,Nminγ^i(4)
函数间隔可以表示分类预测的正确性及确信度。可以对分离超平面的法向量 w w w加某些约束,如规范化, ∣ ∣ w ∣ ∣ = 1 ||w||=1 ∣∣w∣∣=1,使得间隔是确定的。这时函数间隔成为几何间隔。
几何间隔 对于给定的训练数据集 T T T和超平面 ( w , b ) (w,b) (w,b),定义超平面 ( w , b ) (w,b) (w,b)关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的几何间隔为
(5) γ i = y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) \gamma_i=y_i\bigg(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||}\bigg) \tag{5} γi=yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)(5)
定义超平面 ( w , b ) (w,b) (w,b)关于训练数据集 T T T的几何间隔为超平面 ( w , b ) (w,b) (w,b)关于 T T T中所有样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的集合间隔之最小值,即
(6) γ = min i = 1 , ⋯   , N γ i \gamma=\min_{i=1,\cdots,N}\gamma_i \tag{6} γ=i=1,⋯,Nminγi(6)
超平面 ( w , b ) (w,b) (w,b)关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的几何间隔一般是实例点到超平面的带符号的距离,当样本点被超平面正确分类时就是实例点到超平面的距离。
从函数间隔和几何间隔的定义(式(3)~式(6))可知,函数间隔和几何间隔有下面的关系:
(7) γ i = γ ^ ∣ ∣ w ∣ ∣ \gamma_i=\frac{\hat\gamma}{||w||} \tag{7} γi=∣∣w∣∣γ^(7)
(8) γ = γ ^ ∣ ∣ w ∣ ∣ \gamma=\frac{\hat\gamma}{||w||} \tag{8} γ=∣∣w∣∣γ^(8)
如果 ∣ ∣ w ∣ ∣ = 1 ||w||=1 ∣∣w∣∣=1,那么函数间隔和几何间隔相等。如果超平面参数 w w w和 b b b成比例地改变(超平面没有改变),函数间隔也按此比例改变,而几何间隔不变。 -
间隔最大化
支持向量机学习的基本想法是求解能够正确划分训练数据集并且集合间隔最大的分离超平面。对线性可分的训练数据集而言,线性可分分离超平面有无穷多个(等价于感知机),但是几何间隔最大的分离超平面是唯一的。这里的间隔最大化又称为硬间隔最大化(与将要讨论的训练数据集近似线性可分时的软间隔最大化相对应)。
间隔最大化的直观解释是:队训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也就是说,不仅将正负实例点分开,而且对最难分的实例点(离超平面最近的点)也有足够大的确信度将它们分开。这样的超平面应该对未知的新实例有很好的分类预测能力。
-
最大间隔分离超平面
下面考虑如何求得一个几何间隔最大的分离超平面,即最大间隔分离超平面。具体地,这个问题可以表示为下面的约束最优化问题
(9) max w , b γ \max_{w,b}\gamma \tag{9} w,bmaxγ(9)
(10) s . t . y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) ≥ γ , i = 1 , 2 , ⋯   , N s.t. \quad y_i\bigg(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||}\bigg)\geq\gamma,\quad i=1,2,\cdots,N \tag{10} s.t.yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)≥γ,i=1,2,⋯,N(10)
即我们希望最大化超平面 ( w , b ) (w,b) (w,b)关于训练数据集的几何间隔 γ \gamma γ,约束条件表示的是超平面 ( w , b ) (w,b) (w,b)关于每个训练样本点的几何间隔至少是 γ \gamma γ。
考虑几何间隔和函数间隔的关系式(8),可将这个问题改写为
(11) max w , b γ ^ ∣ ∣ w ∣ ∣ \max_{w,b}\frac{\hat\gamma}{||w||} \tag{11} w,bmax∣∣w∣∣γ^(11)
(12) s . t . y i ( w ⋅ x i + b ) ≥ γ ^ , i = 1 , 2 , ⋯   , N s.t.\quad y_i(w\cdot x_i+b)\geq\hat\gamma,\quad i=1,2,\cdots,N \tag{12} s.t.yi(w⋅xi+b)≥γ^,i=1,2,⋯,N(12)
函数间隔 γ ^ \hat\gamma γ^的取值并不影响最优化问题的解。事实上,假设将 w w w和 b b b按比例改变为 λ w \lambda w λw和 λ b \lambda b λb,这时函数间隔成为 λ γ ^ \lambda\hat\gamma λγ^。函数间隔的这一改变对上面最优化问题的不等式约束没有影响,对目标函数的优化也没有影响,也就是说,它产生一个等价的最优化问题。这样,就可以取 γ ^ = 1 \hat\gamma=1 γ^=1。将 γ ^ = 1 \hat\gamma=1 γ^=1带入上面的最优化问题,注意到最大化 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} ∣∣w∣∣1和最小化 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21∣∣w∣∣2是等价的,于是就得到下面的线性可分支持向量机的最优化问题
(13) min w , b 1 2 ∣ ∣ w ∣ ∣ 2 \min_{w,b} \frac{1}{2}||w||^2 \tag{13} w,bmin21∣∣w∣∣2(13)
(14) s . t . y i ( w ⋅ x i + b ) − 1 ≥ 0 , i = 1 , 2 , ⋯   , N s.t.\quad y_i(w\cdot x_i+b)-1\geq0,\quad i=1,2,\cdots,N \tag{14} s.t.yi(w⋅xi+b)−1≥0,i=1,2,⋯,N(14)
这是一个凸二次规划问题。
凸优化问题是指约束最优化问题
(15) min w f ( w ) \min_{w} \quad f(w) \tag{15} wminf(w)(15)
(16) s . t . g i ( w ) ≤ 0 , i = 1 , 2 , ⋯   , k s.t. \quad g_i(w)\leq 0, i=1,2,\cdots,k \tag{16} s.t.gi(w)≤0,i=1,2,⋯,k(16)
(17) h i ( w ) = 0 , i = 1 , 2 , ⋯   , l \quad h_i(w)=0, i=1,2,\cdots,l \tag{17} hi(w)=0,i=1,2,⋯,l(17)
其中,目标函数 f ( w ) f(w) f(w)和约束函数 g i ( w ) g_i(w) gi(w)都是 R n R^n Rn上的连续可微的凸函数,约束函数 h i ( w ) h_i(w) hi(w)是 R n R^n Rn上的仿射函数。
当目标函数 f ( w ) f(w) f(w)是二次函数且约束函数 g i ( w ) g_i(w) gi(w)是仿射函数时,上述凸优化问题成为凸二次规划问题。
如果求出了约束最优化问题(13)~(14)的解 w ∗ w^* w∗, b ∗ b^* b∗,那么就可以得到最大间隔分离超平面 w ∗ ⋅ x + b = 0 w^*\cdot x+b=0 w∗⋅x+b=0及分类决策函数 f ( x ) = s i g n ( w ∗ ⋅ x + b ) f(x)=sign(w^*\cdot x+b) f(x)=sign(w∗⋅x+b),即线性可分支持向量机模型。
综上所述,就有下面的线性可分支持向量机的学习算法-最大间隔法。
算法1(线性可分支持向量机学习算法-最大间隔法)
输入:线性可分训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y n ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_n)\} T={(x1,y1),(x2,y2),⋯,(xN,yn)},其中, x i ∈ X = R n , y i ∈ Y = { − 1 , + 1 } , i = 1 , 2 , ⋯   , N x_i\in\mathcal{X}=R^n, y_i\in\mathcal{Y}=\{-1,+1\}, i=1,2,\cdots,N xi∈X=Rn,yi∈Y={−1,+1},i=1,2,⋯,N;
输出:最大间隔分离超平面和分类决策函数。
(1) 构造并求解约束最优化问题:
min w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w ⋅ x i + b ) − 1 ≥ 0 , i = 1 , 2 , ⋯   , N \begin{aligned} &\min_{w,b}\quad\frac{1}{2}||w||^2 \\ &s.t.\quad y_i(w\cdot x_i+b)-1\geq 0, \quad i=1,2,\cdots,N \end{aligned} w,bmin21∣∣w∣∣2s.t.yi(w⋅xi+b)−1≥0,i=1,2,⋯,N
求得最优解 w ∗ w^* w∗, b ∗ b^* b∗。
(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)=sign(w^*\cdot x+b^*) f(x)=sign(w∗⋅x+b∗) -
最大间隔分离超平面的存在唯一性
线性可分训练数据集的最大间隔分离超平面是存在且唯一的。
定理1(最大间隔分离超平面的存在唯一性) 弱训练数据集 T T T线性可分,则可将训练数据集中的样本点完全正确分开的最大间隔超平面存在且唯一。
证明 (1) 存在性。由于训练数据集线性可分,所以算法1中的最优化问题(13)~(14)一定存在可行解。又由于目标函数有下界,所以最优化问题(13)~(14)必有解,记作 ( w ∗ , b ∗ ) (w^*,b^*) (w∗,b∗)。由于训练数据集中既有正类点又有负类点,所以 ( w , b ) = ( 0 , b ) (w,b)=(0,b) (w,b)=(0,b)不是最优化的可行解,因而最优解 ( w ∗ , b ∗ ) (w^*,b^*) (w∗,b∗)比满足 w ∗ ≠ 0 w^*\neq0 w∗̸=0。由此得知分离超平面的存在性。
(2) 唯一性。首先证明最优化问题(13)~(14)解中 w ∗ w^* w∗的唯一性。假设问题(13)~(14)存在两个最优解 ( w 1 ∗ , b 1 ∗ ) (w_1^*,b_1^*) (w1∗,b1∗)和 ( w 2 ∗ , b 2 ∗ ) (w_2^*,b_2^*) (w2∗,b2∗)。显然 ∣ ∣ w 1 ∗ ∣ ∣ = ∣ ∣ w 2 ∗ ∣ ∣ = c ||w_1^*||=||w_2^*||=c ∣∣w1∗∣∣=∣∣w2∗∣∣=c,其中 c c c是一个常数。令 w = w 1 ∗ + w 2 ∗ 2 , b = b 1 ∗ + b 2 ∗ 2 w=\frac{w_1^*+w_2^*}{2},b=\frac{b_1^*+b_2^*}{2} w=2w1∗+w2∗,b=2b1∗+b2∗,易知 ( w , b ) (w,b) (w,b)是问题(13)~(14)的可行解,从而有
c ≤ ∣ ∣ w ∣ ∣ ≤ 1 2 ∣ ∣ w 1 ∗ ∣ ∣ + 1 2 ∣ ∣ w 2 ∗ ∣ ∣ = c c\leq||w||\leq\frac{1}{2}||w_1^*||+\frac{1}{2}||w_2^*||=c c≤∣∣w∣∣≤21∣∣w1∗∣∣+21∣∣w2∗∣∣=c
上式表明,式中的不等号可变为等号,即 ∣ ∣ w ∣ ∣ = 1 2 ∣ ∣ w 1 ∗ ∣ ∣ + 1 2 ∣ ∣ w 2 ∗ ∣ ∣ ||w||=\frac{1}{2}||w_1^*||+\frac{1}{2}||w_2^*|| ∣∣w∣∣=21∣∣w1∗∣∣+21∣∣w2∗∣∣,从而有 w 1 ∗ = λ w 2 ∗ , ∣ λ ∣ = 1 w_1^*=\lambda w_2^*,|\lambda|=1 w1∗=λw2∗,∣λ∣=1。若 λ = − 1 \lambda=-1 λ=−1,则 w = 0 w=0 w=0, ( w , b ) (w,b) (w,b)不是问题(13)~(14)的可行解,矛盾。因此必有 λ = 1 \lambda=1 λ=1,即
w 1 ∗ = w 2 ∗ w_1^*=w_2^* w1∗=w2∗
由此可以把两个最优解 ( w 1 ∗ , b 1 ∗ ) (w_1^*,b_1^*) (w1∗,b1∗)和 ( w 2 ∗ , b 2 ∗ ) (w_2^*,b_2^*) (w2∗,b2∗)分别写成 ( w ∗ , b 1 ∗ ) (w^*,b_1^*) (w∗,b1∗)和 ( w ∗ , b 2 ∗ ) (w^*,b_2^*) (w∗,b2∗)。再证 b 1 ∗ = b 2 ∗ b_1^*=b_2^* b1∗=b2∗。设 x 1 ′ x_1' x1′和 x 2 ′ x_2' x2′是集合 { x i ∣ y i = + 1 } \{x_i|y_i=+1\} {xi∣yi=+1}中分别对应于 ( w ∗ , b 1 ∗ ) (w^*,b_1^*) (w∗,b1∗)和 ( w ∗ , b 2 ∗ ) (w^*,b_2^*) (w∗,b2∗)使得问题的不等式等号成立的点, x 1 ′ ′ x_1'' x1′′和 x 2 ′ ′ x_2'' x2′′试剂盒 { x i ∣ y i = − 1 } \{x_i|y_i=-1\} {xi∣yi=−1}中分别对应于 ( w ∗ , b 1 ∗ ) (w^*,b_1^*) (w∗,b1∗)和 ( w ∗ , b 2 ∗ ) (w^*,b_2^*) (w∗,b2∗)使得问题的不等式等号成立的点,则由 b 1 ∗ = − 1 2 ( w ∗ ⋅ x 1 ′ + w ∗ ⋅ x 1 ′ ′ ) , b 2 ∗ = − 1 2 ( w ∗ ⋅ x 2 ′ + w ∗ ⋅ x 2 ′ ′ ) b_1^*=-\frac{1}{2}(w^*\cdot x_1'+w^*\cdot x_1''),b_2^*=-\frac{1}{2}(w^*\cdot x_2'+w^*\cdot x_2'') b1∗=−21(w∗⋅x1′+w∗⋅x1′′),b2∗=−21(w∗⋅x2′+w∗⋅x2′′),得
b 1 ∗ − b 2 ∗ = − 1 2 [ w ∗ ⋅ ( x 1 ′ − x 2 ′ ) + w ∗ ⋅ ( x 1 ′ ′ − x 2 ′ ′ ) ] b_1^*-b_2^*=-\frac{1}{2}[w^*\cdot(x_1'-x_2')+w^*\cdot(x_1''-x_2'')] b1∗−b2∗=−21[w∗⋅(x1′−x2′)+w∗⋅(x1′′−x2′′)]
又因为
w ∗ ⋅ x 2 ′ + b 1 ∗ ≥ 1 = w ∗ ⋅ x 1 ′ + b 1 ∗ w ∗ ⋅ x 1 ′ + b 2 ∗ ≥ 1 = w ∗ ⋅ x 2 ′ + b 2 ∗ \begin{aligned} &w^*\cdot x_2'+b_1^*\geq1=w^*\cdot x_1'+b_1^* \\ &w^*\cdot x_1'+b_2^*\geq1=w^*\cdot x_2'+b_2^* \end{aligned} w∗⋅x2′+b1∗≥1=w∗⋅x1′+b1∗w∗⋅x1′+b2∗≥1=w∗⋅x2′+b2∗
所以, w ∗ ⋅ ( x 1 ′ − x 2 ′ ) = 0 w^*\cdot(x_1'-x_2')=0 w∗⋅(x1′−x2′)=0。同理有 w ∗ ⋅ ( x 1 ′ ′ − x 2 ′ ′ ) = 0 w^*\cdot(x_1''-x_2'')=0 w∗⋅(x1′′−x2′′)=0。因此,
b 1 ∗ − b 2 ∗ = 0 b_1^*-b_2^*=0 b1∗−b2∗=0
由 w 1 ∗ = w 2 ∗ w_1^*=w_2^* w1∗=w2∗和 b 1 ∗ = b 2 ∗ b_1^*=b_2^* b1∗=b2∗可知,两个最优解 ( w 1 ∗ , b 1 ∗ ) (w_1^*,b_1^*) (w1∗,b1∗)和 ( w 2 ∗ , b 2 ∗ ) (w_2^*,b_2^*) (w2∗,b2∗)是相同的,解的唯一性得证。
由问题(13)~(14)解的唯一性即得分离超平面是唯一的。
(3) 分离超平面能将训练数据集中的两类点完全正确地分开。
由解满足问题的约束条件即可得知。 -
支持向量和间隔边界
在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量。支持向量是使约束条件式(14)等号成立的点,即
y i ( w ⋅ x i + b ) − 1 = 0 y_i(w\cdot x_i+b)-1=0 yi(w⋅xi+b)−1=0
对 y i = + 1 y_i=+1 yi=+1的正例点,支持向量在超平面
H 1 : w ⋅ x + b = 1 H_1:w\cdot x+b=1 H1:w⋅x+b=1
上,对 y i = − 1 y_i=-1 yi=−1的负例点,支持向量在超平面
H 2 : w ⋅ x + b = − 1 H_2:w\cdot x+b=-1 H2:w⋅x+b=−1
上。如下图所示,在 H 1 H_1 H1和 H 2 H_2 H2上的点就是支持向量。
注意到 H 1 H_1 H1和 H 2 H_2 H2平行,并且没有实例点落在它们中间。在 H 1 H_1 H1与 H 2 H_2 H2之间形成的一条长带,分离超平面与它们平行且位于它们中央。长带的宽度,即 H 1 H_1 H1与 H 2 H_2 H2之间的距离称为间隔。间隔依赖于分离超平面的法向量 w w w,等于 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} ∣∣w∣∣2。 H 1 H_1 H1和 H 2 H_2 H2称为分隔边界。
在决定分离超平面时只有支持向量起作用,而其他实例点并不起作用。若果移动支持向量将改变所求的解;但是如果在间隔边界以外移动其他实例点,甚至去掉这些点,则解是不会改变的。由于支持向量在确定分离超平面中起着决定性作用,所以将这种分类模型称为支持向量。支持向量的个数一般很少,所以支持向量机由很少的“重要的”训练样本确定。
- 学习的对偶算法
为了求解线性可分支持向量机的最优化问题(13)~(14),将它作为原始最优化问题,应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解,这就是线性可分支持向量机的对偶算法。这样做的有点,一是对偶问题往往更容易求解;二是自然引入核函数,进而推广到非线性分类问题。
首先构建拉格朗日系数。为此,对每一个不等式约束(14)引进拉格朗日乘子 α i ≥ 0 , i = 1 , 2 , ⋯   , N \alpha_i\geq0,i=1,2,\cdots,N αi≥0,i=1,2,⋯,N,定义拉格朗日函数:
(18) L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i y i ( w ⋅ x i + n ) + ∑ i = 1 n α i L(w,b,\alpha)=\frac{1}{2}||w||^2-\sum_{i=1}^N\alpha_iy_i(w\cdot x_i+n)+\sum_{i=1}^n\alpha_i \tag{18} L(w,b,α)=21∣∣w∣∣2−i=1∑Nαiyi(w⋅xi+n)+i=1∑nαi(18)
其中, α = ( α 1 , α 2 , ⋯   , α N ) T \alpha=(\alpha_1,\alpha_2,\cdots,\alpha_N)^T α=(α1,α2,⋯,αN)T为拉格朗日乘子向量。
根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:
max α min w , b L ( w , b , α ) \max_\alpha\min_{w,b}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) 求 min w , b L ( w , b , α ) \min_{w,b}L(w,b,\alpha) minw,bL(w,b,α)
将拉格朗日函数 L ( w , b , α ) L(w,b,\alpha) L(w,b,α)分别对 w , b w,b w,b求偏导数并令其等于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 \begin{aligned} &\triangledown_wL(w,b,\alpha)=w-\sum_{i=1}^N\alpha_iy_ix_i=0 \\ &\triangledown_bL(w,b,\alpha)=\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
得
(19) w = ∑ i = 1 N α i y i x i w = \sum_{i=1}^N\alpha_iy_ix_i \tag{19} w=i=1∑Nαiyixi(19)
(20) ∑ i = 1 N α i y i = 0 \sum_{i=1}^N\alpha_iy_i=0 \tag{20} i=1∑Nαiyi=0(20)
将式(19)带入拉格朗日函数(18),并利用式(20),即得
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 α = − 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)&=\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_iy_i\bigg(\bigg(\sum_{j=1}^N\alpha_jy_jx_j\bigg)\cdot x_i+b\bigg)+\sum_{i=1}^N\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 \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α=−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
即
min 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 \min_{w,b}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) 求 min w , b L ( w , b , α ) \min_{w,b}L(w,b,\alpha) minw,bL(w,b,α)对 α \alpha α的极大,即是对偶问题
(21) max α − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \max_{\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 \tag{21} αmax−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi(21)
s . t . ∑ i = 1 N α i y i = 0 α ≥ 0 , i = 1 , 2 , ⋯   , N \begin{aligned} s.t. \quad &\sum_{i=1}^N\alpha_iy_i=0 \\ &\alpha\geq0, \quad i=1,2,\cdots,N \end{aligned} s.t.i=1∑Nαiyi=0α≥0,i=1,2,⋯,N
将式(21)的目标函数由求极大转换成求极小,就得到下面与之等价的对偶最优化问题:
(22) min α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \min_\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 \tag{22} αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi(22)
(23) s . t . ∑ i = 1 N α i y i = 0 s.t.\quad\sum_{i=1}^N\alpha_iy_i=0 \tag{23} s.t.i=1∑Nαiyi=0(23)
(24) α i ≥ 0 , i = 1 , 2 , ⋯   , N \alpha_i\geq0, \quad i=1,2,\cdots,N \tag{24} αi≥0,i=1,2,⋯,N(24)
考虑原始最优化问题(13)~(14)和对偶最优化问题(22)~(24),原始问题满足定理C.2的条件,所以存在 w ∗ , α ∗ , β ∗ w^*,\alpha^*,\beta^* w∗,α∗,β∗,使 w ∗ w^* w∗是原始问题的解, α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗是对偶问题的解。这意味着求解原始问题(13)~(14)可以转换为求解对偶问题(22)~(24)。
对线性可分训练数据集,假设对偶最优化问题(22)~(24)对 α \alpha α的解为 α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) \alpha^*=(\alpha_1^*,\alpha_2^*,\cdots,\alpha_N^*) α∗=(α1∗,α2∗,⋯,αN∗),可以由 α ∗ \alpha^* α∗求得原始最优化问题(13)~(14)对 ( w , b ) (w,b) (w,b)的解 w ∗ , b ∗ w^*,b^* w∗,b∗。有下面的定理。
定理2 设 α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) \alpha^*=(\alpha_1^*,\alpha_2^*,\cdots,\alpha_N^*) α∗=(α1∗,α2∗,⋯,αN∗)是对偶问题(22)~(24)的解,则存在下标 j j j,使得 α j ∗ > 0 \alpha_j^*>0 αj∗>0,并可按下式求得原始最优化问题(13)~(14)的解 w ∗ , b ∗ w^*,b^* w∗,b∗:
(25) w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^N\alpha_i^*y_ix_i \tag{25} w∗=i=1∑Nαi∗yixi(25)
(26) 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) \tag{26} b∗=yj−i=1∑Nαi∗yi(xi⋅xj)(26)
证明 根据定理C.3,KKT条件成立,即得
(27) ▽ 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} &\triangledown_wL(w^*,b^*,\alpha^*)=w^*-\sum_{i=1}^N\alpha_i^*y_ix_i=0 \tag{27} \\ &\triangledown_bL(w^*,b^*,\alpha^*) =-\sum_{i=1}^N\alpha_i^*y_i=0 \\ &\alpha_i^*(y_i(w^*\cdot x_i+b^*)-1)=0,\quad i=1,2,\cdots,N \\ &y_i(w^*\cdot x_i+b^*)-1\geq0,\quad i=1,2,\cdots,N \\ &\alpha_i^*\geq0,\quad i=1,2,\cdots,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(27)
由此得
w ∗ = ∑ i α i ∗ y i x i w^*=\sum_i\alpha_i^*y_ix_i w∗=i∑αi∗yixi
其中至少有一个 α j ∗ > 0 \alpha_j^*>0 αj∗>0(用反证法,假设 α ∗ = 0 \alpha^*=0 α∗=0,由式(27)可知 w ∗ = 0 w^*=0 w∗=0,而 w ∗ = 0 w^*=0 w∗=0不是原始最优化问题(13)~(14)的解,产生矛盾),对此 j j j有
(28) y j ( w ∗ ⋅ x j + b ∗ ) − 1 = 0 y_j(w^*\cdot x_j+b^*)-1=0 \tag{28} yj(w∗⋅xj+b∗)−1=0(28)
将式(25)带入式(28)并注意到 y j 2 = 1 y_j^2=1 yj2=1,即得
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)
由此定理可知,分离超平面可以写成
(29) ∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b i = 0 \sum_{i=1}^N\alpha_i^*y_i(x\cdot x_i)+b_i=0 \tag{29} i=1∑Nαi∗yi(x⋅xi)+bi=0(29)
分类决策函数可以写成
(30) f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b ∗ ) f(x)=sign\bigg(\sum_{i=1}^N\alpha_i^*y_i(x\cdot x_i)+b^*\bigg) \tag{30} f(x)=sign(i=1∑Nαi∗yi(x⋅xi)+b∗)(30)
这就是说,分类决策函数只依赖于输入 x x x和训练样本输入的内积。式(30)称为线性可分支持向量机的对偶形式。
综上所述,对于给定的现行可分训练数据集,可以首先求对偶问题(22)~(24)的解 α ∗ \alpha^* α∗;再利用式(25)和式(26)求得原始问题的解 w ∗ , b ∗ w^*,b^* w∗,b∗;从而得到分离超平面及分类决策函数。这种算法称为线性可分支持向量机的对偶学习算法,是线性可分支持向量机学习的基本算法。
算法2(线性可分支持向量机学习算法)
输入:现行可分训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={(x1,y1),(x2,y2),⋯,(xN,yN)},其中 x i ∈ X = R n , y i ∈ Y = { − 1 , + 1 } , i = 1 , 2 , ⋯   , N x_i\in\mathcal{X}=R^n,y_i\in\mathcal{Y}=\{-1,+1\},i=1,2,\cdots,N xi∈X=Rn,yi∈Y={−1,+1},i=1,2,⋯,N;
输出:分离超平面和分类决策函数。
(1) 构造并求解约束最优化问题
min α 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} &\min_\alpha\quad\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 \\ &s.t.\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &\alpha_i\geq0, i=1,2,\cdots,N \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^*,\cdots,\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^* α∗的一个正分量 α j ∗ > 0 \alpha_j^*>0 αj∗>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)
求得分离超平面
w ∗ ⋅ x + b ∗ = 0 w^*\cdot x+b^*=0 w∗⋅x+b∗=0
分类决策函数:
f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)=sign(w^*\cdot x+b^*) f(x)=sign(w∗⋅x+b∗)
在线性可分支持向量机中,由式(25)、式(26)可知, w ∗ w^* w∗和 b ∗ b^* b∗只依赖于训练数据中对应于 α i ∗ > 0 \alpha_i^*>0 αi∗>0的样本点 ( x i , y i ) (x_i,y_i) (xi,yi),而其他样本点对 w ∗ w^* w∗和 b ∗ b^* b∗没有影响。我们将训练数据中对应于 α i ∗ > 0 \alpha_i^*>0 αi∗>0的实例点 x i ∈ R n x_i\in R^n xi∈Rn称为支持向量。
定义4(支持向量) 考虑原始优化问题(13)~(14)及对偶最优化问题(22)~(24),将训练数据集中对应于 α i ∗ > 0 \alpha_i^*>0 αi∗>0的样本点 x i , y i x_i,y_i xi,yi的实例 x i ∈ R n x_i\in R^n xi∈Rn称为支持向量。
根据这一定义,支持向量一定在间隔边界上。由KKT互补条件可知,
α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 ) = 0 , i = 1 , 2 , ⋯   , N \alpha_i^*(y_i(w^*\cdot x_i+b^*)-1)=0,\quad i=1,2,\cdots,N αi∗(yi(w∗⋅xi+b∗)−1)=0,i=1,2,⋯,N
对应于 α i ∗ > 0 \alpha_i^*>0 αi∗>0的实例 x i x_i xi,有
y i ( w ∗ ⋅ x i + b ∗ ) − 1 = 0 y_i(w^*\cdot x_i+b^*)-1=0 yi(w∗⋅xi+b∗)−1=0
或
w ∗ ⋅ x i + b ∗ = ± 1 w^*\cdot x_i+b^*=\pm1 w∗⋅xi+b∗=±1
即 x i x_i xi一定在间隔边界上。这里的支持向量的定义与前面给出的支持向量的定义是一致的。
线性支持向量机与软间隔最大化
-
线性支持向量机
线性可分问题的支持向量机学习方法,对线性不可分训练数据是不适用的,因为这时上述方法中的不等式约束并不能都成立。怎么才能将它扩展到线性不可分问题呢?这就需要修改硬间隔最大化,使其称为软间隔最大化。
假设给定一个特征空间上的训练数据集
{ ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } \{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} {(x1,y1),(x2,y2),⋯,(xN,yN)}
其中,KaTeX parse error: Can't use function '\=' in math mode at position 49: …cal{Y}=\{+1,-11\̲=̲},i=1,2,\cdots,…, x i x_i xi为第 i i i个特征向量, y i y_i yi为 x i x_i xi的类标记。再假设训练数据集不是线性可分的。通常情况是,训练数据中有一些特异点,将这些特异点除去后,剩下大部分的样本点组成的集合是线性可分的。
线性不可分意味着某些样本点 ( x i , y i ) (x_i,y_i) (xi,yi)不能满足函数间隔大于等于1的约束条件(14)。为了解决这个问题,可以对每个样本点 ( x i , y i ) (x_i,y_i) (xi,yi)引进一个松弛变量 ξ ≥ 0 \xi\geq0 ξ≥0,使函数间隔加上松弛变量大于等于1。这样,约束条件变为
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,支付一个代价 ξ i \xi_i ξi。目标函数由原来的 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21∣∣w∣∣2变成
(31) 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i \tag{31} 21∣∣w∣∣2+Ci=1∑Nξi(31)
这里, C > 0 C>0 C>0称为惩罚参数,一般由应用问题决定, C C C值大时对误分类的惩罚增大, C C C值小时对误分类的惩罚减小。最小化目标函数(31)包含两层含义:使 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21∣∣w∣∣2尽量小即间隔尽量大,同时使误分类点的个数尽量小, C C C是调和二者的系数。
有了上面的思路,可以和训练数据集线性可分时一样来考虑训练数据集线性不可分时的线性支持向量机学习问题。相应于硬间隔最大化,它称为软间隔最大化。
线性不可分的线性支持向量机的学习问题变成如下凸二次规划问题(原始问题):
(32) min w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \min_{w,b,\xi}\quad\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i \tag{32} w,b,ξmin21∣∣w∣∣2+Ci=1∑Nξi(32)
(33) s . t . y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , ⋯   , N s.t.\quad y_i(w\cdot x_i+b)\geq1-\xi_i,\quad i=1,2,\cdots,N \tag{33} s.t.yi(w⋅xi+b)≥1−ξi,i=1,2,⋯,N(33)
(34) ξ i ≥ 0 , i = 1 , 2 , ⋯   , N \xi_i\geq0,\quad i=1,2,\cdots,N \tag{34} ξi≥0,i=1,2,⋯,N(34)
原始问题(32)~(34)是一个凸二次规划问题,因而关于 ( w , b ξ ) (w,b\xi) (w,bξ)的解是存在的。可以证明 w w w的解是唯一的,但 b b b的解不唯一, b b b的解存在于一个区间。
设问题(32)~(34)的解是 w ∗ , b ∗ w^*,b^* w∗,b∗,于是可以得到分离超平面 w ∗ ⋅ x + b ∗ = 0 w^*\cdot x+b^*=0 w∗⋅x+b∗=0以及分类决策函数 f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)=sign(w^*\cdot x+b^*) f(x)=sign(w∗⋅x+b∗)。称这样的模型为训练样本线性不可分时的线性支持向量机,简称为线性支持向量机。显然,线性支持向量机包含线性可分支持向量机。由于现实中训练数据集往往是线性不可分的,线性支持向量机具有更广的适用性。
下面给出线性支持向量机的定义。
定义5(线性支持向量机) 对于给定的线性不可分的训练数据集,通过求解图二次规划问题,即软间隔最大化问题(32)~(34),得到分离超平面为
(35) w ∗ ⋅ x + b ∗ = 0 w^*\cdot x+b^*=0 \tag{35} w∗⋅x+b∗=0(35)
以及相应的分类决策函数
(36) f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)=sign(w^*\cdot x+b^*) \tag{36} f(x)=sign(w∗⋅x+b∗)(36)
称为线性支持向量机。 -
学习的对偶算法
原始问题(32)~(34)的对偶问题是
(37) min α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i \min_\alpha\quad\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 \tag{37} αmin21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαi(37)
(38) s . t . ∑ i = 1 N α i y i = 0 s.t.\quad\sum_{i=1}^N\alpha_iy_i=0 \tag{38} s.t.i=1∑Nαiyi=0(38)
(39) 0 ≤ α i ≤ C , i = 1 , 2 , ⋯   , N 0\leq\alpha_i\leq C,\quad i=1,2,\cdots,N \tag{39} 0≤αi≤C,i=1,2,⋯,N(39)
原始最优化问题(32)~(34)的拉格朗日函数是
(40) 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)\equiv\frac{1}{2}||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 \tag{40} 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(40)
其中, α i ≥ 0 , μ i ≥ 0 \alpha_i\geq0,\mu_i\geq0 αi≥0,μi≥0。
对偶问题是拉格朗日函数的极大极小问题。首先求 L ( w , b , ξ , α , μ ) L(w,b,\xi,\alpha,\mu) L(w,b,ξ,α,μ)对 w , b , ξ w,b,\xi 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 \begin{aligned} &\triangledown_wL(w,b,\xi,\alpha,\mu)=w-\sum_{i=1}^N\alpha_iy_ix_i=0 \\ &\triangledown_bL(w,b,\xi,\alpha,\mu)=-\sum_{i=1}^N\alpha_iy_i=0 \\ &\triangledown_{\xi_i}L(w,b,\xi,\alpha,\mu)=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
得
(41) w = ∑ i = 1 N α i y i x i w=\sum_{i=1}^N\alpha_iy_ix_i \tag{41} w=i=1∑Nαiyixi(41)
(42) ∑ i = 1 N α i y i = 0 \sum_{i=1}^N\alpha_iy_i=0 \tag{42} i=1∑Nαiyi=0(42)
(43) C − α i − μ i = 0 C-\alpha_i-\mu_i=0 \tag{43} C−αi−μi=0(43)
将式(41)~(43)带入式(40),得
min 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 \min_{w,b,\xi}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
再对 min w , b , ξ L ( w , b , ξ , α , μ ) \min_{w,b,\xi}L(w,b,\xi,\alpha,\mu) minw,b,ξL(w,b,ξ,α,μ)求 α \alpha α的极大,即得对偶问题:
(44) max α − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \max_\alpha\quad -\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 \tag{44} αmax−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi(44)
(45) s . t . ∑ i = 1 N α i y i = 0 s.t. \quad \sum_{i=1}^N\alpha_iy_i=0 \tag{45} s.t.i=1∑Nαiyi=0(45)
(46) C − α i − μ i = 0 C-\alpha_i-\mu_i=0 \tag{46} C−αi−μi=0(46)
(47) α i ≥ 0 \alpha_i\geq0 \tag{47} αi≥0(47)
(48) μ i ≥ 0 , i = 1 , 2 , ⋯   , N \mu_i\geq0, \quad i=1,2,\cdots,N \tag{48} μi≥0,i=1,2,⋯,N(48)
将对偶最优化问题(44)~(48)进行变换;利用等式约束(46)消去 μ i \mu_i μi,从而只留下变量 α i \alpha_i αi,并将约束(46)~(48)写成
(49) 0 ≤ α i ≤ C 0\leq\alpha_i\leq C \tag{49} 0≤αi≤C(49)
再将对目标函数求极大转换为求极小,于是得到对偶问题(37)~(39)。
可以通过求解对偶问题而得到原始问题的解,进而确定分离超平面和决策函数。为此,就可以定理的形式叙述原始问题的最优解和对偶问题的最优解的关系。
定理3 设 α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) \alpha^*=(\alpha_1^*,\alpha_2^*,\cdots,\alpha_N^*) α∗=(α1∗,α2∗,⋯,αN∗)是对偶问题(37)~(39)的一个解,弱存在 α ∗ \alpha^* α∗的一个分量 α j ∗ , 0 < α j ∗ < C \alpha_j^*,0<\alpha_j^*<C αj∗,0<αj∗<C,则原始问题的解 w ∗ , b ∗ w^*,b^* w∗,b∗可按下式求得:
(50) w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^N\alpha_i^*y_ix_i \tag{50} w∗=i=1∑Nαi∗yixi(50)
(51) b ∗ = y j − ∑ i = 1 N y i α i ∗ ( x i ⋅ x j ) b^*=y_j-\sum_{i=1}^Ny_i\alpha_i^*(x_i\cdot x_j) \tag{51} b∗=yj−i=1∑Nyiαi∗(xi⋅xj)(51)
证明 原始问题是凸二次规划问题,解满足KKT条件。即得
(52) ▽ w L ( w ∗ , b ∗ ξ ∗ , α ∗ , μ ∗ ) = w ∗ − ∑ i = 1 N α i ∗ y i x i = 0 ▽ b L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = − ∑ i = 1 N α ∗ y i = 0 ▽ ξ L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = C − α ∗ − μ ∗ = 0 \begin{aligned} &\triangledown_wL(w^*,b^*\xi^*,\alpha^*,\mu^*)=w^*-\sum_{i=1}^N\alpha_i^*y_ix_i=0 \\ &\triangledown_bL(w^*,b^*,\xi^*,\alpha^*,\mu^*)=-\sum_{i=1}^N\alpha^*y_i=0 \\ &\triangledown_\xi L(w^*,b^*,\xi^*,\alpha^*,\mu^*)=C-\alpha^*-\mu^*=0 \tag{52} \end{aligned} ▽wL(w∗,b∗ξ∗,α∗,μ∗)=w∗−i=1∑Nαi∗yixi=0▽bL(w∗,b∗,ξ∗,α∗,μ∗)=−i=1∑Nα∗yi=0▽ξL(w∗,b∗,ξ∗,α∗,μ∗)=C−α∗−μ∗=0(52)
(53) α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 + ξ i ∗ ) = 0 \alpha_i^*(y_i(w^*\cdot x_i+b^*)-1+\xi_i^*)=0 \tag{53} αi∗(yi(w∗⋅xi+b∗)−1+ξi∗)=0(53)
(54) μ i ∗ ξ i ∗ = 0 \mu_i^*\xi_i^*=0 \tag{54} μi∗ξi∗=0(54)
y i ( w ∗ ⋅ x i + b ∗ ) − 1 + ξ i ∗ = 0 ξ i ∗ ≥ 0 α i ∗ ≥ 0 μ i ∗ ≥ 0 , i = 1 , 2 , ⋯   , N y_i(w^*\cdot x_i+b^*)-1+\xi_i^*=0 \\ \xi_i^*\geq0 \\ \alpha_i^*\geq0\\ \mu_i^*\geq0,\quad i=1,2,\cdots,N yi(w∗⋅xi+b∗)−1+ξi∗=0ξi∗≥0αi∗≥0μi∗≥0,i=1,2,⋯,N
由式(52)易知式(50)成立。再由式(53)~(54)可知,弱存在 α i ∗ , 0 < α j ∗ < C \alpha_i^*,0<\alpha_j^*<C αi∗,0<αj∗<C,则 y i ( w ∗ ⋅ x i + b ∗ ) − 1 = 0 y_i(w^*\cdot x_i+b^*)-1=0 yi(w∗⋅xi+b∗)−1=0。由此即得式(51)。
由此定理可知,分离超平面可以写成
(55) ∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b ∗ = 0 \sum_{i=1}^N\alpha_i^*y_i(x\cdot x_i)+b^*=0 \tag{55} i=1∑Nαi∗yi(x⋅xi)+b∗=0(55)
分类决策函数可以写成
(56) f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b ∗ ) f(x)=sign\bigg(\sum_{i=1}^N\alpha_i^*y_i(x\cdot x_i)+b^*\bigg) \tag{56} f(x)=sign(i=1∑Nαi∗yi(x⋅xi)+b∗)(56)
式(56)为线性支持向量机的对偶形式。
综合前面的结果,有下面的算法。
算法3(线性支持向量机学习算法)
输入:训练数据集 T = { ( x 1 , x 2 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_1,x_2),(x_2,y_2),\cdots,(x_N,y_N)\} T={(x1,x2),(x2,y2),⋯,(xN,yN)},其中, x i ∈ X = R n , y i ∈ Y = { − 1 , + 1 } , i = 1 , 2 , ⋯   , N x_i\in\mathcal{X}=R^n,y_i\in\mathcal{Y}=\{-1,+1\},i=1,2,\cdots,N xi∈X=Rn,yi∈Y={−1,+1},i=1,2,⋯,N;
输出:分离超平面和分类决策函数。
(1) 选择惩罚参数 C > 0 C>0 C>0,构造并求解凸二次规划问题
min α 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} &\min_\alpha\quad\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 \\ &s.t.\quad \sum_{i=1}^N\alpha_iy_i=0 \\ &\qquad\quad 0\leq\alpha_i\leq C,\quad i=1,2,\cdots,N \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^*,\cdots,\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^*<C 0<αj∗<C,计算
b ∗ = y i − ∑ i = 1 N y i α i ∗ ( x i ⋅ x j ) b^*=y_i-\sum_{i=1}^Ny_i\alpha_i^*(x_i\cdot x_j) b∗=yi−i=1∑Nyiαi∗(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)=sign(w^*\cdot x+b^*) f(x)=sign(w∗⋅x+b∗)
步骤(2)中,对任一适合条件 0 < α i ∗ < C 0<\alpha_i^*<C 0<αi∗<C的 α i ∗ \alpha_i^* αi∗,按式(51)都可求出 b ∗ b^* b∗,但是由于原始问题(32)~(34)对 b b b的解并不唯一,所以实际计算时可以取在所有符合条件的样本点上的平均值。 -
支持向量
在线性不可分的情况下,将对偶问题(37)~(39)的解 α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,\cdots,\alpha_N^*)^T α∗=(α1∗,α2∗,⋯,αN∗)T中对应于 α i ∗ > 0 \alpha_i^*>0 αi∗>0的样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的实例 x i x_i xi称为支持向量(软间隔的支持向量)。如图所示,这时的支持向量要比线性可分时的情况复杂一些。途中,分离超平面由实线表示,间隔边界由虚线表示,正例点由“ ∘ \circ ∘”表示,负例点由“ × \times ×”表示。图中还标出了实例 x i x_i xi到间隔边界的距离 ξ i ∣ ∣ w ∣ ∣ \frac{\xi_i}{||w||} ∣∣w∣∣ξi。
软间隔的支持向量 x i x_i xi或者在间隔边界上,或者在间隔边界与分离超平面之间,或者在分离超平面误分一侧。若 α i ∗ < C \alpha_i^*<C αi∗<C,则 ξ i = 0 \xi_i=0 ξi=0,支持向量 x i x_i xi恰好落在间隔边界上;若 α i ∗ = C , 0 < ξ i < 1 \alpha_i^*=C,0<\xi_i<1 αi∗=C,0<ξi<1,则分类正确, x i x_i xi在间隔边界与分离超平面之间;若 α i ∗ = C , ξ i = 1 \alpha_i^*=C,\xi_i=1 αi∗=C,ξi=1,则 x i x_i xi在分离超平面上;若 α i ∗ = C , ξ i > 1 \alpha_i^*=C,\xi_i>1 αi∗=C,ξi>1,则 x i x_i xi位于分离超平面误分一侧。 -
合页损失函数
对于线性支持向量机学习来说,其模型为分离超平面 w ∗ ⋅ x + b ∗ = 0 w^*\cdot x+b^*=0 w∗⋅x+b∗=0及决策函数 f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)=sign(w^*\cdot x+b^*) f(x)=sign(w∗⋅x+b∗),其学习策略为软间隔最大化,学习算法为凸二次规划。
线性支持向量机学习还有另外一种解释,就是最小化以下目标函数:
(57) ∑ 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 \tag{57} i=1∑N[1−yi(w⋅xi+b)]++λ∣∣w∣∣2(57)
目标函数的第1项是经验损失或经验风险,函数
(58) L ( y ( w ⋅ x + b ) ) = [ 1 − y ( w ⋅ x + b ) ] + L(y(w\cdot x+b))=[1-y(w\cdot x+b)]_{+} \tag{58} L(y(w⋅x+b))=[1−y(w⋅x+b)]+(58)
称为合页损失函数。下表"+"表示以下取正值的函数。
[ z ] + = { z , z > 0 0 , z ≤ 0 [z]_+ =\left\{ \begin{array}{ll} z, &z>0 \\ 0, &z\leq0 \\ \end{array} \right. [z]+={z,0,z>0z≤0
这就是说,当样本点 ( x i , y i ) (x_i,y_i) (xi,yi)被正确分类且函数间隔(确信度) y i ( w ⋅ x i + b ) y_i(w\cdot x_i+b) yi(w⋅xi+b)大于1时,损失是0,否则损失是 1 − y i ( w ⋅ x i + b ) 1-y_i(w\cdot x_i+b) 1−yi(w⋅xi+b),注意到在上图中的实例点 x 4 x_4 x4被正确分类,但损失不是0。目标函数的第二项是系数为 λ \lambda λ的 w w w的 L 2 L_2 L2范数,是正则化项。
定理4 线性支持向量机原始最优化问题:
(60) min w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \min_{w,b,\xi}\quad\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i \tag{60} w,b,ξmin21∣∣w∣∣2+Ci=1∑Nξi(60)
(61) s . t . y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , ⋯   , N s.t.\quad y_i(w\cdot x_i+b)\geq1-\xi_i,\quad i=1,2,\cdots,N \tag{61} s.t.yi(w⋅xi+b)≥1−ξi,i=1,2,⋯,N(61)
(62) ξ i ≥ 0 , i = 1 , 2 , ⋯   , N \xi_i\geq0,\quad i=1,2,\cdots,N \tag{62} ξi≥0,i=1,2,⋯,N(62)
等价于最优化问题
(63) min w , b ∑ i = 1 N [ 1 − y i ( w ⋅ x i + b ) ] + + λ ∣ ∣ w ∣ ∣ 2 \min_{w,b}\quad \sum_{i=1}^N[1-y_i(w\cdot x_i+b)]_++\lambda||w||^2 \tag{63} w,bmini=1∑N[1−yi(w⋅xi+b)]++λ∣∣w∣∣2(63)
证明 可将最优化问题(63)写成问题(60)~(62)。令
(64) 1 − y i ( w ⋅ x i + b ) = ξ i , ξ i ≥ 0 1-y_i(w\cdot x_i+b)=\xi_i,\quad \xi_i\geq0 \tag{64} 1−yi(w⋅xi+b)=ξi,ξi≥0(64)
则 y i ( w ⋅ x i + b ) ≤ 1 y_i(w\cdot x_i+b)\leq1 yi(w⋅xi+b)≤1。于是 w , b , ξ i w,b,\xi_i w,b,ξi满足约束条件(61)~(62)。由式(64)有, [ 1 − y i ( w ⋅ x i + b ) ] + = [ ξ i ] + = ξ i [1-y_i(w\cdot x_i+b)]_+=[\xi_i]_+=\xi_i [1−yi(w⋅xi+b)]+=[ξi]+=ξi,所以最优化问题(63)可写成
min w , b ∑ i = 1 N ξ i + λ ∣ ∣ w ∣ ∣ 2 \min_{w,b}\quad \sum_{i=1}^N\xi_i+\lambda||w||^2 w,bmini=1∑Nξi+λ∣∣w∣∣2
若取 λ = 1 2 C \lambda=\frac{1}{2C} λ=2C1,则
min w , b 1 C ( 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i ) \min_{w,b}\quad \frac{1}{C}\bigg(\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i\bigg) w,bminC1(21∣∣w∣∣2+Ci=1∑Nξi)
与式(60)等价。
反之,也可将最优化问题(60)~(62)表示成问题(63)。
合页损失函数的图形如图所示,横轴是函数间隔 y ( w ⋅ x + b ) y(w\cdot x+b) y(w⋅x+b),纵轴是损失。由于函数形状像一个合页,故名合页损失函数。
途中还画出0-1损失函数,可以认为它是二类分类问题的真正的损失函数,而合页损失函数是0-1损失函数的上界。由于0-1损失函数不是连续可导的, 优化由其构成的目标函数比较困难,可以认为线性支持向量机是优化由0-1损失函数的上界(合页损失函数)构成的目标函数。这时的上界损失函数又称为代理损失函数。
上图中虚线显示的是感知机的损失函数 [ y i ( w ⋅ x i + b ) ] + [y_i(w\cdot x_i+b)]_+ [yi(w⋅xi+b)]+。这时,当样本点 ( x i , y i ) (x_i,y_i) (xi,yi)被正确分类时,损失是0,否则损失是 − y i ( w ⋅ x i + b ) -y_i(w\cdot x_i+b) −yi(w⋅xi+b)。相比之下,合页损失函数不仅要分类正确,而且确信度足够高时损失才是0。也就是说,合页损失函数对学习有更高的要求。
非线性支持向量机与核函数
对解线性分类问题,线性分类支持向量机是一种非常有效的方法。但是,有时分类问题是非线性的,这时可以使用非线性支持向量机。本节叙述非线性支持向量机,其主要特点是是利用核技巧。为此,先要介绍核技巧。核技巧不仅应用于支持向量机,而且应用于其他统计学习问题。
- 核技巧
-
非线性分类问题
非线性分类问题是指通过非线性模型才能很好地进行分类的问题。先看一个例子:如下左图,是一个分类问题,图中“ ∙ \bullet ∙”表示正实例点,“ × \times ×”表示负实例点。由图可见,无法用直线(线性模型)将正负实例正确分开,但可以用一条椭圆曲线(非线性模型)将它们正确分开。
一般来说,对给定的一个训练数据集KaTeX parse error: Expected 'EOF', got '\cdos' at position 25: …y_1),(x_2,y_2),\̲c̲d̲o̲s̲,(x_N,y_N)\},其中,实例 x i x_i xi属于输入空间, x ∈ X = R n x_\in\mathcal{X}=R^n x∈X=Rn,对应的标记有两类 y i ∈ Y = { − 1 , + 1 } , i = 1 , 2 , ⋯   , N y_i\in\mathcal{Y}=\{-1,+1\},i=1,2,\cdots,N yi∈Y={−1,+1},i=1,2,⋯,N。如果能用 R n R^n Rn中的一个超曲面将正负例正确分开,则称这个问题为非线性可分问题。
非线性问题往往不好求解,所以希望能用解线性分类问题的方法解决这个问题。所采取的方法是进行一个非线性变换,将非线性问题变换为线性问题,通过解变换后的线性问题的方法求解原来的非线性问题。对上图所示的例子,通过变换,将左图中椭圆变化成右图中的直线,将非线性分类问题变换为线性分类问题。
设原空间为 X ⊂ R 2 , x = ( x ( 1 ) , x ( 2 ) ) T ∈ X \mathcal{X}\subset R^2,x=(x^{(1)},x^{(2)})^T\in\mathcal{X} X⊂R2,x=(x(1),x(2))T∈X,新空间为 Z ⊂ R 2 , z = ( z ( 1 ) , z ( 2 ) ) T ∈ Z Z\subset R^2,z=(z^{(1)},z^{(2)})^T\in Z Z⊂R2,z=(z(1),z(2))T∈Z,定义从原空间到新空间的变换(映射):
z = ϕ ( x ) = ( ( x ( 1 ) ) 2 , ( x ( 2 ) ) 2 ) T z=\phi(x)=((x^{(1)})^2,(x^{(2)})^2)^T z=ϕ(x)=((x(1))2,(x(2))2)T
经过变换 z = ϕ ( x ) z=\phi(x) z=ϕ(x),原空间 X ⊂ R 2 \mathcal{X}\subset R^2 X⊂R2变换为新空间 Z ⊂ R 2 Z\subset R^2 Z⊂R2,原空间中的点相应地变换为新空间中的点,原空间中的椭圆
w 1 ( x ( 1 ) ) 2 + w 2 ( x ( 2 ) ) 2 + b = 0 w_1(x^{(1)})^2+w_2(x^{(2)})^2+b=0 w1(x(1))2+w2(x(2))2+b=0
变换成为新空间中的直线
w 1 z ( 1 ) + w 2 z ( 2 ) + b = 0 w_1z^{(1)}+w_2z^{(2)}+b=0 w1z(1)+w2z(2)+b=0
在变换后的新空间里,直线 w 1 z ( 1 ) + w 2 z ( 2 ) + b = 0 w_1z^{(1)}+w_2z^{(2)}+b=0 w1z(1)+w2z(2)+b=0可以将变换后的正负实例点正确分尅。这样,原空间的非线性可分问题就变成了新空间的线性可分问题。
上面的例子说明,用线性分类方法求解非线性分类问题分为两步:首先使用一个变换将原空间的数据映射到新空间;然后在新空间里用线性分类学习方法从训练数据中学习分类模型。核技巧就属于这样的方法。
核技巧应用到支持向量机,其基本想法就是通过一个非线性变换将输入空间(欧式空间 R n R^n Rn或离散集合)对应于一个特征空间(希尔伯特空间 H \mathcal{H} H),使得在输入空间 R n R^n Rn中的超曲面模型对应于特征空间 H \mathcal{H} H中的超平面模型(支持向量机)。这样,分类问题的学习任务通过在特征空间中求解线性支持向量机就可以完成。 -
核函数的定义
定义6(核函数) 设 X \mathcal{X} X是输入空间(欧式空间 R n R^n Rn的子集或离散集合),又设 H \mathcal{H} H为特征空间(希尔伯特空间),如果存在一个从 X \mathcal{X} X到 H \mathcal{H} H的映射
(65) ϕ ( x ) : x → H \phi(x):\mathcal{x}\rightarrow\mathcal{H} \tag{65} ϕ(x):x→H(65)
使得对所有 x , z ∈ X x,z\in\mathcal{X} x,z∈X,函数 K ( x , z ) K(x,z) K(x,z)满足条件
(66) K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) K(x,z)=\phi(x)\cdot\phi(z) \tag{66} K(x,z)=ϕ(x)⋅ϕ(z)(66)
则称 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),而不显式地定义映射函数 ϕ \phi ϕ。通常,直接计算 K ( x , z ) K(x,z) K(x,z)比较容易,而通过 ϕ ( x ) \phi(x) ϕ(x)和 ϕ ( z ) \phi(z) ϕ(z)计算 K ( x , z ) K(x,z) K(x,z)并不容易。注意, ϕ \phi ϕ是输入控件 R n R^n Rn到特征空间 H \mathcal{H} H的映射,特征空间 H \mathcal{H} H一般是高维的,甚至是无穷维的。可以看到,对于给定的核 K ( x , z ) K(x,z) K(x,z),特征空间 H \mathcal{H} H和映射函数 ϕ \phi ϕ的取法并不唯一,可以取不同的特征空间,即便是在同意特征空间里也可以取不同的映射。 -
核技巧在支持向量机中的应用
我们注意到在线性支持向量机的对偶问题中,吴坤是目标函数还是决策函数(分离超平面)都只涉及输入实例与实例之间的内积。在对偶问题的目标函数(37)中的内积 x i ⋅ x j x_i\cdot x_j xi⋅xj可以用核函数 K ( x i , y i ) = ϕ ( x i ) ⋅ ϕ ( x j ) K(x_i,y_i)=\phi(x_i)\cdot\phi(x_j) K(xi,yi)=ϕ(xi)⋅ϕ(xj)来代替。此时对偶问题的目标函数成为
(67) W ( α ) = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i , x j ) − ∑ i = 1 N α i W(\alpha)=\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 \tag{67} W(α)=21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)−i=1∑Nαi(67)
同样,分类决策函数中的内积也可以用核函数代替,而分类决策函数式成为
(68) f ( x ) = s i g n ( ∑ i = 1 N s α i ∗ y i ϕ ( x i ) ⋅ ϕ ( x ) + b ∗ ) = s i g n ( ∑ i = 1 N s α i ∗ y i K ( x i , x ) + b ∗ ) f(x)=sign\bigg(\sum_{i=1}^{N_s}\alpha_i^*y_i\phi(x_i)\cdot\phi(x)+b^*\bigg)=sign\bigg(\sum_{i=1}^{N_s}\alpha_i^*y_iK(x_i,x)+b^*\bigg) \tag{68} f(x)=sign(i=1∑Nsαi∗yiϕ(xi)⋅ϕ(x)+b∗)=sign(i=1∑Nsαi∗yiK(xi,x)+b∗)(68)
这等价于经过映射函数 ϕ \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 , z ) K(x,z) K(x,z)给定的条件下,可以利用解线性分类问题的方法求解非线性分类问题的支持向量机。学习是隐式地在特征空间进行的,不需要显式地定义特征空间和映射函数。这样的技巧称为核技巧,它是巧妙地利用线性分类方法与核函数解决非线性问题的技术。在实际应用中,往往依赖领域只是直接选择核函数,核函数选择的有效性需要通过实验验证。
- 正定核
已知映射函数 ϕ \phi ϕ,可以通过 ϕ ( x ) \phi(x) ϕ(x)和 ϕ ( z ) \phi(z) ϕ(z)的内积求得核函数 K ( x , z ) K(x,z) K(x,z)。不用构造映射 ϕ ( x ) \phi(x) ϕ(x)能否直接判断一个给定的函数 K ( x , z ) K(x,z) K(x,z)是不是核函数?或者说,函数 K ( x , z ) K(x,z) K(x,z)满足什么条件才能称为核函数?
本节叙述正定核的充要条件。通常所说的核函数就是正定核函数。为证明此定理先介绍有关的预备知识。
假设 K ( x , z ) K(x,z) K(x,z)是定义在 X × X \mathcal{X}\times\mathcal{X} X×X上的对称函数,并且对任意的 x 1 , x 2 , ⋯   , x m ∈ X x_1,x_2,\cdots,x_m\in\mathcal{X} x1,x2,⋯,xm∈X, K ( x , z ) K(x,z) K(x,z)关于 x 1 , x 2 , ⋯   , x m x_1,x_2,\cdots,x_m x1,x2,⋯,xm的Gram矩阵是半正定的。可以依据函数 K ( x , z ) K(x,z) K(x,z),构成一个希尔伯特空间,其步骤是:首先定义映射 ϕ \phi ϕ并构成向量空间 S \mathcal{S} S;然后在 S \mathcal{S} S上定义内积构成内积空间;最后将 S \mathcal{S} S完备化构成希尔伯特空间。
-
定义映射,构成向量空间 S \mathcal{S} S
先定义映射
(69) ϕ : x → K ( ⋅ , x ) \phi:x\rightarrow K(\cdot,x) \tag{69} ϕ:x→K(⋅,x)(69)
根据这一映射,对任意 x i ∈ X , α i ∈ R , i = 1 , 2 , ⋯   , m x_i\in\mathcal{X},\alpha_i\in R,i=1,2,\cdots,m xi∈X,αi∈R,i=1,2,⋯,m,定义线性组合
(70) f ( ⋅ ) = ∑ i = 1 m α i K ( ⋅ , x ) f(\cdot)=\sum_{i=1}^m\alpha_iK(\cdot,x) \tag{70} f(⋅)=i=1∑mαiK(⋅,x)(70)
考虑由线性组合为元素的集合 S \mathcal{S} S。由于集合 S \mathcal{S} S对加法和数乘运算是封闭的,所以 S \mathcal{S} S构成一个向量空间。 -
在 S \mathcal{S} S上定义内积,使其称为内积空间
在 S \mathcal{S} S上定义一个运算 ∗ * ∗:对任意 f , g ∈ S f,g\in\mathcal{S} f,g∈S,
(71) f ( ⋅ ) = ∑ i = 1 m α i K ( ⋅ , x i ) f(\cdot)=\sum_{i=1}^m\alpha_iK(\cdot,x_i) \tag{71} f(⋅)=i=1∑mαiK(⋅,xi)(71)
(72) g ( ⋅ ) = ∑ i = 1 l β j K ( ⋅ , z j ) g(\cdot)=\sum_{i=1}^l\beta_jK(\cdot,z_j) \tag{72} g(⋅)=i=1∑lβjK(⋅,zj)(72)
定义运算 ∗ * ∗
(73) f ∗ g ⋅ ∑ i = 1 m ∑ j = 1 l α i β j K ( x i , z j ) f*g\cdot\sum_{i=1}^m\sum_{j=1}^l\alpha_i\beta_jK(x_i,z_j) \tag{73} f∗g⋅i=1∑mj=1∑lαiβjK(xi,zj)(73)
证明运算 ∗ * ∗是空间 S \mathcal{S} S的内积。为此要证:
(1) (74) ( c f ) ∗ g = c ( f ∗ g ) , c ∈ R (cf)*g=c(f*g),\quad c\in R \tag{74} (cf)∗g=c(f∗g),c∈R(74)
(2) (75) ( f + g ) ∗ h = f ∗ h + g ∗ h , h ∈ S (f+g)*h=f*h+g*h,\quad h\in\mathcal{S} \tag{75} (f+g)∗h=f∗h+g∗h,h∈S(75)
(3) (76) f ∗ g = g ∗ f f*g=g*f \tag{76} f∗g=g∗f(76)
(4) (78) f ∗ f ≥ 0 , f ∗ f = 0 ⇔ f = 0 f*f\geq0,\quad f*f=0\Leftrightarrow f=0 \tag{78} f∗f≥0,f∗f=0⇔f=0(78)
其中,(1)~(3)由式(70)~式(72)及 K ( x , z ) K(x,z) K(x,z)的对称性容易得到。现证(4)之式(77)。由式(70)及式(73)可得:
f ∗ f = ∑ i , j = 1 m α i α j K ( x i , x j ) f*f=\sum_{i,j=1}^m\alpha_i\alpha_jK(x_i,x_j) f∗f=i,j=1∑mαiαjK(xi,xj)
由Gram矩阵的半正定性知上式右端非负,即 f ∗ f ≥ 0 f*f\geq0 f∗f≥0。
再证(4)之式(78)。充分性显然。为证必要性,首先证明不等式:
(79) ∣ f ∗ g ∣ 2 ≤ ( f ∗ f ) ( g ∗ g ) |f*g|^2\leq(f*f)(g*g) \tag{79} ∣f∗g∣2≤(f∗f)(g∗g)(79)
设 f , g ∈ S , λ ∈ R f,g\in\mathcal{S},\lambda\in R f,g∈S,λ∈R,则 f + λ g ∈ S f+\lambda g\in\mathcal{S} f+λg∈S,于是,
( f + λ g ) ∗ ( f + λ g ) ≥ 0 (f+\lambda g)*(f+\lambda g)\geq0 (f+λg)∗(f+λg)≥0
f ∗ f + 2 λ ( f ∗ g ) + λ 2 ( g ∗ g ) ≥ 0 f*f+2\lambda(f*g)+\lambda^2(g*g)\geq0 f∗f+2λ(f∗g)+λ2(g∗g)≥0
其左端是 λ \lambda λ的二次三项式,非负,其判别式小于等于0,即
( f ∗ g ) 2 − ( f ∗ f ) ( g ∗ g ) ≤ 0 (f*g)^2-(f*f)(g*g)\leq0 (f∗g)2−(f∗f)(g∗g)≤0
于是式(79)得证。现证若 f ∗ f = 0 f*f=0 f∗f=0,则 f = 0 f=0 f=0。事实上,若
f ( ⋅ ) = ∑ i = 1 m α i K ( ⋅ , x i ) f(\cdot)=\sum_{i=1}^m\alpha_iK(\cdot,x_i) f(⋅)=i=1∑mαiK(⋅,xi)
则按运算 ∗ * ∗的定义式(73),对任意的 x ∈ X x\in\mathcal{X} x∈X,有
K ( ⋅ , x ) ∗ f = ∑ i = 1 m α i K ( x , x i ) = f ( x ) K(\cdot,x)*f=\sum_{i=1}^m\alpha_iK(x,x_i)=f(x) K(⋅,x)∗f=i=1∑mαiK(x,xi)=f(x)
于是,
(80) ∣ f ( x ) ∣ 2 = ∣ K ( ⋅ , x ) ∗ f ∣ 2 |f(x)|^2=|K(\cdot,x)*f|^2 \tag{80} ∣f(x)∣2=∣K(⋅,x)∗f∣2(80)
由式(70)和式(77)有
∣ K ( ⋅ , x ) ∗ f ∣ 2 ≤ ( K ( ⋅ , x ) ∗ K ( ⋅ , x ) ) ( f ∗ f ) = K ( x , x ) ( f ∗ f ) |K(\cdot,x)*f|^2\leq(K(\cdot,x)*K(\cdot,x))(f*f)=K(x,x)(f*f) ∣K(⋅,x)∗f∣2≤(K(⋅,x)∗K(⋅,x))(f∗f)=K(x,x)(f∗f)
由式(80)有
∣ f ( x ) ∣ 2 ≤ K ( x , x ) ( f ∗ f ) |f(x)|^2\leq K(x,x)(f*f) ∣f(x)∣2≤K(x,x)(f∗f)
此式表明,当 f ∗ f = 0 f*f=0 f∗f=0时,对任意的 x x x都有 ∣ f ( x ) ∣ = 0 |f(x)|=0 ∣f(x)∣=0。
至此,证明了 ∗ * ∗为向量空间 S \mathcal{S} S的内积。赋予内积的向量空间为内积空间。因此 S \mathcal{S} S是一个内积空间。既然 ∗ * ∗为 S \mathcal{S} S的内积运算,那么仍然用 ⋅ \cdot ⋅表示,即若
f ( ⋅ ) = ∑ i = 1 m α i K ( ⋅ , x i ) g ( ⋅ ) = = ∑ j = 1 l β j K ( ⋅ , z j ) f(\cdot)=\sum_{i=1}^m\alpha_iK(\cdot, x_i)\quad g(\cdot)==\sum_{j=1}^l\beta_jK(\cdot,z_j) f(⋅)=i=1∑mαiK(⋅,xi)g(⋅)==j=1∑lβjK(⋅,zj)
则
(81) f ⋅ g = ∑ i = 1 m ∑ j = 1 l α i β j K ( x i , z j ) f\cdot g=\sum_{i=1}^m\sum_{j=1}^l\alpha_i\beta_jK(x_i,z_j) \tag{81} f⋅g=i=1∑mj=1∑lαiβjK(xi,zj)(81) -
将内积空间 S \mathcal{S} S完备化为希尔伯特空间
现在将内积空间 S \mathcal{S} S完备化。由式(81)定义的内积可以得到范数
(82) ∣ ∣ f ∣ ∣ = f ⋅ f ||f||=\sqrt{f\cdot f} \tag{82} ∣∣f∣∣=f⋅f(82)
因此, S \mathcal{S} S是一个赋范向量空间。根据泛函分析理论,对于不完备的赋范向量空间 S \mathcal{S} S,一定可以使之完备化,得到完备的赋范向量空间 H \mathcal{H} H。一个内积空间,当作为一个赋范向量空间是完备的时候,就是希尔伯特空间。这样,就得到了希尔伯特空间 H \mathcal{H} H。
这一希尔伯特空间 H \mathcal{H} H称为再生核希尔伯特空间。这时由于核 K K K具有再生性,即满足
(83) K ( ⋅ , x ) ⋅ f = f ( x ) K(\cdot,x)\cdot f=f(x) \tag{83} K(⋅,x)⋅f=f(x)(83)
及
(84) K ( ⋅ , x ) ⋅ K ( ⋅ , z ) = K ( x , z ) K(\cdot,x)\cdot K(\cdot,z)=K(x,z) \tag{84} K(⋅,x)⋅K(⋅,z)=K(x,z)(84)
称为再生核。 -
正定核的充要条件
定理5(正定核的充要条件) 设 K : X × X → R K:\mathcal{X}\times\mathcal{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\mathcal{X},i=1,2,\cdots,m xi∈X,i=1,2,⋯,m, K ( x , z ) K(x,z) K(x,z)对应的Gram矩阵:
(85) K = [ K ( x i , x j ) ] m × m K=[K(x_i,x_j)]_{m\times m} \tag{85} K=[K(xi,xj)]m×m(85)
是半正定矩阵。
证明 必要性。由于 K ( x , z ) K(x,z) K(x,z)是 X × X \mathcal{X}\times\mathcal{X} X×X上的正定核,所以存在从 X \mathcal{X} X到希尔伯特空间 H \mathcal{H} H的映射 ϕ \phi ϕ,使得
K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) K(x,z)=\phi(x)\cdot\phi(z) K(x,z)=ϕ(x)⋅ϕ(z)
于是,对任意 x 1 , x 2 , ⋯   , x m x_1,x_2,\cdots,x_m x1,x2,⋯,xm,构造 K ( x , z ) K(x,z) K(x,z)关于 x 1 , x 2 , ⋯   , x m x_1,x_2,\cdots,x_m x1,x2,⋯,xm的Gram矩阵
[ K i j ] m × m = [ K ( x i , x j ) ] m × m [K_{ij}]_{m\times m}=[K(x_i,x_j)]_{m\times m} [Kij]m×m=[K(xi,xj)]m×m
对任意 c 1 , c 2 , ⋯   , c m ∈ R c_1,c_2,\cdots,c_m\in R c1,c2,⋯,cm∈R,有
∑ i , j = 1 m c i c j K ( x i , x j ) = ∑ i , j = 1 m c i c j ( ϕ ( x i ) ⋅ ϕ ( x j ) ) = ( ∑ i c i ϕ ( x i ) ) ⋅ ( ∑ j c j ϕ ( x j ) ) = ∣ ∣ ∑ i c i ϕ ( x i ) ∣ ∣ 2 ≥ 0 \begin{aligned} \sum_{i,j=1}^mc_ic_jK(x_i,x_j)&=\sum_{i,j=1}^mc_ic_j(\phi(x_i)\cdot\phi(x_j)) \\ &=\bigg(\sum_ic_i\phi(x_i)\bigg)\cdot\bigg(\sum_jc_j\phi(x_j)\bigg)=||\sum_ic_i\phi(x_i)||^2\geq0 \end{aligned} i,j=1∑mcicjK(xi,xj)=i,j=1∑mcicj(ϕ(xi)⋅ϕ(xj))=(i∑ciϕ(xi))⋅(j∑cjϕ(xj))=∣∣i∑ciϕ(xi)∣∣2≥0
表明 K ( x , z ) K(x,z) K(x,z)关于 x 1 , x 2 , ⋯   , x m x_1,x_2,\cdots,x_m x1,x2,⋯,xm的Gram矩阵是半正定的。
充分性。已知对称函数 K ( x , z ) K(x,z) K(x,z)对任意 x 1 , x 2 , ⋯   , x m ∈ X x_1,x_2,\cdots,x_m\in\mathcal{X} x1,x2,⋯,xm∈X, K ( x , z ) K(x,z) K(x,z)关于 x 1 , x 2 , ⋯   , x m x_1,x_2,\cdots,x_m x1,x2,⋯,xm的Gram矩阵是半正定的。根据前面的结果,对给定的 K ( x , z ) K(x,z) K(x,z),可以构造从 X \mathcal{X} X到某个希尔伯特空间 H \mathcal{H} H的映射:
(86) ϕ : x → K ( ⋅ , x ) \phi:x\rightarrow K(\cdot,x) \tag{86} ϕ:x→K(⋅,x)(86)
由式(83)可知,
K ( ⋅ , x ) ⋅ f = f ( x ) K(\cdot,x)\cdot f=f(x) K(⋅,x)⋅f=f(x)
并且
K ( ⋅ , x ) ⋅ K ( ⋅ , z ) = K ( x , z ) K(\cdot,x)\cdot K(\cdot,z)=K(x,z) K(⋅,x)⋅K(⋅,z)=K(x,z)
由式(86)即得
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 × X \mathcal{X}\times\mathcal{X} X×X上的核函数。
定理给出了正定核的充要条件,因此可以作为正定核,即核函数的另一定义。
定义7(正定核的等价定义) 设 X ⊂ R n \mathcal{X}\subset R^n X⊂Rn, K ( x , z ) K(x,z) K(x,z)是定义在 X × X \mathcal{X}\times\mathcal{X} X×X上的对称函数,如果对任意 x i ∈ X , i = 1 , 2 , ⋯   , m x_i\in\mathcal{X},i=1,2,\cdots,m xi∈X,i=1,2,⋯,m, K ( x , z ) K(x,z) K(x,z)对应的Gram矩阵
(87) K = [ K ( x i , x j ) ] m × m K=[K(x_i,x_j)]_{m\times m} \tag{87} K=[K(xi,xj)]m×m(87)
是半正定矩阵,则称 K ( x , z ) K(x,z) K(x,z)是正定核。
这一定义在构造核函数时很有用,但对于一个具体函数 K ( x , z ) K(x,z) K(x,z)来说,检验它是否为正定核函数并不容易,因为要求对任意有限输入集 { x 1 , x 2 , ⋯   , x m } \{x_1,x_2,\cdots,x_m\} {x1,x2,⋯,xm}验证 K K K对应的Gram矩阵是否为半正定的。在实际问题中往往应用已有的核函数。另外,由Mercer定理可以得到Mercer核,正定核比Mercer核更具一般性。下面介绍一些常用的核函数。
- 常用核函数
-
多项式核函数
(88) K ( x , z ) = ( x ⋅ z + 1 ) p K(x,z)=(x\cdot z+1)^p \tag{88} K(x,z)=(x⋅z+1)p(88)
对应的支持向量机是一个 p p p次多项式分类器。在此情形下,分类决策函数成为
(89) f ( x ) = s i g n ( ∑ i = 1 N i α i ∗ y i ( x i ⋅ x + 1 ) p + b ∗ ) f(x)=sign\bigg(\sum_{i=1}^{N_i}\alpha_i^*y_i(x_i\cdot x+1)^p+b^*\bigg) \tag{89} f(x)=sign(i=1∑Niαi∗yi(xi⋅x+1)p+b∗)(89) -
高斯核函数
(90) K ( x , z ) = exp ( − ∣ ∣ x − z ∣ ∣ 2 2 σ 2 ) K(x,z)=\exp\bigg(-\frac{||x-z||^2}{2\sigma^2}\bigg) \tag{90} K(x,z)=exp(−2σ2∣∣x−z∣∣2)(90)
对应的支持向量机是高斯径向基函数分类器。在此情形下,分类决策函数成为
(91) f ( x ) = s i g n ( ∑ i = 1 N i α i ∗ y i exp ( − ∣ ∣ x − z ∣ ∣ 2 2 σ 2 ) + b ∗ ) f(x)=sign\bigg(\sum_{i=1}^{N_i}\alpha_i^*y_i\exp\bigg(-\frac{||x-z||^2}{2\sigma^2}\bigg)+b^*\bigg) \tag{91} f(x)=sign(i=1∑Niαi∗yiexp(−2σ2∣∣x−z∣∣2)+b∗)(91) -
字符串核函数
核函数不仅可以定义在欧式空间上,还可以定义在离散数据的集合上。比如,字符串核是定义在字符串集合上的核函数。字符串核函数在文本分类、信息检索、生物信息学等方面都有应用。
考虑一个有限字符表 Σ \Sigma Σ。字符串 s s s是从 Σ \Sigma Σ中取出有限个字符的序列,包括空字符串。字符串 s s s的长度用 ∣ s ∣ |s| ∣s∣表示,它的元素记作 s ( 1 ) s ( 2 ) ⋯ s ( ∣ s ∣ ) s(1)s(2)\cdots s(|s|) s(1)s(2)⋯s(∣s∣)。两个字符串 s s s和 t t t的连接记作 s t st st。所有长度为 n n n的字符串的集合记作 Σ n \Sigma^n Σn,所有字符串的集合记作 Σ ∗ = ⋃ n = 0 ∞ Σ n \Sigma^*=\bigcup_{n=0}^\infty\Sigma^n Σ∗=⋃n=0∞Σn。
考虑字符串 s s s的子串 u u u。给定一个指标序列 i = ( i 1 , i 2 , ⋯   , i ∣ u ∣ ) , i ≤ i 1 < i 2 < ⋯ < i ∣ u ∣ ≤ ∣ s ∣ i=(i_1,i_2,\cdots,i_{|u|}),i\leq i_1<i_2<\cdots<i_{|u|}\leq|s| i=(i1,i2,⋯,i∣u∣),i≤i1<i2<⋯<i∣u∣≤∣s∣, s s s的子串定义为 u = s ( i ) = s ( i 1 ) s ( i 2 ) ⋯ s ( i ∣ u ∣ ) u=s(i)=s(i_1)s(i_2)\cdots s(i_{|u|}) u=s(i)=s(i1)s(i2)⋯s(i∣u∣),其长度记作 l ( i ) = i ∣ u ∣ − i 1 + 1 l(i)=i_{|u|}-i_1+1 l(i)=i∣u∣−i1+1。如果 i i i是连续的,则 l ( i ) = ∣ u ∣ l(i)=|u| l(i)=∣u∣;否则, l ( i ) > ∣ u ∣ l(i)>|u| l(i)>∣u∣。
假设 S \mathcal{S} S是长度大于或等于 n n n字符串的集合, s s s是 S \mathcal{S} S的元素。现在建立字符串集合 S \mathcal{S} S到特征空间 H n = R Σ n \mathcal{H}_n=R^{\Sigma^n} Hn=RΣn的映射 ϕ n ( s ) \phi_n(s) ϕn(s)。 R Σ n R^{\Sigma^n} RΣn表示定义在 Σ n \Sigma^n Σn上的实数空间,其每一维对应一个字符串 u ∈ Σ n u\in\Sigma^n u∈Σn,映射 ϕ n ( s ) \phi_n(s) ϕn(s)将字符串 s s s对应于空间 R Σ n R^{\Sigma^n} RΣn的一个向量,其在 u u u维上的取值为
(92) [ ϕ n ( s ) ] u = ∑ i : s ( i ) = u λ l ( i ) [\phi_n(s)]_u=\sum_{i:s(i)=u}\lambda^{l(i)} \tag{92} [ϕn(s)]u=i:s(i)=u∑λl(i)(92)
这里, 0 < λ ≤ 1 0<\lambda\leq1 0<λ≤1是一个衰减参数, l ( i ) l(i) l(i)表示字符串 i i i的长度,求和在 s s s中所有与 u u u相同的子串上进行。
例如,假设 Σ \Sigma Σ为英文字符集, n n n为3, S \mathcal{S} S为长度大于或等于3的字符串的集合。考虑将字符集 S \mathcal{S} S映射到特征空间 H 3 H_3 H3。 H 3 H_3 H3的一维对应于字符串 a s d asd asd。这时,字符串" N a s d a q Nasdaq Nasdaq"与“ l a s s lass lass d a s das das”在这一维上的值分别是 [ ϕ 3 ( N a s d a q ) ] a s d = λ 3 [\phi_3(Nasdaq)]_{asd}=\lambda^3 [ϕ3(Nasdaq)]asd=λ3和 [ ϕ 3 ( l a s s □ d a s ) ] a s d = 2 λ 5 [\phi_3(lass\square das)]_{asd}=2\lambda^5 [ϕ3(lass□das)]asd=2λ5( □ \square □为空格)。在第1个字符串里, a s d asd asd是连续的子串。在第2个字符串里, a s d asd asd是长度为5的不连续子串,共出现2次。
两个字符串 s s s和 t t t上的字符串核函数是基于映射 ϕ n \phi_n ϕn的特征空间中的内积:
(93) k n ( s , t ) = ∑ u ∈ Σ n [ ϕ n ( s ) ] u [ ϕ n ( t ) ] u = ∑ u ∈ Σ n ∑ ( i , j ) : s ( i ) = t ( j ) = u λ ( l ( i ) ) λ l ( j ) k_n(s,t)=\sum_{u\in\Sigma^n}[\phi_n(s)]_u[\phi_n(t)]_u=\sum_{u\in\Sigma^n}\sum_{(i,j):s(i)=t(j)=u}\lambda^{(l(i))}\lambda^{l(j)} \tag{93} kn(s,t)=u∈Σn∑[ϕn(s)]u[ϕn(t)]u=u∈Σn∑(i,j):s(i)=t(j)=u∑λ(l(i))λl(j)(93)
字符串核函数 k n ( s , t ) k_n(s,t) kn(s,t)给出了字符串 s s s和 t t t中长度等于 n n n的所有子串组成的特征向量的余弦相似度。直观上,两个字符串相同的子串越多,它们就越相似,字符串核函数的值就越大。字符串核函数可以由动态规划快速地计算。
-
非线性支持向量分类机
如上所述,利用核技巧,可以讲线性分类的学习方法应用到非线性分类问题中去。将线性支持向量机扩展到非线性支持向量机,只需将线性支持向量机对偶形式中的内积换成核函数。
定义8(非线性支持向量机) 从非线性分类训练集,通过核函数与软间隔最大化,或凸二次规划(95)~(97),学习得到的分类决策函数
(94) f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i K ( x , x i ) + b ∗ ) f(x)=sign\bigg(\sum_{i=1}^N\alpha_i^*y_iK(x,x_i)+b^*\bigg) \tag{94} f(x)=sign(i=1∑Nαi∗yiK(x,xi)+b∗)(94)
称为非线性支持向量, K ( x , z ) K(x,z) K(x,z)是正定核函数。
下面叙述非线性支持向量机学习算法。
算法4(非线性支持向量机学习算法)
输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={(x1,y1),(x2,y2),⋯,(xN,yN)},其中 x i ∈ X = R n , y i ∈ Y = { − 1 , + 1 } , i = 1 , 2 , ⋯   , N x_i\in\mathcal{X}=R^n,y_i\in\mathcal{Y}=\{-1,+1\},i=1,2,\cdots,N xi∈X=Rn,yi∈Y={−1,+1},i=1,2,⋯,N;
输出:分类决策函数。
(1) 选取适当的核函数 K ( x , z ) K(x,z) K(x,z)和适当的参数 C C C,构造并求解最优化问题
(95) min α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i , x j ) − ∑ i = 1 N α i \min_{\alpha}\quad\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 \tag{95} αmin21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)−i=1∑Nαi(95)
(96) s . t . ∑ i = 1 N α i y i = 0 s.t.\quad \sum_{i=1}^N\alpha_iy_i=0 \tag{96} s.t.i=1∑Nαiyi=0(96)
(97) 0 ≤ α i ≤ C , i = 1 , 2 , ⋯   , N 0\leq\alpha_i\leq C,\quad i=1,2,\cdots,N \tag{97} 0≤αi≤C,i=1,2,⋯,N(97)
求得最优解 α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,\cdots,\alpha_N^*)^T α∗=(α1∗,α2∗,⋯,αN∗)T。
(2) 选择 α ∗ \alpha^* α∗的一个正分量 0 < α j ∗ < C 0<\alpha_j^*<C 0<αj∗<C,计算
b ∗ = y j − ∑ i = 1 N α i ∗ y i K ( x i ⋅ x j ) b^*=y_j-\sum_{i=1}^N\alpha_i^*y_iK(x_i\cdot x_j) b∗=yj−i=1∑Nαi∗yiK(xi⋅xj)
(3) 构造决策函数:
f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i K ( x ⋅ x i ) + b ∗ ) f(x)=sign\bigg(\sum_{i=1}^N\alpha_i^*y_iK(x\cdot x_i)+b^*\bigg) f(x)=sign(i=1∑Nαi∗yiK(x⋅xi)+b∗)
当 K ( x , z ) K(x,z) K(x,z)是正定核函数时,问题(95)~(97)是凸二次规划问题,解是存在的。