我们得到的线性可分支持向量机如下:
线性可分支持向量机
给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为:
ω ∗ ⋅ x + b ∗ = 0 \omega^{*}\cdot x+b^{*}=0 ω∗⋅x+b∗=0
以及相应的分类决策函数: f ( x ) = s i g n ( ω ∗ ⋅ x + b ∗ ) f(x)=sign(\omega^{*}\cdot x+b^{*}) f(x)=sign(ω∗⋅x+b∗)
称为线性可分支持向量机。
看着我们的分类决策函数, ω ⋅ x + b \omega\cdot x+b ω⋅x+b除了与我们的感知机模型比较相似,还与Logistic回归相似。
提出问题,支持向量机与感知机或者逻辑回归有什么关系吗?
我们回顾一下之前学习的Logistic回归。回归模型其实是一个广义的线性模型。如果我们想把所有的样本分为两类,一类是0,一类是1,我们用 y y y表示,则有 y ∈ { 0 , 1 } y\in\{0,1\} y∈{0,1},我们有下面的等式:
log p ( Y = 1 ∣ x ) 1 − p ( Y = 1 ∣ x ) = ω ⋅ x + b \log\frac{p(Y=1|x)}{1-p(Y=1|x)}=\omega\cdot x+b log1−p(Y=1∣x)p(Y=1∣x)=ω⋅x+b
其中 ω ⋅ x \omega\cdot x ω⋅x表示为向量的内积。
我们的重点是要求得 ω \omega ω和 b b b两个参数。
因为涉及概率,我们可以尝试极大似然法:
我们的训练数据集为: 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)}
那么根据之前的学习,我们的对数似然函数表示为:
L ( ω , b ) = ∑ i = 1 N [ y i ( ω ⋅ x i + b ) − log ( 1 + e ω ⋅ x i + b ) ] L(\omega,b)=\sum_{i=1}^{N}[y_i(\omega\cdot x_i+b)-\log(1+e^{\omega\cdot x_i+b})] L(ω,b)=i=1∑N[yi(ω⋅xi+b)−log(1+eω⋅xi+b)]
我们知道参数空间为 N + 1 N+1 N+1维,我们可以使用遍历求解,网格搜索得到最佳参数。但是这钟方法比较麻烦,耗时较大。
我们可以计算解析解: ∂ L ∂ ω = 0 ∂ L ∂ b = 0 \begin{split} &\frac{\partial L}{\partial \omega}=0\\ &\frac{\partial L}{\partial b}=0 \end{split} ∂ω∂L=0∂b∂L=0
但是解析解表示的方法很麻烦,不适合。
我们最后也可以使用迭代法。
综上所述,我们可以采用的计算方法有遍历求解、解析解以及迭代法。但是这里的求解我们都没有考虑几何意义。
在了解几何意义之前,我们先看一下Logistic回归是如何做分类的。
给定一个实例点 x x x,有下面的两种情况: p ( Y = 1 ∣ x ) ≥ 0.5 , x → Y = 1 p ( Y = 1 ∣ x ) < 0.5 , x → Y = 0 \begin{split} &p(Y=1|x)\geq0.5,x\rightarrow Y=1\\ &p(Y=1|x)<0.5,x\rightarrow Y=0 \end{split} p(Y=1∣x)≥0.5,x→Y=1p(Y=1∣x)<0.5,x→Y=0
我们可以得出: p ( Y = 1 ∣ x ) > 0.5 ⇒ p ( Y = 1 ∣ x ) 1 − p ( Y = 1 ∣ x ) > 1 ⇒ log p ( Y = 1 ∣ x ) 1 − p ( Y = 1 ∣ x ) > 0 ⇒ ω ⋅ x + b > 0 \begin{split} &p(Y=1|x)>0.5\Rightarrow \frac{p(Y=1|x)}{1-p(Y=1|x)}>1\\ &\Rightarrow \log\frac{p(Y=1|x)}{1-p(Y=1|x)}>0\\ &\Rightarrow \omega\cdot x+b>0 \end{split} p(Y=1∣x)>0.5⇒1−p(Y=1∣x)p(Y=1∣x)>1⇒log1−p(Y=1∣x)p(Y=1∣x)>0⇒ω⋅x+b>0
于是我们得出的分类为: Y = { 1 , ω ⋅ x + b ≥ 0 0 , ω ⋅ x + b < 0 Y=\left\{ \begin{aligned} 1,\omega\cdot x+b\geq0\\ 0,\omega\cdot x+b<0\\ \end{aligned} \right. Y={1,ω⋅x+b≥00,ω⋅x+b<0
我们在感知机中 Y Y Y的分类为+1和-1,即正类和负类。
我们改变逻辑回归中的分类: Y = { 1 , ω ⋅ x + b ≥ 0 − 1 , ω ⋅ x + b < 0 Y=\left\{ \begin{aligned} 1,\omega\cdot x+b\geq0\\ -1,\omega\cdot x+b<0\\ \end{aligned} \right. Y={1,ω⋅x+b≥0−1,ω⋅x+b<0
这样我们就实现了从Logistic回归变成了具有一定几何意义的感知机模型。
我们可以总结出感知机模型的几何意义:在特征空间中寻找一个分离超平面,这个超平面将特征空间划分成两个部分,并且+1类和-1类样本点尽量位于超平面的两侧。如果想要+1类和-1类样本严格位于超平面两侧,特征空间需要满足线性可分。
支持向量机的英文名称为:support vector machines,简称为SVM。
为什么叫支持向量机?按照感知机的想法,我们只需要找到一个超平面,将上下两个平面分开即可。
在感知机中,我们有一个集合 M M M,其中有未分类点 x i ∈ M x_i\in M xi∈M,此时我们的目标函数为:
min [ − ∑ x i ∈ M y i ( ω ⋅ x i + b ) ] \min [-\sum_{x_i\in M}y_i(\omega\cdot x_i+b)] min[−xi∈M∑yi(ω⋅xi+b)]
但是,面对问题,我们用上述方法得到的分离超平面不唯一。
那我们选取哪些点最为合适呢?涉及到分类确信度,采用的度量因素分为距离和分类正确性。
首先来看一下距离度量因素,任一个分类实例点 ( x i , y i ) (x_i,y_i) (xi,yi)到分离超平面的距离为:
∣ ω ⋅ x i + b ∣ ∣ ∣ w ∣ ∣ \frac{|\omega\cdot x_i+b|}{||w||} ∣∣w∣∣∣ω⋅xi+b∣
度量完距离因素,我们还需要度量分类是否正确,即度量分类正确性:若分类正确,则 y i y_i yi与 ω ⋅ x i + b \omega\cdot x_i+b ω⋅xi+b同号,否则异号。
我们把上面两个度量因素综合起来,引入几何间隔的定义:
y i ( ω ⋅ x i + b ) ∣ ∣ ω ∣ ∣ \frac{y_i(\omega\cdot x_i+b)}{||\omega||} ∣∣ω∣∣yi(ω⋅xi+b) 我们记为 γ i \gamma_i γi。
哪些样本点最有用呢?—距离超平面最近的点,即:
min i = 1 , 2 , ⋯ , N γ i \min_{i=1,2,\cdots,N} \gamma_i i=1,2,⋯,Nminγi
如果我们想找到分离超平面,而且是唯一的,我们自然希望把这些点分的越开越好。什么时候分的最开呢?就是把最小间隔最大化。因此,我们的目标是:
max ω , b min i = 1 , 2 , ⋯ , N γ i \max_{\omega,b}\min_{i=1,2,\cdots,N}\gamma_i ω,bmaxi=1,2,⋯,Nminγi
最有用的点,叫做支持向量,对于上图来说,支持向量是位于分离超平面边界上的点,这也是支持向量机名称的由来。
在 n n n空间里,点和向量是对应的。
我们熟悉的感知机算法中的线性可分定义为:
数据集的线性可分
给定一个数据集为: 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 ∈ χ = R n , y i ∈ { + 1 , − 1 } , i = 1 , 2 , ⋯ , N x_i\in \chi=R^{n},y_i\in\{+1,-1\},i=1,2,\cdots,N xi∈χ=Rn,yi∈{+1,−1},i=1,2,⋯,N
如果存在一个超平面 ω ⋅ x + b = 0 \omega\cdot x+b=0 ω⋅x+b=0,可以将N个样本点分为两类:
Y = { 1 , ω ⋅ x + b > 0 − 1 , ω ⋅ x + b < 0 Y=\left\{ \begin{aligned} 1,\omega\cdot x+b>0\\ -1,\omega\cdot x+b<0\\ \end{aligned} \right. Y={1,ω⋅x+b>0−1,ω⋅x+b<0
则称数据集T为线性可分数据集。
如果数据集线性可分,那么不存在模糊点,即没有满足 ω ⋅ x + b = 0 \omega\cdot x+b=0 ω⋅x+b=0的样本点。
线性支持向量机的想法是先找到最小的几何间隔,然后再将最小的几何间隔最大化。
一般来说,一个点距离分离超平面的远近可以表示分类预测的确信程度。我们引入几何间隔和函数间隔。
几何间隔
训练数据集T,分离超平面 ω ⋅ x + b = 0 \omega\cdot x+b=0 ω⋅x+b=0,则实列点 ( x i , y i ) (x_i,y_i) (xi,yi)到超平面之间的几何间隔为:
γ i = ∣ ω ⋅ x i + b ∣ ∣ ∣ ω ∣ ∣ \gamma_i=\frac{|\omega\cdot x_i+b|}{||\omega||} γi=∣∣ω∣∣∣ω⋅xi+b∣
我们知道, y i y_i yi的取值为1或者-1,所以当 y i y_i yi与 ω ⋅ x i + b \omega\cdot x_i+b ω⋅xi+b同号时,我们的分类正确,我们也可以改写几何间隔为:
γ i = y i ( ω ⋅ x i + b ) ∣ ∣ ω ∣ ∣ \gamma_i=\frac{y_i(\omega\cdot x_i+b)}{||\omega||} γi=∣∣ω∣∣yi(ω⋅xi+b)
其中, ∣ ∣ ω ∣ ∣ = ω 1 2 + ω 2 2 + ⋯ + ω N 2 ||\omega||=\sqrt{\omega_1^2+\omega_2^2+\cdots+\omega_N^2} ∣∣ω∣∣=ω12+ω22+⋯+ωN2
我们这样做的目的很简单,就是为了去掉原式中的不等式,简化计算。
最后整理得到:
γ i = y i ( ω ∣ ∣ ω ∣ ∣ ⋅ x i + b ∣ ∣ ω ∣ ∣ ) \gamma_i=y_i(\frac{\omega}{||\omega||}\cdot x_i+\frac{b}{||\omega||}) γi=yi(∣∣ω∣∣ω⋅xi+∣∣ω∣∣b)
ω \omega ω和 b b b为需要求解的参数。
我们几何间隔的最小值为: γ = min i γ i \gamma=\min_{i}\gamma_i γ=iminγi
推出我们的问题为: { max ω , b γ s . t . y i ( ω ∣ ∣ ω ∣ ∣ ⋅ x i + b ∣ ∣ ω ∣ ∣ ) ≥ γ \left\{ \begin{split} &\max_{\omega,b}\gamma\\ &s.t.\quad y_i(\frac{\omega}{||\omega||}\cdot x_i+\frac{b}{||\omega||})\geq \gamma\\ \end{split} \right. ⎩ ⎨ ⎧ω,bmaxγs.t.yi(∣∣ω∣∣ω⋅xi+∣∣ω∣∣b)≥γ
其中,约束条件中 i = 1 , 2 , ⋯ , N i=1,2,\cdots,N i=1,2,⋯,N,属于N个不等式问题。
用度量 y i ( ω ⋅ x + b ) y_i(\omega\cdot x+b) yi(ω⋅x+b)来表示分类的正确性及确信度,这就是函数间隔的概念。
函数间隔
( x i , y i ) (x_i,y_i) (xi,yi)与超平面之间的函数间隔 γ i ^ = ∣ ω ⋅ x i + b ∣ \hat{\gamma_i}=|\omega\cdot x_i+b| γi^=∣ω⋅xi+b∣,同号时有 γ i ^ = y i ( ω ⋅ x i + b ) \hat{\gamma_i}=y_i(\omega\cdot x_i+b) γi^=yi(ω⋅xi+b)。
函数间隔的最小值为: γ ^ = min i γ i ^ \hat{\gamma}=\min_{i}\hat{\gamma_i} γ^=miniγi^。
我们得到的问题为: { max ω , b γ ^ ∣ ∣ ω ∣ ∣ s . t . y i ( ω ⋅ x i + b ) ≥ γ ^ \left\{ \begin{split} &\max_{\omega,b}\frac{\hat{\gamma}}{||\omega||}\\ &s.t.\quad y_i(\omega\cdot x_i+b)\geq \hat{\gamma}\\ \end{split} \right. ⎩ ⎨ ⎧ω,bmax∣∣ω∣∣γ^s.t.yi(ω⋅xi+b)≥γ^
函数间隔表示分类预测的正确性及确信度。但是选择分离超平面时,只有函数间隔往往是不够的。因为只要成比例改变 ω \omega ω和 b b b,例如将它们改为 2 ω 2\omega 2ω和 2 b 2b 2b,超平面并没有改变,但是函数间隔却变为原来的两倍。
我们举一个例子: 对于同一个样本,不同的人得到了两个不同的分离超平面:
{ 3 x ( 1 ) + 4 x ( 2 ) + 1 = 0 6 x ( 1 ) + 8 x ( 2 ) + 2 = 0 \left\{ \begin{split} &3x^{(1)}+4x^{(2)}+1=0\\ &6x^{(1)}+8x^{(2)}+2=0\\ \end{split} \right. {3x(1)+4x(2)+1=06x(1)+8x(2)+2=0
这一例子启示我们,可以对分离超平面的法向量 ω \omega ω加某些约束,如规范化,使得 ∣ ∣ ω ∣ ∣ = 1 ||\omega||=1 ∣∣ω∣∣=1,使得间隔是确定的。此时我们的分离超平面化为:
3 5 x ( 1 ) + 4 5 x ( 2 ) + 1 5 = 0 \frac{3}{5}x^{(1)}+\frac{4}{5}x^{(2)}+\frac{1}{5}=0 53x(1)+54x(2)+51=0
这样我们得到的超平面具有可识别性。
其实,此时函数间隔成为了几何间隔。
但是我们也面临着困难,在N个不等式约束问题中加上一个等式约束 ∣ ∣ ω ∣ ∣ = 1 ||\omega||=1 ∣∣ω∣∣=1,即 ω 1 2 + ω 2 2 + ⋯ + ω N 2 = 1 \omega_1^2+\omega_2^2+\cdots+\omega_N^2=1 ω12+ω22+⋯+ωN2=1,这样会导致约束条件更加复杂。
原问题为: max ω , b γ ^ ∣ ∣ ω ∣ ∣ \max_{\omega,b}\frac{\hat{\gamma}}{||\omega||} ω,bmax∣∣ω∣∣γ^
如果想要维持 N N N个约束条件, ∣ ∣ ω ∣ ∣ = 1 ||\omega||=1 ∣∣ω∣∣=1不能使用,我们不妨从分子入手,如令 ω ^ = 1 \hat{\omega}=1 ω^=1。几何意义是:如果实例点与超平面之间的函数距离大于1,则压缩距离;如果小于1,则拉伸距离。
我们这样得到的模型也具有可识别性。并且模型得到极大简化: { max ω , b 1 ∣ ∣ ω ∣ ∣ ⇔ min ω , b ∣ ∣ ω ∣ ∣ s . t . y i ( ω ⋅ x i + b ) ≥ 1 \left\{ \begin{split} &\max_{\omega,b}\frac{1}{||\omega||}\Leftrightarrow \min_{\omega,b}||\omega||\\ &s.t.\quad y_i(\omega\cdot x_i+b)\geq1\\ \end{split} \right. ⎩ ⎨ ⎧ω,bmax∣∣ω∣∣1⇔ω,bmin∣∣ω∣∣s.t.yi(ω⋅xi+b)≥1
这是一个凸优化问题。
对于上面的问题:
∣ ∣ ω ∣ ∣ = ω 1 2 + ω 2 2 + ⋯ + ω N 2 ||\omega||=\sqrt{\omega_1^2+\omega_2^2+\cdots+\omega_N^2} ∣∣ω∣∣=ω12+ω22+⋯+ωN2
是一个凸函数。
我们定义凸优化问题:
凸优化问题
{ min f ( ω ) s . t . { g i ( ω ) ≤ 0 , i = 1 , 2 , ⋯ , k h j ( ω ) = 0 , j = 1 , 2 , ⋯ , l \left\{ \begin{split} &\min\,f(\omega)\\ &s.t.\quad \left\{ \begin{split} &g_i(\omega)\leq0,i=1,2,\cdots,k\\ &h_j(\omega)=0,j=1,2,\cdots,l\\ \end{split} \right.\\ \end{split} \right. ⎩ ⎨ ⎧minf(ω)s.t.{gi(ω)≤0,i=1,2,⋯,khj(ω)=0,j=1,2,⋯,l
其中, f ( ω ) f(\omega) f(ω)和 h j ( ω ) h_j(\omega) hj(ω)是凸函数, g i ( ω ) g_i(\omega) gi(ω)是仿射函数。
此时, g i ( ω , b ) = 1 − y i ( ω ⋅ x i + b ) ≤ 0 g_i(\omega,b)=1-y_i(\omega\cdot x_i+b)\leq0 gi(ω,b)=1−yi(ω⋅xi+b)≤0,说明问题是一个凸优化问题。
我们接下来证明最优解的唯一性,将分为两个部分进行—存在性和唯一性。
首先来看存在性,这个很容易就能证明。因为我们的数据集是线性可分的,所以一定有 ∣ ∣ ω ∣ ∣ ≠ 0 ||\omega||\neq0 ∣∣ω∣∣=0,这样才能保证有解。
接下来证明唯一性,我们采用反证法:
假设我们的分离超平面存在两组解, ( ω 1 ∗ , b 1 ∗ ) T , ( ω 2 ∗ , b 2 ∗ ) T (\omega_1^{*},b_1^{*})^T,(\omega_2^{*},b_2^{*})^T (ω1∗,b1∗)T,(ω2∗,b2∗)T,即:
∣ ∣ ω 1 ∗ ∣ ∣ = ∣ ∣ ω 2 ∗ ∣ ∣ = c ||\omega_1^{*}||=||\omega_2^{*}||=c ∣∣ω1∗∣∣=∣∣ω2∗∣∣=c
构造: ω = ω 1 ∗ + ω 2 ∗ 2 , b = b 1 ∗ + b 2 ∗ 2 ⇒ c ≤ ω = ∣ ∣ ω 1 ∗ + ω 2 ∗ 2 ∣ ∣ = ∣ ∣ 1 2 ω 1 ∗ + 1 2 ω 2 ∗ ∣ ∣ ≤ 1 2 ∣ ∣ ω 1 ∗ ∣ ∣ + 1 2 ∣ ∣ ω 2 ∗ ∣ ∣ = c \begin{split} &\omega=\frac{\omega_1^{*}+\omega_2^{*}}{2},b=\frac{b_1^{*}+b_2^{*}}{2}\\ \Rightarrow &c\leq \omega=||\frac{\omega_1^{*}+\omega_2^{*}}{2}||=||\frac{1}{2}\omega_1^{*}+\frac{1}{2}\omega_2^{*}||\leq\frac{1}{2}||\omega_1^{*}||+\frac{1}{2}||\omega_2^{*}||=c \end{split} ⇒ω=2ω1∗+ω2∗,b=2b1∗+b2∗c≤ω=∣∣2ω1∗+ω2∗∣∣=∣∣21ω1∗+21ω2∗∣∣≤21∣∣ω1∗∣∣+21∣∣ω2∗∣∣=c
我们最终得出结论: ω 1 ∗ \omega_1^{*} ω1∗和 ω 2 ∗ \omega_2^{*} ω2∗在同一条直线上。
∣ ∣ ω ∣ ∣ = 1 2 ∣ ∣ ω 1 ∗ ∣ ∣ + 1 2 ∣ ∣ ω 2 ∗ ∣ ∣ ⇒ 2 ∣ ∣ ω ∣ ∣ = ∣ ∣ ω 1 ∗ ∣ ∣ + ∣ ∣ ω 2 ∗ ∣ ∣ ⇒ ∣ ∣ ω 1 ∗ ∣ ∣ + ∣ ∣ ω 2 ∗ ∣ ∣ ≥ 2 ∣ ∣ ω ∣ ∣ \begin{split} &||\omega||=\frac{1}{2}||\omega_1^{*}||+\frac{1}{2}||\omega_2^{*}||\\ \Rightarrow &2||\omega||=||\omega_1^{*}||+||\omega_2^{*}||\\ \Rightarrow &||\omega_1^{*}||+||\omega_2^{*}||\geq 2||\omega|| \end{split} ⇒⇒∣∣ω∣∣=21∣∣ω1∗∣∣+21∣∣ω2∗∣∣2∣∣ω∣∣=∣∣ω1∗∣∣+∣∣ω2∗∣∣∣∣ω1∗∣∣+∣∣ω2∗∣∣≥2∣∣ω∣∣
取等号时有 ω 1 ∗ \omega_1^{*} ω1∗和 ω 2 ∗ \omega_2^{*} ω2∗在同一条直线上,此时有:
ω 1 ∗ = λ ω 2 ∗ \omega_1^{*}=\lambda\omega_2^{*} ω1∗=λω2∗
我们知道 ∣ ∣ ω 1 ∗ ∣ ∣ = ∣ ∣ ω 2 ∗ ∣ ∣ = c ||\omega_1^{*}||=||\omega_2^{*}||=c ∣∣ω1∗∣∣=∣∣ω2∗∣∣=c,所以我们知道 λ = 1 \lambda=1 λ=1或者 λ = − 1 \lambda=-1 λ=−1。
若 λ = − 1 \lambda=-1 λ=−1,则有 ω \omega ω=0, c = 0 c=0 c=0;
若 λ = 1 \lambda=1 λ=1,则 ω 1 ∗ = ω 2 ∗ \omega_1^{*}=\omega_2^{*} ω1∗=ω2∗。
接下来我们看关于参数 b b b的。
因为 ω 1 ∗ = ω 2 ∗ \omega_1^{*}=\omega_2^{*} ω1∗=ω2∗,所以我们可以得到两组解为: ( ω ∗ , b 1 ∗ ) , ( ω ∗ , b 2 ∗ ) (\omega^{*},b_1^{*}),(\omega^{*},b_2^{*}) (ω∗,b1∗),(ω∗,b2∗)。
对于第一个 b 1 ∗ b_1^{*} b1∗,我们的分离超平面为 ω ∗ ⋅ x + b 1 ∗ = 0 \omega^{*}\cdot x+b_1^{*}=0 ω∗⋅x+b1∗=0,我们选取两个支持向量 x 1 ′ , x 1 ′ ′ x_1^{'},x_1^{''} x1′,x1′′,其中前者是正类点,后者是负类点。我们代入超平面得到:
{ ω ∗ ⋅ x 1 ′ + b 1 ∗ = 1 ω ∗ ⋅ x 1 ′ ′ + b 1 ∗ = − 1 \left\{ \begin{split} &\omega^{*}\cdot x_1^{'}+b_1^{*}=1\\ &\omega^{*}\cdot x_1^{''}+b_1^{*}=-1\\ \end{split} \right. {ω∗⋅x1′+b1∗=1ω∗⋅x1′′+b1∗=−1
⇒ b 1 ∗ = − ω ∗ ⋅ ( x 1 ′ + x 1 ′ ′ ) 2 \Rightarrow b_1^{*}=-\frac{\omega^{*}\cdot (x_1^{'}+x_1^{''})}{2} ⇒b1∗=−2ω∗⋅(x1′+x1′′)
对于第一个 b 2 ∗ b_2^{*} b2∗,我们的分离超平面为 ω ∗ ⋅ x + b 2 ∗ = 0 \omega^{*}\cdot x+b_2^{*}=0 ω∗⋅x+b2∗=0,我们选取两个支持向量 x 2 ′ , x 2 ′ ′ x_2^{'},x_2^{''} x2′,x2′′,其中前者是正类点,后者是负类点。我们代入超平面得到:
{ ω ∗ ⋅ x 2 ′ + b 2 ∗ = 1 ω ∗ ⋅ x 2 ′ ′ + b 2 ∗ = − 1 \left\{ \begin{split} &\omega^{*}\cdot x_2^{'}+b_2^{*}=1\\ &\omega^{*}\cdot x_2^{''}+b_2^{*}=-1\\ \end{split} \right. {ω∗⋅x2′+b2∗=1ω∗⋅x2′′+b2∗=−1
⇒ b 2 ∗ = − ω ∗ ⋅ ( x 2 ′ + x 2 ′ ′ ) 2 \Rightarrow b_2^{*}=-\frac{\omega^{*}\cdot (x_2^{'}+x_2^{''})}{2} ⇒b2∗=−2ω∗⋅(x2′+x2′′)
因为是向量内积,所以 b 1 ∗ , b 2 ∗ b_1^{*},b_2^{*} b1∗,b2∗不能直接作比。我们采用作差的方式来比较:
b 1 ∗ − b 2 ∗ = − 1 2 [ ω ∗ ⋅ ( x 1 ′ − x 2 ′ ) + ω ∗ ⋅ ( x 1 ′ ′ − x 2 ′ ′ ) ] b_1^{*}-b_2^{*}=-\frac{1}{2}[\omega^{*}\cdot(x_1^{'}-x_2^{'})+\omega^{*}\cdot(x_1^{''}-x_2^{''})] b1∗−b2∗=−21[ω∗⋅(x1′−x2′)+ω∗⋅(x1′′−x2′′)]
我们有: ω ∗ ⋅ x 2 ′ + b 1 ∗ ≥ 1 = ω ∗ ⋅ x 1 ′ + b 1 ∗ ⇒ ω ∗ ( x 1 ′ − x 2 ′ ) ≤ 0 ω ∗ ⋅ x 1 ′ + b 2 ∗ ≥ 1 = ω ∗ ⋅ x 2 ′ + b 2 ∗ ⇒ ω ∗ ( x 1 ′ − x 2 ′ ) ≥ 0 \begin{split} &\omega^{*}\cdot x_2^{'}+b_1^{*}\geq1=\omega^{*}\cdot x_1^{'}+b_1^{*}\\ \Rightarrow &\omega^{*}(x_1^{'}-x_2^{'})\leq0\\ \\ &\omega^{*}\cdot x_1^{'}+b_2^{*}\geq1=\omega^{*}\cdot x_2^{'}+b_2^{*}\\ \Rightarrow &\omega^{*}(x_1^{'}-x_2^{'})\geq0 \end{split} ⇒⇒ω∗⋅x2′+b1∗≥1=ω∗⋅x1′+b1∗ω∗(x1′−x2′)≤0ω∗⋅x1′+b2∗≥1=ω∗⋅x2′+b2∗ω∗(x1′−x2′)≥0
从上面上个不等式我们推出: ω ∗ ( x 1 ′ − x 2 ′ ) = 0 \omega^{*}(x_1^{'}-x_2^{'})=0 ω∗(x1′−x2′)=0
同理可得: ω ∗ ( x 1 ′ ′ − x 2 ′ ′ ) = 0 \omega^{*}(x_1^{''}-x_2^{''})=0 ω∗(x1′′−x2′′)=0
综上所述,我们得到: b 1 ∗ = b 2 ∗ b_1^{*}=b_2^{*} b1∗=b2∗。
所以最优解是唯一的!