[!IMPORTANT]
参与组队学习的同学须知:
本章学习时间:3天
本章配套视频教程:
支持向量机:https://www.bilibili.com/video/BV1Mh411e7VU?p=9
软间隔与支持向量回归:https://www.bilibili.com/video/BV1Mh411e7VU?p=10
本章配套代码:https://github.com/datawhalechina/machine-learning-toy-code/blob/main/%E8%A5%BF%E7%93%9C%E4%B9%A6%E4%BB%A3%E7%A0%81%E5%AE%9E%E6%88%98.md
本章配套代码视频教程:https://space.bilibili.com/431850986/lists/3884942
第6章 支持向量机
在深度学习流行之前,支持向量机及其核方法一直是机器学习领域中的主流算法,尤其是核方法至今都仍有相关学者在持续研究。
6.1 间隔与支持向量
6.1.1 图6.1的解释
回顾第5章5.2节的感知机模型可知,图6.1中的黑色直线均可作为感知机模型的解,因为感知机模型求解的是能将正负样本完全正确划分的超平面,因此解不唯一。而支持向量机想要求解的则是离正负样本都尽可能远且刚好位于"正中间"的划分超平面,因为这样的超平面理论上泛化性能更好。
6.1.2 式(6.1)的解释
n维空间的超平面定义为wTx+b=0,其中w,x∈Rn,w=(w1;w2;...;wn)称为法向量,b称为位移项。超平面具有以下性质:
(1)法向量w和位移项b确定一个唯一超平面;
(2)超平面方程不唯一,因为当等倍缩放w和b时(假设缩放倍数为α),所得的新超平面方程αwTx+αb=0和wTx+b=0的解完全相同,因此超平面不变,仅超平面方程有变;
(3)法向量w垂直于超平面;
(4)超平面将n维空间切割为两半,其中法向量w指向的那一半空间称为正空间,另一半称为负空间,正空间中的点x+代入进方程wTx++b其计算结果大于0,反之负空间中的点代入进方程其计算结果小于0;
(5)n维空间中的任意点x到超平面的距离公式为r=∥w∥∣wTx+b∣,其中∥w∥表示向量w的模。
6.1.3 式(6.2)的推导
对于任意一点x0=(x10;x20;...;xn0),设其在超平面wTx+b=0上的投影点为x1=(x11;x21;...;xn1),则wTx1+b=0。根据超平面的性质(3)可知,此时向量x1x0与法向量w平行,因此
∣w⋅x1x0∣=∣∥w∥⋅cosπ⋅∥x1x0∥∣=∥w∥⋅∥x1x0∥=∥w∥⋅r
又
w⋅x1x0=w1(x10−x11)+w2(x20−x21)+...+wn(xn0−xn1)=w1x10+w2x20+...+wnxn0−(w1x11+w2x21+...+wnxn1)=wTx0−wTx1=wTx0+b
所以
∣wTx0+b∣=∥w∥⋅r
r=∥w∥wTx+b
6.1.4 式(6.3)的推导
支持向量机所要求的超平面需要满足三个条件,第一个是能正确划分正负样本,第二个是要位于正负样本正中间,第三个是离正负样本都尽可能远。式(6.3)仅满足前两个条件,第三个条件由式(6.5)来满足,因此下面仅基于前两个条件来进行推导。
对于第一个条件,当超平面满足该条件时,根据超平面的性质(4)可知,若yi=+1的正样本被划分到正空间(当然也可以将其划分到负空间),yi=−1的负样本被划分到负空间,以下不等式成立
{wTxi+b⩾0,wTxi+b⩽0,yi=+1yi=−1
对于第二个条件,首先设离超平面最近的正样本为x∗+,离超平面最近的负样本为x∗−,由于这两样本是离超平面最近的点,所以其他样本到超平面的距离均大于等于它们,即
⎩⎨⎧∥w∥∣wTxi+b∣⩾∥w∥∣wTx∗++b∣,∥w∥∣wTxi+b∣⩾∥w∥∣wTx∗−+b∣,yi=+1yi=−1
结合第一个条件中推导出的不等式,可将上式中的绝对值符号去掉并推得
⎩⎨⎧∥w∥wTxi+b⩾∥w∥wTx∗++b,∥w∥wTxi+b⩽∥w∥wTx∗−+b,yi=+1yi=−1
基于此再考虑第二个条件,"位于正负样本正中间"等价于要求超平面到x∗+和x∗−这两点的距离相等,即
∥w∥wTx∗++b=∥w∥wTx∗−+b
综上,支持向量机所要求的超平面所需要满足的条件如下
⎩⎨⎧∥w∥wTxi+b⩾∥w∥wTx∗++b,∥w∥wTxi+b⩽∥w∥wTx∗−+b,∥w∥∣wTx∗++b∣=∥w∥∣wTx∗−+b∣yi=+1yi=−1
但是根据超平面的性质(2)可知,当等倍缩放法向量w和位移项b时,超平面不变,且上式也恒成立,因此会导致所求的超平面的参数w和b有无穷多解。因此为了保证每个超平面的参数只有唯一解,不妨再额外施加一些约束,例如约束x∗+和x∗−代入进超平面方程后的绝对值为1,也就是令wTx∗++b=1,wTx∗−+b=−1。此时支持向量机所要求的超平面所需要满足的条件变为
{∥w∥wTxi+b⩾∥w∥+1,∥w∥wTxi+b⩽∥w∥−1,yi=+1yi=−1
由于∥w∥恒大于0,因此上式可进一步化简为
{wTxi+b⩾+1,wTxi+b⩽−1,yi=+1yi=−1
6.1.5 式(6.4)的推导
根据式(6.3)的推导可知,x∗+和x∗−便是"支持向量",因此支持向量到超平面的距离已经被约束为∥w∥1,所以两个异类支持向量到超平面的距离之和为∥w∥2。
6.1.6 式(6.5)的解释
式(6.5)是通过"最大化间隔"来保证超平面离正负样本都尽可能远,且该超平面有且仅有一个,因此可以解出唯一解。
6.2 对偶问题
6.2.1 凸优化问题
考虑一般地约束优化问题
mins.t.f(x)gi(x)⩽0,i=1,2,...,mhj(x)=0,j=1,2,...,n
若目标函数f(x)是凸函数,不等式约束gi(x)是凸函数,等式约束hj(x)是仿射函数,则称该优化问题为凸优化问题。
由于21∥w∥2和1−yi(wTxi+b)均是关于w和b的凸函数,所以式(6.6)是凸优化问题。凸优化问题是最优化里比较易解的一类优化问题,因为其拥有诸多良好的数学性质和现成的数学工具,因此如果非凸优化问题能等价转化为凸优化问题,其求解难度通常也会减小。
6.2.2 KKT条件
考虑一般的约束优化问题
mins.t.f(x)gi(x)⩽0,i=1,2,...,mhj(x)=0,j=1,2,...,n
若f(x),gi(x),hj(x)的一阶偏导连续,x∗是优化问题的局部解,μ=(μ1;μ2;...;μm),λ=(λ1;λ2;...;λn)为拉格朗日乘子向量,L(x,μ,λ)=f(x)+∑i=1mμigi(x)+∑j=1nλjhj(x)为拉格朗日函数,且该优化问题满足任何一个特定的约束限制条件,则一定存在μ∗=(μ1∗;μ2∗;...;μm∗),λ∗=(λ1∗;λ2∗;...;λn∗),使得:
(1)
∇xL(x∗,μ∗,λ∗)=∇f(x∗)+∑i=1mμi∗∇gi(x∗)+∑j=1nλj∗∇hj(x∗)=0;
(2) hj(x∗)=0,j=1,2,...,n;
(3) gi(x∗)⩽0,i=1,2,...,m;
(4) μi∗⩾0,i=1,2,...,m;
(5) μi∗gi(x∗)=0,i=1,2,...,m。
以上5条便是Karush--Kuhn--Tucker
Conditions(简称KKT条件)。KKT条件是局部解的必要条件,也就是说只要该优化问题满足任何一个特定的约束限制条件,局部解就一定会满足以上5个条件。常用的约束限制条件可查阅维基百科"Karush--Kuhn--Tucker
Conditions"词条以及查阅参考文献[1]的第4.2.2节,若对KKT条件的数学证明感兴趣可查阅参考文献[1]的第4.2.1节。
6.2.3 拉格朗日对偶函数
考虑一般地约束优化问题
mins.t.f(x)gi(x)⩽0,i=1,2,...,mhj(x)=0,j=1,2,...,n
设上述优化问题的定义域为D=dom f∩i=1⋂mdom gi∩j=1⋂ndom hj,可行集为D~={x∣x∈D,gi(x)⩽0,hj(x)=0}(显然D~是D的子集),最优值为p∗=min{f(x~)},x~∈D~。上述优化问题的拉格朗日函数定义为
L(x,μ,λ)=f(x)+i=1∑mμigi(x)+j=1∑nλjhj(x)
其中μ=(μ1;μ2;...;μm),λ=(λ1;λ2;...;λn)为拉格朗日乘子向量。相应地拉格朗日对偶函数Γ(μ,λ)(简称对偶函数)定义为L(x,μ,λ)关于x的下确界,即
Γ(μ,λ)=x∈DinfL(x,μ,λ)=x∈Dinf(f(x)+i=1∑mμigi(x)+j=1∑nλjhj(x))
对偶函数有如下性质:
(1)无论上述优化问题是否为凸优化问题,其对偶函数Γ(μ,λ)恒为凹函数,详细证明可查阅参考文献[2]的第5.1.2和3.2.3节;
(2)当μ⪰0时(μ⪰0表示μ的分量均为非负),Γ(μ,λ)构成了上述优化问题最优值p∗的下界,即
Γ(μ,λ)⩽p∗
其推导过程如下:
设x~∈D~是优化问题的可行点,则gi(x~)⩽0,hj(x~)=0,因此,当μ⪰0时,μigi(x~)⩽0,λjhj(x~)=0恒成立,所以
i=1∑mμigi(x~)+j=1∑nλjhj(x~)⩽0
根据上述不等式可以推得
L(x~,μ,λ)=f(x~)+i=1∑mμigi(x~)+j=1∑nλjhj(x~)⩽f(x~)
又
Γ(μ,λ)=x∈DinfL(x,μ,λ)⩽L(x~,μ,λ)
所以
Γ(μ,λ)⩽L(x~,μ,λ)⩽f(x~)
进一步地
Γ(μ,λ)⩽min{f(x~)}=p∗
6.2.4 拉格朗日对偶问题
在μ⪰0的约束下求对偶函数最大值的优化问题称为拉格朗日对偶问题(简称对偶问题)
maxs.t.Γ(μ,λ)μ⪰0
上一节的优化问题称为主问题或原问题。
设对偶问题的最优值为d∗=max{Γ(μ,λ)},μ⪰0,根据对偶函数的性质(2)可知d∗⩽p∗,此时称为"弱对偶性"成立,若d∗=p∗,则称为"强对偶性"成立。由此可以看出,当主问题较难求解时,如果强对偶性成立,则可以通过求解对偶问题来间接求解主问题。由于约束条件μ⪰0是凸集,且根据对偶函数的性质(1)可知Γ(μ,λ)恒为凹函数,其加个负号即为凸函数,所以无论主问题是否为凸优化问题,对偶问题恒为凸优化问题。
一般情况下,强对偶性并不成立,只有当主问题满足特定的约束限制条件(不同于KKT条件中的约束限制条件)时,强对偶性才成立,常见的有"Slater条件"。Slater条件指出,当主问题是凸优化问题,且存在一点x∈relintD能使得所有等式约束成立,除仿射函数以外的不等式约束严格成立,则强对偶性成立。由于式(6.6)是凸优化问题,且不等式约束均为仿射函数,所以式(6.6)强对偶性成立。
对于凸优化问题,还可以通过KKT条件来间接推导出强对偶性,并同时求解出主问题和对偶问题的最优解。具体地,若主问题为凸优化问题,目标函数f(x)和约束函数gi(x),hj(x)的一阶偏导连续,主问题满足KKT条件中任何一个特定的约束限制条件,则满足KKT条件的点x∗和(μ∗,λ∗)分别是主问题和对偶问题的最优解,且此时强对偶性成立。下面给出具体的推导过程。
设x∗,μ∗,λ∗是任意满足KKT条件的点,即
⎩⎨⎧∇xL(x∗,μ∗,λ∗)=∇f(x∗)+∑i=1mμi∗∇gi(x∗)+∑j=1nλj∗∇hj(x∗)=0hj(x∗)=0,j=1,2,...,ngi(x∗)⩽0,i=1,2,...,mμi∗⩾0,i=1,2,...,mμi∗gi(x∗)=0,i=1,2,...,m
由于主问题是凸优化问题,所以f(x)和gi(x)是凸函数,hj(x)是仿射函数,又因为此时μi∗⩾0,所以L(x,μ∗,λ∗)是关于x的凸函数。根据∇xL(x∗,μ∗,λ∗)=0可知,此时x∗是L(x,μ∗,λ∗)的极值点,而凸函数的极值点也是最值点,所以x∗是最小值点,因此可以进一步推得
L(x∗,μ∗,λ∗)=min{L(x,μ∗,λ∗)}=infx∈D(f(x)+i=1∑mμi∗gi(x)+j=1∑nλj∗hj(x))=Γ(μ∗,λ∗)=f(x∗)+i=1∑mμi∗gi(x∗)+j=1∑nλj∗hj(x∗)=f(x∗)
其中第二个等式是根据下确界函数的性质推得,第三个等式是根据对偶函数的定义推得,第四个等式是L(x∗,μ∗,λ∗)的展开形式,最后一个等式是因为μi∗gi(x∗)=0,hj(x∗)=0。
由于x∗和(μ∗,λ∗)仅是满足KKT条件的点,并不一定是f(x)和Γ(μ,λ)的最值点,所以f(x∗)⩾p∗⩾d∗⩾Γ(μ∗,λ∗),但是上式又推得f(x∗)=Γ(μ∗,λ∗),所以p∗=d∗,因此推得强对偶性成立,且x∗和(μ∗,λ∗)分别是主问题和对偶问题的最优解。
Slater条件恰巧也是KKT条件中特定的约束限制条件之一,所以式(6.6)不仅强对偶性成立,而且可以通过求解满足KKT条件的点来求解出最优解。
KKT条件除了可以作为凸优化问题强对偶性成立的充分条件以外,其实对于任意优化问题(并不一定是凸优化问题),若其强对偶性成立,KKT条件也是主问题和对偶问题最优解的必要条件,而且此时并不要求主问题满足KKT条件中任何一个特定的约束限制条件。下面同样给出具体的推导过程。
设主问题的最优解为x∗,对偶问题的最优解为(μ∗,λ∗),目标函数f(x)和约束函数gi(x),hj(x)的一阶偏导连续,当强对偶性成立时,可以推得
f(x∗)=Γ(μ∗,λ∗)=infx∈DL(x,μ∗,λ∗)=infx∈D(f(x)+i=1∑mμi∗gi(x)+j=1∑nλj∗hj(x))⩽f(x∗)+i=1∑mμi∗gi(x∗)+j=1∑nλj∗hj(x∗)⩽f(x∗)
其中,第一个等式是因为强对偶性成立时p∗=d∗,第二和第三个等式是对偶函数的定义,第四个不等式是根据下确界的性质推得,最后一个不等式成立是因为μi∗⩾0,gi(x∗)⩽0,hj(x∗)=0。
由于f(x∗)=f(x∗),所以上式中的不等式均可化为等式。第四个不等式可化为等式,说明L(x,μ∗,λ∗)在x∗处取得最小值,所以根据极值的性质可知在x∗处一阶导∇xL(x∗,μ∗,λ∗)=0。最后一个不等式可化为等式,说明μi∗gi(x∗)=0。此时再结合主问题和对偶问题原有的约束条件μi∗⩾0,gi(x∗)⩽0,hj(x∗)=0便凑齐了KKT条件。
6.2.5 式(6.9)和式(6.10)的推导
L(w,b,α)=21∥w∥2+i=1∑mαi(1−yi(wTxi+b))=21∥w∥2+i=1∑m(αi−αiyiwTxi−αiyib)=21wTw+i=1∑mαi−i=1∑mαiyiwTxi−i=1∑mαiyib
对w和b分别求偏导数并令其为零
∂w∂L=21×2×w+0−i=1∑mαiyixi−0=0⟹w=i=1∑mαiyixi
∂b∂L=0+0−0−i=1∑mαiyi=0⟹i=1∑mαiyi=0
6.2.6 式(6.11)的推导
因为αi⩾0,且21∥w∥2和1−yi(wTxi+b)均是关于w和b的凸函数,所以式(6.8)也是关于w和b的凸函数。根据凸函数的性质可知,其极值点就是最值点,所以一阶导为零的点就是最小值点,因此将式(6.9)和式(6.10)代入式(6.8)后即可得式(6.8)的最小值(等价于下确界),再根据对偶问题的定义加上约束αi⩾0,就得到了式(6.6)的对偶问题。由于式(6.10)也是αi必须满足的条件,且不含有w和b,因此也需要纳入对偶问题的约束条件。根据以上思路进行推导的过程如下:
w,binfL(w,b,α)=21wTw+i=1∑mαi−i=1∑mαiyiwTxi−i=1∑mαiyib=21wTi=1∑mαiyixi−wTi=1∑mαiyixi+i=1∑mαi−bi=1∑mαiyi=−21wTi=1∑mαiyixi+i=1∑mαi−bi=1∑mαiyi=−21wTi=1∑mαiyixi+i=1∑mαi=−21(i=1∑mαiyixi)T(i=1∑mαiyixi)+i=1∑mαi=−21i=1∑mαiyixiTi=1∑mαiyixi+i=1∑mαi=i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj
所以
αmaxw,binfL(w,b,α)=αmaxi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj
最后将αi⩾0和式(6.10)作为约束条件即可得式(6.11)。
式(6.6)之所以要转化为式(6.11)来求解,其主要有以下两点理由:
(1)式(6.6)中的未知数是w和b,式(6.11)中的未知数是α,w的维度d对应样本特征个数,α的维度m对应训练样本个数,通常m≪d,所以求解式(6.11)更高效,反之求解式(6.6)更高效;
(2)式(6.11)中有样本内积xiTxj这一项,后续可以很自然地引入核函数,进而使得支持向量机也能对在原始特征空间线性不可分的数据进行分类。
6.2.7 式(6.13)的解释
因为式(6.6)满足Slater条件,所以强对偶性成立,进而最优解满足KKT条件。
6.3 核函数
6.3.1 式(6.22)的解释
此即核函数的定义,即核函数可以分解成两个向量的内积。要想了解某个核函数是如何将原始特征空间映射到更高维的特征空间的,只需要分解为两个表达形式完全一样的向量内积即可。
6.4 软间隔与正则化
6.4.1 式(6.35)的推导
令
max(0,1−yi(wTxi+b))=ξi
显然ξi≥0,且当1−yi(wTxi+b)>0时有
1−yi(wTxi+b)=ξi
当1−yi(wTxi+b)≤0时有
ξi=0
综上可得
1−yi(wTxi+b)⩽ξi⇒yi(wTxi+b)⩾1−ξi
6.4.2 式(6.37)和式(6.38)的推导
类比式(6.9)和式(6.10)的推导
6.4.3 式(6.39)的推导
式(6.36)关于ξi求偏导数并令其为零
∂ξi∂L=0+C×1−αi×1−μi×1=0⇒C=αi+μi
6.4.4 式(6.40)的推导
将式(6.37)、式(6.38)和(6.39)代入式(6.36)可以得到式(6.35)的对偶问题,有
=====21∥w∥2+Ci=1∑mξi+i=1∑mαi(1−ξi−yi(wTxi+b))−i=1∑mμiξi21∥w∥2+i=1∑mαi(1−yi(wTxi+b))+Ci=1∑mξi−i=1∑mαiξi−i=1∑mμiξi−21i=1∑mαiyixiTi=1∑mαiyixi+i=1∑mαi+i=1∑mCξi−i=1∑mαiξi−i=1∑mμiξi−21i=1∑mαiyixiTi=1∑mαiyixi+i=1∑mαi+i=1∑m(C−αi−μi)ξii=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxjw,b,ξminL(w,b,α,ξ,μ)
所以
α,μmaxw,b,ξminL(w,b,α,ξ,μ)=α,μmaxi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj=αmaxi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj
又因为 αi≥0,μi≥0,
C=αi+μi,消去μi可得等价约束条件
0⩽αi⩽C,i=1,2,...,m
6.4.5 对数几率回归与支持向量机的关系
在"西瓜书"本节的倒数第二段开头,其讨论了对数几率回归与支持向量机的关系,提到"如果使用对率损失函数ℓlog来替代式(6.29)中的0/1损失函数,则几乎就得到了对率回归模型(3.27)",但式(6.29)与式(3.27)形式上相差甚远。为了更清晰的说明对数几率回归与软间隔支持向量机的关系,以下先对式(3.27)的形式进行变化。
将β=(w;b)和x^=(x;1)代入式(3.27)可得
ℓ(w,b)=i=1∑m(−yi(wTxi+b)+ln(1+ewTxi+b))=i=1∑m(lneyi(wTxi+b)1+ln(1+ewTxi+b))=i=1∑mlneyi(wTxi+b)1+ewTxi+b=⎩⎨⎧∑i=1mln(1+e−(wTxi+b)),∑i=1mln(1+ewTxi+b),yi=1yi=0
上式中正例和反例分别用yi=1和yi=0表示,这是对数几率回归常用的方式,而在支持向量机中正例和反例习惯用yi=+1和yi=−1表示。实际上,若上式也换用yi=+1和yi=−1分别表示正例和反例,则上式可改写为
ℓ(w,b)=⎩⎨⎧∑i=1mln(1+e−(wTxi+b)),∑i=1mln(1+ewTxi+b),yi=+1yi=−1=i=1∑mln(1+e−yi(wTxi+b))
此时上式的求和项正是式(6.33)所表述的对率损失。
6.4.6 式(6.41)的解释
参见式(6.13)的解释
6.5 支持向量回归
6.5.1 式(6.43)的解释
相比于线性回归用一条线来拟合训练样本,支持向量回归而是采用一个以f(x)=wTx+b为中心,宽度为2ϵ的间隔带,来拟合训练样本。
落在带子上的样本不计算损失(类比线性回归在线上的点预测误差为0),不在带子上的则以偏离带子的距离作为损失(类比线性回归的均方误差),然后以最小化损失的方式迫使间隔带从样本最密集的地方穿过,进而达到拟合训练样本的目的。因此支持向量回归的优化问题可以写为
w,bmin21∥w∥2+Ci=1∑mℓϵ(f(xi)−yi)
其中ℓϵ(z)为"ϵ不敏感损失函数"(类比线性回归的均方误差损失)
ℓϵ(z)={0,∣z∣−ϵ, if ∣z∣⩽ϵ if ∣z∣>ϵ
21∥w∥2为L2正则项,此处引入正则项除了起正则化本身的作用外,也是为了和软间隔支持向量机的优化目标保持形式上的一致,这样就可以导出对偶问题引入核函数,C为用来调节损失权重的正则化常数。
6.5.2 式(6.45)的推导
同软间隔支持向量机,引入松弛变量ξi,令
ℓϵ(f(xi)−yi)=ξi
显然ξi⩾0,并且当∣f(xi)−yi∣⩽ϵ时,ξi=0,当∣f(xi)−yi∣>ϵ时,ξi=∣f(xi)−yi∣−ϵ,所以
∣f(xi)−yi∣−ϵ⩽ξi
∣f(xi)−yi∣⩽ϵ+ξi
−ϵ−ξi⩽f(xi)−yi⩽ϵ+ξi
因此支持向量回归的优化问题可以化为
w,b,ξimin21∥w∥2+Ci=1∑mξi
s.t. −ϵ−ξi⩽f(xi)−yi⩽ϵ+ξiξi⩾0,i=1,2,…,m
如果考虑两边采用不同的松弛程度,则有
w,b,ξi,ξ^imin21∥w∥2+Ci=1∑m(ξi+ξ^i)
s.t. −ϵ−ξ^i⩽f(xi)−yi⩽ϵ+ξiξi⩾0,ξ^i⩾0,i=1,2,…,m
6.5.3 式(6.52)的推导
将式(6.45)的约束条件全部恒等变形为小于等于0的形式可得
⎩⎨⎧f(xi)−yi−ϵ−ξi≤0yi−f(xi)−ϵ−ξ^i≤0−ξi≤0−ξ^i≤0
由于以上四个约束条件的拉格朗日乘子分别为αi,α^i,μi,μ^i,所以其对应的KKT条件为
⎩⎨⎧αi(f(xi)−yi−ϵ−ξi)=0α^i(yi−f(xi)−ϵ−ξ^i)=0−μiξi=0⇒μiξi=0−μ^iξ^i=0⇒μ^iξ^i=0
又由式(6.49)和式(6.50)有
{μi=C−αiμ^i=C−α^i
所以上述KKT条件可以进一步变形为
⎩⎨⎧αi(f(xi)−yi−ϵ−ξi)=0α^i(yi−f(xi)−ϵ−ξ^i)=0(C−αi)ξi=0(C−α^i)ξ^i=0
又因为样本(xi,yi)只可能处在间隔带的某一侧,即约束条件f(xi)−yi−ϵ−ξi=0和yi−f(xi)−ϵ−ξ^i=0不可能同时成立,所以αi和α^i中至少有一个为0,即αiα^i=0。
在此基础上再进一步分析可知,如果αi=0,则根据约束(C−αi)ξi=0可知此时ξi=0。同理,如果α^i=0,则根据约束(C−α^i)ξ^i=0可知此时ξ^i=0。所以ξi和ξ^i中也是至少有一个为0,即ξiξ^i=0。将αiα^i=0,ξiξ^i=0整合进上述KKT条件中即可得到式(6.52)。
6.6 核方法
6.6.1 式(6.57)和式(6.58)的解释
式(6.24)是式(6.20)的解;式(6.56)是式(6.43)的解。对应到表示定理式(6.57)当中,式(6.20)和式(6.43)均为Ω(∥h∥H)=21∥w∥2,式(6.20)的ℓ(h(x1),h(x2),...,h(xm))=0,而式(6.43)的ℓ(h(x1),h(x2),...,h(xm))=C∑i=1mℓϵ(f(xi)−yi),均满足式(6.57)的要求,式(6.20)和式(6.43)的解均为κ(x,xi)的线性组合,即式(6.58)。
6.6.2 式(6.65)的推导
由表示定理可知,此时二分类KLDA最终求得的投影直线方程总可以写成如下形式:
h(x)=i=1∑mαiκ(x,xi)
又因为直线方程的固定形式为
h(x)=wTϕ(x)
所以
wTϕ(x)=i=1∑mαiκ(x,xi)
将κ(x,xi)=ϕ(x)Tϕ(xi)代入可得
wTϕ(x)=i=1∑mαiϕ(x)Tϕ(xi)=ϕ(x)T⋅i=1∑mαiϕ(xi)
由于wTϕ(x)的计算结果为标量,而标量的转置等于其本身,所以
wTϕ(x)=(wTϕ(x))T=ϕ(x)Tw=ϕ(x)Ti=1∑mαiϕ(xi)
即
w=i=1∑mαiϕ(xi)
6.6.3 式(6.66)和式(6.67)的解释
为了详细地说明此式的计算原理,下面首先举例说明,然后再在例子的基础上延展出其一般形式。
假设此时仅有4个样本,其中第1和第3个样本的标记为0,第2和第4个样本的标记为1,那么此时有
m=4
m0=2,m1=2
X0={x1,x3},X1={x2,x4}
K=κ(x1,x1)κ(x2,x1)κ(x3,x1)κ(x4,x1)κ(x1,x2)κ(x2,x2)κ(x3,x2)κ(x4,x2)κ(x1,x3)κ(x2,x3)κ(x3,x3)κ(x4,x3)κ(x1,x4)κ(x2,x4)κ(x3,x4)κ(x4,x4)∈R4×4
10=1010∈R4×1
11=0101∈R4×1
所以
μ^0=m01K10=21κ(x1,x1)+κ(x1,x3)κ(x2,x1)+κ(x2,x3)κ(x3,x1)+κ(x3,x3)κ(x4,x1)+κ(x4,x3)∈R4×1
μ^1=m11K11=21κ(x1,x2)+κ(x1,x4)κ(x2,x2)+κ(x2,x4)κ(x3,x2)+κ(x3,x4)κ(x4,x2)+κ(x4,x4)∈R4×1
根据此结果易得μ^0,μ^1的一般形式为
μ^0=m01K10=m01∑x∈X0κ(x1,x)∑x∈X0κ(x2,x)⋮∑x∈X0κ(xm,x)∈Rm×1
μ^1=m11K11=m11∑x∈X1κ(x1,x)∑x∈X1κ(x2,x)⋮∑x∈X1κ(xm,x)∈Rm×1
6.6.4 式(6.70)的推导
此式是将式(6.65)代入式(6.60)后推得而来的,下面给出详细地推导过程。
首先将式(6.65)代入式(6.60)的分子可得
wTSbϕw=(i=1∑mαiϕ(xi))T⋅Sbϕ⋅i=1∑mαiϕ(xi)=i=1∑mαiϕ(xi)T⋅Sbϕ⋅i=1∑mαiϕ(xi)
其中
Sbϕ=(μ1ϕ−μ0ϕ)(μ1ϕ−μ0ϕ)T=(m11x∈X1∑ϕ(x)−m01x∈X0∑ϕ(x))(m11x∈X1∑ϕ(x)−m01x∈X0∑ϕ(x))T=(m11x∈X1∑ϕ(x)−m01x∈X0∑ϕ(x))(m11x∈X1∑ϕ(x)T−m01x∈X0∑ϕ(x)T)
将其代入上式可得
wTSbϕw==i=1∑mαiϕ(xi)T⋅(m11x∈X1∑ϕ(x)−m01x∈X0∑ϕ(x))⋅(m11x∈X1∑ϕ(x)T−m01x∈X0∑ϕ(x)T)⋅i=1∑mαiϕ(xi)(m11x∈X1∑i=1∑mαiϕ(xi)Tϕ(x)−m01x∈X0∑i=1∑mαiϕ(xi)Tϕ(x))⋅(m11x∈X1∑i=1∑mαiϕ(x)Tϕ(xi)−m01x∈X0∑i=1∑mαiϕ(x)Tϕ(xi))
由于κ(xi,x)=ϕ(xi)Tϕ(x)为标量,所以其转置等于本身,即κ(xi,x)=ϕ(xi)Tϕ(x)=(ϕ(xi)Tϕ(x))T=ϕ(x)Tϕ(xi)=κ(xi,x)T,将其代入上式可得
wTSbϕw=(m11i=1∑mx∈X1∑αiκ(xi,x)−m01i=1∑mx∈X0∑αiκ(xi,x))⋅(m11i=1∑mx∈X1∑αiκ(xi,x)−m01i=1∑mx∈X0∑αiκ(xi,x))
设α=(α1;α2;...;αm)T∈Rm×1,同时结合式(6.66)的解释可得到μ^0,μ^1的一般形式,上式可以化简为
wTSbϕw=(αTμ^1−αTμ^0)⋅(μ^1Tα−μ^0Tα)=αT⋅(μ^1−μ^0)⋅(μ^1T−μ^0T)⋅α=αT⋅(μ^1−μ^0)⋅(μ^1−μ^0)T⋅α=αTMα
以上便是式(6.70)分子部分的推导,下面继续推导式(6.70)的分母部分。将式(6.65)代入式(6.60)的分母可得:
wTSwϕw=(i=1∑mαiϕ(xi))T⋅Swϕ⋅i=1∑mαiϕ(xi)=i=1∑mαiϕ(xi)T⋅Swϕ⋅i=1∑mαiϕ(xi)
其中
Swϕ=i=0∑1x∈Xi∑(ϕ(x)−μiϕ)(ϕ(x)−μiϕ)T=i=0∑1x∈Xi∑(ϕ(x)−μiϕ)(ϕ(x)T−(μiϕ)T)=i=0∑1x∈Xi∑(ϕ(x)ϕ(x)T−ϕ(x)(μiϕ)T−μiϕϕ(x)T+μiϕ(μiϕ)T)=i=0∑1x∈Xi∑ϕ(x)ϕ(x)T−i=0∑1x∈Xi∑ϕ(x)(μiϕ)T−i=0∑1x∈Xi∑μiϕϕ(x)T+i=0∑1x∈Xi∑μiϕ(μiϕ)T
由于
i=0∑1x∈Xi∑ϕ(x)(μiϕ)T=x∈X0∑ϕ(x)(μ0ϕ)T+x∈X1∑ϕ(x)(μ1ϕ)T=m0μ0ϕ(μ0ϕ)T+m1μ1ϕ(μ1ϕ)T
且
i=0∑1x∈Xi∑μiϕϕ(x)T=i=0∑1μiϕx∈Xi∑ϕ(x)T=μ0ϕx∈X0∑ϕ(x)T+μ1ϕx∈X1∑ϕ(x)T=m0μ0ϕ(μ0ϕ)T+m1μ1ϕ(μ1ϕ)T
所以
Swϕ=x∈D∑ϕ(x)ϕ(x)T−2[m0μ0ϕ(μ0ϕ)T+m1μ1ϕ(μ1ϕ)T]+m0μ0ϕ(μ0ϕ)T+m1μ1ϕ(μ1ϕ)T=x∈D∑ϕ(x)ϕ(x)T−m0μ0ϕ(μ0ϕ)T−m1μ1ϕ(μ1ϕ)T
再将此式代回wTSwϕw可得
wTSwϕw===i=1∑mαiϕ(xi)T⋅Swϕ⋅i=1∑mαiϕ(xi)i=1∑mαiϕ(xi)T⋅(x∈D∑ϕ(x)ϕ(x)T−m0μ0ϕ(μ0ϕ)T−m1μ1ϕ(μ1ϕ)T)⋅i=1∑mαiϕ(xi)i=1∑mj=1∑mx∈D∑αiϕ(xi)Tϕ(x)ϕ(x)Tαjϕ(xj)−i=1∑mj=1∑mαiϕ(xi)Tm0μ0ϕ(μ0ϕ)Tαjϕ(xj)−i=1∑mj=1∑mαiϕ(xi)Tm1μ1ϕ(μ1ϕ)Tαjϕ(xj)
其中,第1项
i=1∑mj=1∑mx∈D∑αiϕ(xi)Tϕ(x)ϕ(x)Tαjϕ(xj)=i=1∑mj=1∑mx∈D∑αiαjκ(xi,x)κ(xj,x)=αTKKTα
第2项
i=1∑mj=1∑mαiϕ(xi)Tm0μ0ϕ(μ0ϕ)Tαjϕ(xj)=m0i=1∑mj=1∑mαiαjϕ(xi)Tμ0ϕ(μ0ϕ)Tϕ(xj)=m0i=1∑mj=1∑mαiαjϕ(xi)T[m01x∈X0∑ϕ(x)][m01x∈X0∑ϕ(x)]Tϕ(xj)=m0i=1∑mj=1∑mαiαj[m01x∈X0∑ϕ(xi)Tϕ(x)][m01x∈X0∑ϕ(x)Tϕ(xj)]=m0i=1∑mj=1∑mαiαj[m01x∈X0∑κ(xi,x)][m01x∈X0∑κ(xj,x)]=m0αTμ^0μ^0Tα
同理,有第3项
i=1∑mj=1∑mαiϕ(xi)Tm1μ1ϕ(μ1ϕ)Tαjϕ(xj)=m1αTμ^1μ^1Tα
将上述三项的化简结果代回再将此式代回wTSwϕw可得
wTSwϕw=αTKKTα−m0αTμ^0μ^0Tα−m1αTμ^1μ^1Tα=αT⋅(KKT−m0μ^0μ^0T−m1μ^1μ^1T)⋅α=αT⋅(KKT−i=0∑1miμ^iμ^iT)⋅α=αTNα
6.6.5 核对数几率回归
将"对数几率回归与支持向量机的关系"中最后得到的对数几率回归重写为如下形式
w,bminm1i=1∑mlog(1+e−yi(wTxi+b))+2mλ∥w∥2
其中λ是用来调整正则项权重的正则化常数。假设zi=ϕ(xi)是由原始空间经核函数映射到高维空间的特征向量,则
w,bminm1i=1∑mlog(1+e−yi(wTzi+b))+2mλ∥w∥2
注意,以上两式中的w维度是不同的,其分别与xi和zi的维度一致。根据表示定理,上式的解可以写为
w=j=1∑mαjzj
将w代入对数几率回归可得
w,bminm1i=1∑mlog(1+e−yi(∑j=1mαjzjTzi+b))+2mλi=1∑mj=1∑mαiαjziTzj
用核函数κ(xi,xj)=ziTzj=ϕ(xi)Tϕ(xj)替换上式中的内积运算
w,bminm1i=1∑mlog(1+e−yi(∑j=1mαjκ(xi,xj)+b))+2mλi=1∑mj=1∑mαiαjκ(xi,xj)
解出α=(α1,α2,...,αm)和b后,即可得f(x)=∑i=1mαiκ(x,xi)+b。
参考文献
[1] 王燕军. 最优化基础理论与方法. 复旦大学出版社, 2011.
[2] 王书宁. 凸优化. 清华大学出版社, 2013.