【ML】线性可分支持向量机

直观理解Margins.

  • 在对数几率回归(Logistic Regression)中,给定输入样本 X X X 以及参数向量 θ θ θ,我们给出的预测为 P ( Y = 1 ∣ X , θ ) = h θ ( X ) = S i g m o i d ( θ T X ) P(Y=1|X,θ)=h_θ(X)=Sigmoid(θ^TX) P(Y=1X,θ)=hθ(X)=Sigmoid(θTX). 根据 S i g m o i d Sigmoid Sigmoid 函数的特点,当 θ T X > 0 θ^TX>0 θTX>0 时,有 h θ ( X ) > 0.5 h_θ(X)>0.5 hθ(X)>0.5 ,所以最终 Y Y Y 的预测值会是二类中概率更大的 1 1 1。从另一个角度理解, θ T X θ^TX θTX 的值越大, Y Y Y 被预测为 1 1 1 的概率就越大,所以我们在 θ T X > > 0 θ^TX>>0 θTX>>0 时就能够很确信地将 Y Y Y 预测为 1 1 1 ,相应地,当 θ T X < < 0 \theta^TX<<0 θTX<<0 时,我们也能够很确信的将 Y Y Y 预测为 0 0 0.
  • 假如现在我拥有了一个逻辑回归分类器,其训练得到的参数为 θ \theta θ,并且发现对于训练集中所有被预测为1的样本,都有 θ T X > > 0 \theta^TX>>0 θTX>>0;对于所有被预测为0的样本,都有 θ T X < < 0 \theta^TX<<0 θTX<<0,那么这个分类器不仅仅是一个正确(correct)的分类器,同时它还具有很高的置信度(confident),这是我们所希望的结果,该想法稍后会形式化定义为函数间隔(Functional Margins)
  • 考虑将样本以及分类边界可视化,以下面这张图为例(二维平面易于理解,高维空间同样存在类似情况的样本点以及分类超平面):
    在这里插入图片描述
    图中直线(以二维平面来说,更一般化的说法为超平面)由等式 θ T X = 0 \theta^TX=0 θTX=0 所决定, ○ ○ 代表负样本, × × × 代表正样本,我们选取了三个样本点A、B和C,可以从图中看出,如果对于A和C做预测,那么我们可以很确信地将A预测为正类,决策边界即使发生了一些细微调整,我们依旧能得到A是正例的预测;但对于C而言,由于它过于接近分类边界,可能只需要对决策边界做一些微小的调整,对于C的预测值就会从正类变为负类。直观来说,样本点与分类超平面的距离越远,我们对其分类的确信度就越高,因为即使分类超平面可能有些不准确(比如由于样本中存在噪声干扰),这些距离该平面很远的样本点也能够被分类正确;而样本点如果和超平面过分接近,微小的超平面移动就将导致该样本分类错误。与上面类似,我们希望得到一个距离所有样本点都足够远的分类超平面,籍此来保证我们分类预测的确信度,这一想法稍后会形式化为几何间隔(Geometry Margins).

Functional & Geometry Margins.

  • 在支持向量机的分类任务中,我们以 1 / − 1 1/-1 1/1 来标记正负例,并且参数向量为 ω , b \omega,b ω,b,只是记号,便于后续的处理(尤其是以 1 / − 1 1/-1 1/1 而非 1 / 0 1/0 1/0 作为标记 ).
  • 函数间隔】对于给定的样本 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i)),以及参数向量 ω , b \omega,b ω,b,其函数间隔定义如下:
    在这里插入图片描述
    对于这一定义下的函数间隔,我们希望其尽可能地大,这一符合上一部分中的想法。当标记 y i = 1 y^{i}=1 yi=1 时,如果要函数间隔尽可能大,那么我们的预测值 ω ⋅ x i + b \omega·x^{i}+b ωxi+b 就会尽可能大,也就是说我们的模型会认为 x i x^{i} xi 是一个确信度很高的正样本;当标记 y i = − 1 y^{i}=-1 yi=1 时同理,预测值会是一个尽可能小的负值,也即样本被认为是一个确信度很高的负样本。但这样的定义存在一个问题,我们的分类超平面由方程 ω ⋅ X + b = 0 \omega·X+b=0 ωX+b=0 给出,如果我们成比例放大参数向量 ω , b \omega,b ω,b,那么在分类超平面不发生变化的情况下,函数间隔却会被扩大。或许我们可以在函数间隔定义的基础之上,对于参数向量做归一化限制,例如 ∣ ∣ ω ∣ ∣ 2 = 1 ||\omega||_2=1 ω2=1,并且将函数间隔定义中的参数向量都除以该第二范数的值,后续再说这一想法。函数间隔可调整这一特点,也为后续优化问题的等价变形提供便利,但此时我们显然不能将最大化函数间隔作为我们寻找分类超平面的依据。
  • 几何间隔】 未加归一化的函数间隔过于自由,不适合作为寻找分类超平面的依据。通过下图,我们引出几何间隔Geometry Margins
    在这里插入图片描述
    图中 ω \omega ω 是分类超平面的法向量,该 ω \omega ω 和 超平面方程中 ω ⋅ X + b = 0 \omega·X+b=0 ωX+b=0 中的 ω \omega ω是 同一个向量(有疑惑的话建议重温高等数学)。从样本点集合中任取点A,它代表样本 x i x^{i} xi ,定义其几何间隔为该点到分类超平面的距离,推导如下:
    在这里插入图片描述
    上述推导只考虑了正样本(A是正样本),负样本推导过程类似,得到的几何间隔相差一个符号,但由于 y i ∈ { 1 , − 1 } y^{i}∈\{1,-1\} yi{11},所以进行数学上的处理得到几何间隔的闭合式:
    在这里插入图片描述
  • 形式上来看,几何间隔正是加入了归一化之后的函数间隔,当给定归一化条件为 ∣ ∣ ω ∣ ∣ 2 = 1 ||\omega||_2=1 ω2=1 时,几何间隔等于函数间隔。可以看出,几何间隔不会出现函数间隔那样自由放大的问题,适合作为一个寻找分类超平面的依据。

