支持向量机SVM

支持向量机SVM


   SVM被提出于1964年,在二十世纪90年代后得到快速发展并衍生出一系列改进和扩展算法,在人像识别、文本分类等模式识别(pattern recognition)问题中有得到应用。
   支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。

  参考: 西瓜书

一、相关概念

1.1 超平面、法向量、平移顶

   给定训练样本集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x m , y m ) } , y i = { + 1 , − 1 } D = \lbrace(x_1,y_1),(x_2,y_2),(x_m, y_m)\rbrace, y_i=\lbrace+1,-1\rbrace D={(x1,y1),(x2,y2),(xm,ym)},yi={+1,1} ,分类学习最基本的想法就是基于训练集,在样本空间中找到一个划超分面,将不同的样本分开。如下图:
支持向量机SVM_第1张图片
   其中能够划分样本的超平面存在多个,我们要找的是最好的哪一个,即图中“中间”粗线的超平面。
   在样本空间中,超平面表示如下:
w T x + b = 0 (1) w^Tx+b=0 \tag 1 wTx+b=0(1)
  其中, w = ( w 1 , w 2 , w 3 . . . ) w=(w_1,w_2,w_3...) w=(w1,w2,w3...)称为法向量,它决定了超平面的方向; b b b 称为位移顶,它决定超平面与原点的距离。可知,划分超平面可由法向量 w w w 和位移 b b b 决定,则超平面表示为 ( w , b ) (w,b) (w,b)

1.2 点到超平面距离、支持向量、间隔

  样本空间中任一点 x x x到超平面 ( w , b ) (w,b) (w,b)的距离表示为:
r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ (2) r=\frac {|w^Tx+b|} {||w||} \tag 2 r=wwTx+b(2)   假设超平面能将样本正确分类,即对于 ( x i , y i ) ∈ D (x_i, y_i) \in D (xi,yi)D, 点在超平面的上方,则 w T x + b > 0 w^Tx+b>0 wTx+b>0;在超平面下方, w T x + b < 0 w^Tx+b<0 wTx+b<0的特性。
  对于一个2分类,可以令如下式子成立:
{ w T x i + b > + 1 , y i = 正 类 w T x i + b < − 1 , y i = 负 类 (3) \begin{cases} w^Tx_i+b>+1, & y_i=正类 \\[2ex] w^Tx_i+b<-1, & y_i=负类 \\ \end{cases} \tag 3 wTxi+b>+1,wTxi+b<1,yi=yi=(3)   则表示如下图:
支持向量机SVM_第2张图片
  距离分割超平面最近的几个训练样本使得上式子成立,它们称为支持向量(support vector)
  两个异类支持向量到超平面的距离之和为:
r = 2 ∣ ∣ w ∣ ∣ (4) r=\frac {2} {||w||} \tag 4 r=w2(4)
  称为间隔(margin)

1.3 支持向量机模型

   欲找到具有最大间隔的划分超平面,就要找到能满足式(3)中约束的参数 w w w b b b使得间隔 r r r最大,即:
支持向量机SVM_第3张图片
为了最大化问隔,仅需最大化 ∣ ∣ w ∣ ∣ − 1 ||w||^-1 w1,这等价于最小化 ∣ ∣ w ∣ ∣ 2 ||w||2 w2,则上式中重写为:
支持向量机SVM_第4张图片

以上表达式就是支持向量机(Support Vector Machine ,简称 SVM) 的基本型

你可能感兴趣的:(机器学习,机器学习,python)