支持向量机(SVM)
1 背景信息
-
分类算法回顾
-
决策树
-
样本的属性非数值
-
目标函数是离散的
-
-
贝叶斯学习
- 样本的属性可以是数值或非数值
- 目标函数是连续的(概率)
-
K-近邻
- 样本是空间(例如欧氏空间)中的点
- 目标函数可以是连续的也可以是离散的
-
支持向量机 (Support Vector Machine)
- 样本是空间(例如欧氏空间)中的点
- 目标函数可以是连续的也可以是离散的
-
-
背景信息
当前版本的支持向量机大部分是由 Vapnik 和他的同事在 AT&T贝尔实验室 开发的
支持向量机 (Support Vector Machine,SVM)是一个最大间隔分类器(Max Margin Classifier)
最有效的监督学习方法之一,曾被作为文本处理方法的一个强基准模型(strong baseline)
2 线性支持向量机
-
符号函数
y i = { + 1 , if f ( x i , θ ) <0 − 1 , if f ( x i , θ ) <0 y_i = \begin{cases} +1, & \text{if $f(x_i,θ)$ <0} \\ -1, & \text{if $f(x_i,θ)$ <0} \\ \end{cases} yi={+1,−1,if f(xi,θ) <0if f(xi,θ) <0
对一个测试样本 x x x,我们可以预测它的标签为 [ f ( x , θ ) ] [f(x,θ)] [f(x,θ)], f ( x , θ ) = 0 f(x,θ)=0 f(x,θ)=0 被称为分类超平面 -
线性分类器
-
线性超平面
f ( x , w , b ) = < x , w > + b = 0 f(x,w,b)=<x,w>+b=0 f(x,w,b)=<x,w>+b=0
在线性可分的情况下,有无穷多个满足条件的超平面。
-
线性分类器的间隔(Margin)
在分类分界面两侧分别放置平行于分类超平面的一个超平面,移动超平面使其远离分类超平面
当他们各自第一次碰到数据点时,他们之间的距离被称为线性分类器的间隔
Margin(间隔):分界在碰到数据点之前可以达到的宽度
-
最大间隔线性分类器——具有最大间隔的线形分类器
支持向量:那些阻挡间隔继续扩大的数据点
-
问题形式化
形式化间隔,我们需要所有数据点满足
y i ( < x i , w > + b ) ≥ 1 , ∀ i = 1 , . . . , N y_i(<x_i,w>+b)≥1,\ \forall i=1,...,N yi(<xi,w>+b)≥1, ∀i=1,...,N
分类超平面: < x , w > + b = 0 <x,w>+b=0 <x,w>+b=0,引入平行于分类超平面的两个额外超平面: < x , w > + b = ± 1 <x,w>+b=±1 <x,w>+b=±1
间隔(margin):两个新的超平面( < x , w > + b = ± 1 <x,w>+b=±1 <x,w>+b=±1)之间的距离。
间隔的表达式:两个超平面到原点的距离之差的绝对值: ∣ ρ 1 − ρ 2 ∣ = 2 ∣ w ∣ |ρ_1-ρ_2|=\frac{2}{|w|} ∣ρ1−ρ2∣=∣w∣2
-