数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron

文章目录

  • Method1: Optimal Solution
  • Method2: Approximate Solution
  • 相关题目

从上节课Margin-Based通理出发,在线性可分linear separable的情况下,我们要找到最大的margin,这样子能使得泛化误差的上界尽可能小,支持向量机Support Vector Machine (SVM) 就是找到最大Margin的方法。

Method1: Optimal Solution

如图所示,先定义了一个使得超平面Margin最大的问题场景
数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron_第1张图片
通过标准化 w ′ ⃗ = w ⃗ τ \vec{w'}=\frac{\vec{w}}{\tau} w =τw w ⃗ ⋅ x ⃗ = τ \vec{w} \cdot \vec{x}= \tau w x =τ 转换为了 w ⃗ ⋅ x ⃗ = 1 \vec{w} \cdot \vec{x}= 1 w x =1的标准形式,同理,通过标准化 w ′ ⃗ = w ⃗ τ \vec{w'}=\frac{\vec{w}}{\tau} w =τw w ⃗ ⋅ x ⃗ = − τ \vec{w} \cdot \vec{x}= -\tau w x =τ 转换为了 w ⃗ ⋅ x ⃗ = − 1 \vec{w} \cdot \vec{x}= -1 w x =1更加有利于后面的公式推导。
数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron_第2张图片
推导公式 m a r g i n = 1 ∣ w ∣ margin=\frac{1}{|w|} margin=w1如下:数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron_第3张图片
在已经得到 m a r g i n = 1 ∣ w ∣ margin=\frac{1}{|w|} margin=w1的情况下,为了能够找出最大的margin,其实就是要解决一个二次规划方程quadratic programming, denote w ⃗ ′ = ( w 1 ′ , w 2 ′ ) \vec w'=(w_1',w_2') w =(w1,w2)
m i n i m i z e ∣ w ⃗ ′ ∣ = m i n i m i z e ( w 1 ′ ) 2 + ( w 2 ′ ) 2 s u b j e c t t o ( w 1 ′ ) ∗ p 1 + ( w 2 ′ ) ∗ p 2 ≥ 1 , w h e r e l a b e l ( p ) = 1 ( w 1 ′ ) ∗ p 1 + ( w 2 ′ ) ∗ p 2 ≤ − 1 , w h e r e l a b e l ( p ) = − 1 minimize \quad |\vec w'| \\ = minimize \quad (w_1')^{2}+(w_2')^2 \\ subject \quad to \\ (w_1')*p_1+(w_2')*p_2 \ge 1 , where \quad label(p)=1 \\ (w_1')*p_1+(w_2')*p_2 \le -1 , where \quad label(p)=-1 minimizew =minimize(w1)2+(w2)2subjectto(w1)p1+(w2)p21,wherelabel(p)=1(w1)p1+(w2)p21,wherelabel(p)=1
这样子算出来的 w ⃗ ′ = ( w 1 ′ , w 2 ′ ) \vec w'=(w_1',w_2') w =(w1,w2)是标准化 w ′ ⃗ = w ⃗ τ \vec{w'}=\frac{\vec{w}}{\tau} w =τw 之后的法向量,只是对法向量进行了防缩,并不影响最后找到的分割超平面的斜率情况。

但是解决二次规划方程的时间复杂度过高,尤其是在图中点过于多的情况下,约束方程也有很多,解出答案的效率不高,因此考虑下面的近似解法。

Method2: Approximate Solution

近似解法通过递归的方式尽可能地解出近似于linear separable的最大的margin γ o p t \gamma_{opt} γopt (或者称为 γ ∗ \gamma^* γ)的值。

该方法蕴含着许多证明,需要尽可能地理解其内涵,incremental algorithm的递归解法也需要进行理解。

Margin Perception引入了一个变量 γ g u e s s \gamma_{guess} γguess,并基于此进行调整,首先需要保证正负样本能够分开在plane两侧,方法类似于前面的感知机,不过这里为了保证找到最大边界,如果到plane的距离 < γ g u e s s 2 \lt \frac{\gamma_{guess}}{2} <2γguess也是violation point。不违背Margin Perception的点就是满足三个条件:

  1. if label of p = 1 and w ⃗ ⋅ p ⃗ > 0 \vec{w} \cdot \vec{p} \gt 0 w p >0
  2. if label of p =-1 and w ⃗ ⋅ p ⃗ < 0 \vec{w} \cdot \vec{p} \lt 0 w p <0
  3. ∣ p ⃗ ⋅ w ⃗ ∣ w ⃗ ∣ ∣ ≥ γ g u e s s 2 |\frac{\vec{p} \cdot \vec{w}}{|\vec{w}|}| \ge \frac{\gamma_{guess}}{2} w p w 2γguess

数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron_第4张图片
γ g u e s s \gamma_{guess} γguess猜测得足够精准,比如 γ g u e s s ≤ γ o p t \gamma_{guess} \le \gamma_{opt} γguessγopt, margin perception就能够在合适的情况下停止并找到符合margin条件的separation plane。需要领会其言外之意,第一层意思是 γ g u e s s ≤ γ o p t \gamma_{guess} \le \gamma_{opt} γguessγopt那么Margin Perception一定会在合适的次数后停止,同时停了也说明 γ g u e s s ≤ γ o p t \gamma_{guess} \le \gamma_{opt} γguessγopt。第二层意思是 γ g u e s s > γ o p t \gamma_{guess} \gt \gamma_{opt} γguess>γopt,该算法就不会自动停止。

