机器学习的几大算法也算是过完一遍了,准备把学习笔记写到博客上,一来复习,二来避免笔记本丢失,三来可以随时再看看,hh,废话不多说,先从我花时间最长的svm开始
【SVM的实质】
SVM的实质是最大间隔分类器,顾名思义,它在做分类任务时(二分类),会通过找到训练样本到决策边界的最大间隔来最后确定决策边界。
SVM分为三类:
1.线性可分支持向量机
又称硬间隔支持向量机,其特点是训练数据线性可分,如下图,两类数据能够很清楚的被一条线(或超平面)给划分开来。
2.线性支持向量机
又称软间隔支持向量机,其特点是训练数据近似线性可分,如下图,两类数据可以近似的被一条线(或超平面)划分,但仍有一些点混杂在另一类中。
3.非线性支持向量机
这类向量机的特点是训练数据线性不可分,如下图,通常这类向量机都会采取将训练数据映射到更高维处,使得原本线性不可分的数据变得近似线性可分或线性可分。
类别 | 特点 |
---|---|
线性可分支持向量机 | 训练数据线性可分+硬间隔最大化 |
线性支持向量机 | 训练数据近似线性可分+软间隔最大化 |
非线性支持向量机 | 训练数据线性不可分+核技巧+软间隔最大化 |
【间隔】
既然知道了SVM实质就是找两类数据的最大间隔,那么我们就需要知道间隔指的是什么?
在《统计学习方法》一书内给出了两种间隔,函数间隔和几何间隔。
先说说我们怎么判断某个样本属于哪个分类呢?
SVM使用超平面
ωTx+b=0
ω
T
x
+
b
=
0
将样本划分为两类,当超平面确定的时候,我们可以用
|ωTx+b|
|
ω
T
x
+
b
|
相对的表示点x距离超平面的远近,用
ωTx+b
ω
T
x
+
b
的符号与类标记y的符号是否一致来表示这个分类是否正确,如下图
这里
x2
x
2
相较于
x1
x
1
离超平面要更远一些,而
−2xi+3
−
2
x
i
+
3
的符号与各自的分类标记
yi
y
i
是一致的,也就是说分类正确。(i取1、2)
对于
x3
x
3
来说,它的分类是正类,但是其
−2x3+3
−
2
x
3
+
3
的符号与其分类标记
y3
y
3
并不一致,因此分类并不正确。
根据这样的特性,引出函数间隔的定义:对于给定的训练数据集T和超平面 ωTx+b=0 ω T x + b = 0 ,超平面关于样本点 (xi,yi) ( x i , y i ) 的函数间隔为: γi^=yi(ωTxi+b) γ i ^ = y i ( ω T x i + b )
函数间隔 γi^ γ i ^ 可以表示分类预测的正确性及确信度,当 γi^>0 γ i ^ > 0 时分类正确,当 γi^<0 γ i ^ < 0 时分类错误, γi^ γ i ^ 越大,则表示确信度越高,因为这个点离分离超平面很远嘛,不具有什么争议性。
不过在选择分离超平面的时候,光有函数间隔是不够的,因为当我成比例改变超平面的 ω ω 和时,超平面其实是没有变的,但是对于样本点来说,它与超平面的距离 |ωTx+b| | ω T x + b | 却变成了 |kωTx+kb| | k ω T x + k b | ,虽然分类结果不会受影响(因为这个只取决于 ωTx+b ω T x + b 或 kωTx+kb k ω T x + k b 的符号),但是确信度却会被提高,这样是不合理的。
因此,我们需要对超平面的法向量 ω ω 加某些约束,如规范化,令 ||ω||=1 | | ω | | = 1 ,使得间隔确定,这时函数间隔就变成了几何间隔。
由此引出几何间隔的定义:对于给定的训练数据集T和超平面
ωTx+b=0
ω
T
x
+
b
=
0
,超平面关于样本点
(xi,yi)
(
x
i
,
y
i
)
的几何间隔为:
γi=yi(ωT||ω||xi+b||ω||)
γ
i
=
y
i
(
ω
T
|
|
ω
|
|
x
i
+
b
|
|
ω
|
|
)
上面这些定义说的都是样本点(某一个点)与超平面的间隔,我们在求最优分离超平面的时候,应关注所有样本点中离超平面最近的点,也就是所有样本点中间隔最小的点。
因此对于给定的训练数据集T和超平面
ωTx+b=0
ω
T
x
+
b
=
0
,超平面与训练数据集T的几何间隔为:
γ=mini=1,..,Nγi
γ
=
min
i
=
1
,
.
.
,
N
γ
i
【SVM的基本思想】
支持向量机的基本思想就是求解能够正确划分训练数据集并且几何间隔最大的分离超平面,对于线性可分的训练数据集而言,线性可分分离超平面有无穷多个(等价于感知机),但是几何间隔最大的分离超平面是唯一的。
因此求解最优分离超平面的思路就是间隔最大化。其直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也就是说,不仅将正负实例点分开,而且对最难分的实例点(离超平面最近的点)也有足够大的确信度将它们分开。这样的超平面应该对位置的新实例有很好的分类预测能力。(摘自《统计学习方法》)
参考文献:《统计学习方法》、《机器学习》