支持向量机-Support Vector Machine

Posted dqhl1990

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支持向量机-Support Vector Machine相关的知识,希望对你有一定的参考价值。

支持向量机-Support Vector Machine


将在SVM之前

初窥SVM,没想到其涉及了诸多最优化问题的内容,特此在理解SVM的同时,整理了会用到的最优化相关知识,都在这里了

关于SVM的讲解,我看到了两种方法。一种是网上最多的最优超平面方法求解;另一种是Andrew Ng在Coursera上通过逻辑回归延伸出来的方法。这里我先整理根据网上看到的方法。

1. 什么是超平面?

维基百科上讲:在几何学中,一个超平面,是一个比它所在环境空间维度小1的子空间(余维度为1)。例如,三维空间的超平面是一个二维平面,二维空间的超平面是一个一维线。

对于 n n n维空间,其内的超平面为:
(1.1) w 1 x 1 + w 2 x 2 + ⋯ + w n x n = b w_1x_1 + w_2x_2+\\cdots + w_nx_n = b\\tag1.1 w1x1+w2x2++wnxn=b(1.1)定义的子集 X X X,其中 w 1 , w 2 , … , w n w_1,w_2,\\dots,w_n w1,w2,,wn为不全为0的常数,并且为该超平面的法向量。

超平面将其所在的空间分成了两个部分,分别对应的是:

w 1 x 1 + w 2 x 2 + ⋯ + w n x n &gt; b a n d w 1 x 1 + w 2 x 2 + ⋯ + w n x n &lt; b w_1x_1 + w_2x_2+\\cdots + w_nx_n &gt; b\\\\ and\\\\ w_1x_1 + w_2x_2+\\cdots + w_nx_n &lt; b w1x1+w2x2++wnxn>bandw1x1+w2x2++wnxn<b

用向量形式表示超平面公式为:
(1.2) x = ( x 1 , x 2 , … , x n ) T w = ( w 1 , w 2 , … , w n ) T   w T x + b = 0 x=(x_1,x_2,\\dots,x_n)^T\\\\ w=(w_1,w_2,\\dots,w_n)^T\\\\ \\ \\\\ w^Tx +b = 0\\tag1.2 x=(x1,x2,,xn)Tw=(w1,w2,,wn)T wTx+b=0(1.2)

其同样可以用不等式将所在的空间分成两部分:
w T x + b &gt; 0 a n d w T x + b &lt; 0 w^Tx +b &gt; 0\\\\and\\\\w^Tx +b &lt; 0 wTx+b>0andwTx+b<0
以二维空间为例,如图能直观地看出超平面(线)将二维平面分成了两部分:

问题定义

在进行推导之前,我们想对问题进行定义。假设给定一个特征空间上的训练数据集
T = ( x 1 , y x ) , ( x 2 , y 2 ) , … , ( x n , y n ) T = \\(x_1,y_x),(x_2,y_2),\\dots,(x_n,y_n)\\ T=(x1,yx),(x2,y2),,(xn,yn)其中, x i ∈ R n , y i ∈ + 1 , − 1 , i = 1 , 2 , … , n x_i\\in \\Bbb R^n,y_i \\in \\+1,-1\\, i = 1,2,\\dots,n xiRn,yi+1,1,i=1,2,,n
我们的问题就是要找到空间中的一个超平面,能够最优的将不同类别的样本区分开来。

2. 函数间隔(Functional Margin)与几何间隔(Geometrical Margin)

函数间隔

当在一个超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0确定的情况下,我们可以看到 ∣ w T x i + b ∣ |w^Tx_i+b| wTxi+b能够反映点 x i x_i xi到超平面的远近(但不是实际的欧几里得距离),通过观察 w T x i + b w^Tx_i+b wTxi+b和类标记 y i y_i yi符号是否一致,可以判断分类结果是否正确。因此,同时考虑 w T x i + b w^Tx_i+b wTxi+b y i y_i yi,即 y i ( w T x i + b ) y_i(w^Tx_i +b) yi(wTxi+b)能到的一种对于分类结果正确与否的度量(可信度)。

所以,我们定义间隔函数为:
(2.1) γ i ^ = y i ( w T x i + b ) \\hat\\gamma_i = y_i(w^Tx_i +b)\\tag2.1 γi^=yi(wTxiSpark MLlib模型 支持向量机Support Vector Machine

支持向量机(SVM:support vector machine)

支持向量机(support vector machines, SVM)

机器学习之支持向量机(Support Vector Machine)(更新中...)

浅谈支持向量机(Support Vector Machine)

分类问题第二弹来袭:支持向量机(Support Vector Machine)