实际上,我们猜测 γ g u e s s \gamma_{guess} γguess并不能十分准确,我们希望它尽可能大且接近 γ o p t \gamma_{opt} γopt但是又不能太大,这就引入了下面的Incremental algorithm. 先猜一个尽可能大的值,然后在递归的过程中用 1 2 \frac{1}{2} 21不断调整。
数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron_第5张图片
其中有几个需要理解证明的点:

  1. γ g u e s s = R \gamma_{guess} = R γguess=R初始化一定能够保证进行递归,在于一定有 γ o p t ≤ R \gamma_{opt} \le R γoptR γ o p t \gamma_{opt} γopt是点到所有分割平面的最大距离,点到separation plane的距离计算公式 ∣ p ⃗ ⋅ u ⃗ ∣ = ∣ p ∗ u ∗ c o s θ ∣ < ∣ p ∣ ≤ R |\vec{p} \cdot \vec{u}|=|p*u*cos \theta| \lt |p| \le R p u =pucosθ<pR,其中 R R R是点到原点的最远距离。
  2. 每次进行Forced-Termination的时候,对于 γ g u e s s \gamma_{guess} γguess就将它当作 γ o p t \gamma_{opt} γopt,如果不能在 12 R 2 γ o p t 2 \frac{12R^2}{\gamma_{opt}^2} γopt212R2下停止,就说明 γ g u e s s > γ o p t \gamma_{guess}>\gamma_{opt} γguess>γopt,需要除以2继续重复Line 3.
  3. Line 3最终通过self-termination返回的 γ g u e s s \gamma_{guess} γguess不仅小于 γ o p t \gamma_{opt} γopt,而且一定是 > γ o p t 2 > \frac{\gamma_{opt}}{2} >2γopt的也就是 ≥ γ o p t 4 \ge \frac{\gamma_{opt}}{4} 4γopt,因为停止的上一次一定 γ g u e s s > γ o p t \gamma_{guess}>\gamma_{opt} γguess>γopt才能进入下一轮,到最后一轮停止 γ o p t > γ o p t 2 ≥ γ o p t 4 \gamma_{opt}> \frac{\gamma_{opt}}{2}\ge \frac{\gamma_{opt}}{4} γopt>2γopt4γopt

通过以上推论,也可以证明最终Incremental algorithm的执行次数是 O ( R 2 γ o p t 2 ) O(\frac{R^2}{\gamma_{opt}^2}) O(γopt2R2)的。将所有Line3的次数加起来,发现最终只和最后一次最大的的 O ( R 2 γ h 2 ) O(\frac{R^2}{\gamma_{h}^2}) O(γh2R2)有关,前面的数据根据除以2的关系依次等于 R 2 4 γ h 2 \frac{R^2}{4\gamma_{h}^2} 4γh2R2 R 2 4 2 γ h 2 \frac{R^2}{4^2\gamma_{h}^2} 42γh2R2…,又由于 γ h ≥ γ o p t 4 \gamma_{h} \ge \frac{\gamma_{opt}}{4} γh4γopt,因此总次数 O ( R 2 γ h 2 ) O(\frac{R^2}{\gamma_{h}^2}) O(γh2R2)= O ( 4 R 2 γ o p t 2 ) O(4\frac{R^2}{\gamma_{opt}^2}) O(4γopt2R2).

下面贴上if γ g u e s s ≤ γ o p t \gamma_{guess}\le\gamma_{opt} γguessγopt,margin perceptron terminates in at most 12 R 2 γ o p t 2 \frac{12R^2}{\gamma_{opt}^2} γopt212R2证明相关的通理

数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron_第6张图片
claim 3 的证明前提是 γ g u e s s ≤ γ o p t \gamma_{guess} \le \gamma_{opt} γguessγopt的假设。
数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron_第7张图片
claim 4直接将 ∣ w ⃗ i ∣ ≥ 2 R 2 γ o p t |\vec{w}_i | \ge \frac{2 R^2}{\gamma_{opt}} w iγopt2R2代入claim 3进行计算。
数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron_第8张图片
claim 5claim 2claim 4进行结合使用

claim 1claim 5结合使用得到最终结论。

相关题目

  1. 题目1.简单地算个点到直线的距离的最小值
    数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron_第9张图片
  2. 题目2,3. Margin Perception的近似解法,关键在于找出violation point,其定义我认为首先要满足当label p = 1 p=1 p=1,正常的点需要分类器算出来的 w ⋅ p > 0 w \cdot p>0 wp>0(这里就是严格取不到 = = =),然后计算distance to the plane w ⋅ p = 0 w \cdot p=0 wp=0时,其距离可以 > = γ g u e s s 2 >= \frac{\gamma_{guess}}{2} >=2γguess,其中 γ g u e s s 2 \frac{\gamma_{guess}}{2} 2γguess的猜想很重要。

数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron_第10张图片
数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron_第11张图片
3. 问题4. Margin Perception的最优解法,只需要定义出问题。
数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron_第12张图片
4. 问题5,反证法解决证明题。

5. 问题6 Incremental algorithm的推广,将其中的常量系数换成变量。最需要关注的是最后停止的那一轮以及它前面倒数第二轮的数量关系。
数据挖掘之支持向量机SVM以及它的两种解法Maximizing the margin of perceptron_第13张图片

你可能感兴趣的:(人工智能,数据挖掘)