线性可分支持向量机
支持向量机是一种二分类分类器。
给一堆数据
(xi,yi)
,并假设它们是线性可分的。
线性可分支持向量机的目的就是从这堆数据中学到一个分类超平面
wx+b=0
,利用这个平面进行分类。
那么如何得到这个分类超平面呢?
假设这个分类超平面我们已经得到了,为
wx+b=0
,那么对于点
(xi,yi)
,我们可以用
|wxi+b|
表示这个点到这个超平面的相对距离。用
yi(wxi+b)
表示这个点是否分类正确和到超平面的相对距离。这个
γi^=yi(wxi+b)
就叫做函数间隔。接着定义所有样本点中函数间隔的最小值
γ̂ =mini=1...Nri^
但是使用这个函数间隔有点问题,就是当w和b同时成倍缩放的时候,分类超平面没有变化,但是我们所计算出来的函数间隔就会成倍缩放,这是个问题。因此,我们引入几何间隔。
定义几何间隔为
所有样本点中几何间隔的最小值
为什么要定义几何间隔呢?因为我们的目的就是找到这些数据的分类超平面,找这个超平面的目标就是最大化
γ
,也就是最大化所有样本点的几何间距的最小值。也就是使得距离超平面最近的那个点的距离最大化。这样做是为了让两类不同的数据尽可能得分开。
准确一点,我们的目标是求得一个所有样本点的几何间隔的最小值最大的超平面。这个问题可以转化成下面的约束问题:
根据函数间隔和几何间隔的关系,可以转换成:
我们发现 γ̂ 的取值大小对整个约束问题和目标问题没有影响,所以为了计算简单,我们把 γ̂ 的在值取为1。(至于为什么没有影响,我这里没详细写)。又因为最大化 1||w|| 和最小化 12||w||2 是一样的。所以目标问题转成:
未完待续…