最优间隔分类器(Optimal Margin Classifier).

  • 基于前述几何间隔的提出,我们发现最大化样本点几何间隔是一个由于寻找分类超平面的良好依据,符合这一想法的分类超平面自然满足了Correct and Cofident,所以很自然地,我们有下述优化问题:
  • 给出优化问题之前,我们首先明确目前所讨论的样本点集合都是线性可分的(Linear Separable),也就是存在超平面能够将两类样本点分开,至于非线性可分的样本集合,例如分类边界是圆等等的,后续在核技巧Kernel中会详述。
  • 优化问题】:
    在这里插入图片描述
    这一优化问题的弊端在于,约束条件 g ( ω ) = ∣ ∣ ω ∣ ∣ − 1 = 0 g(\omega)=||\omega||-1=0 g(ω)=ω1=0 g ( ω ) g(\omega) g(ω) 并不是一个连续可微的凸函数,所以导致整个优化问题不是一个凸优化问题,无法应用已有的凸优化问题求解算法。关于凸优化的有关知识,有兴趣可以查看【留个空 以后补】。直白地说就是上面给出的这一优化问题,难解,所以我们需要稍加变形。
  • 基于函数间隔与几何间隔相差一个归一化条件的关系,我们将优化问题等价变形如下:
    在这里插入图片描述
    这一优化问题也存在其弊端,其 m a x max max 部分的目标函数不是一个凸函数,简而言之,难解,所以继续等价变形。考虑到函数间隔随着参数向量的成比例缩放而变化,我们直接对函数间隔进行限制,也就是说固定函数间隔为常数,一般来说是1,求得的参数向量可以通过成比例缩放来满足这一限制,所以得到下面这一等价的优化问题:
    在这里插入图片描述
  • 最优间隔分类器的这一优化问题,是一个凸二次规划问题(QP for Quadratic Programming),其目标函数 f ( ω ) = ∣ ∣ ω ∣ ∣ 2 f(\omega)=||\omega||^2 f(ω)=ω2 是一个二次函数,约束函数 g ( ω ) = 1 − y i ( ω ⋅ x i + b ) g(\omega)=1-y^{i}(\omega·x^{i}+b) g(ω)=1yi(ωxi+b) 是一个仿射函数。凸二次规划问题有很成熟的解法,如果仅仅针对上述优化问题讨论,我们已经可以到此为止了。应用QP问题的解决算法,我们能够求出最优间隔分类器的参数向量,并籍此进行后续的预测。

Moreover.

  • 但我们这里讨论的问题还停留在样本集线性可分的情况下,如果样本集不再线性可分,我们定义的函数间隔、几何间隔都将失效,上述的优化问题自然也成了空中楼阁。一个很自然的想法是将非线性可分的样本集映射到高维空间,使其在高维空间线性可分,这就是核技巧。为了应用核技巧,我们需要将上述得到的优化问题转换为其对偶形式(Dual Form),这也只是一方面的原因,转换为对偶形式之后,我们也能够得到对于上述优化问题的高效解法(优于通用的QP问题算法,尤其是训练样本容量较大时),其中著名的SMO算法由Platt于1998年提出,全称为Sequential Minimal Optimization.