机器学习-支持向量机SVM学习笔记一

来源:互联网 发布:苹果手机平面设计软件 编辑:程序博客网 时间:2024/05/16 18:08

支持向量(support vector)就是离分割超平面最近的点。而支持向量的学习就是求解最大化支持向量到分割面的距离的问题。

首先确定 n 维的数据空间中的超平面方程: w^Tx + b = 0 其中x是数据点。如下图所示:

两种颜色的点分别代表两个类别,红颜色的线表示一个可行的超平面。在进行分类的时候,我们将数据点x

代入 f(x) 中,如果得到的结果小于 0 ,则赋予其类别 -1 ,如果大于 0 则赋予类别 1 。事实上,对于 f(x) 的绝对值很小的情况,我们都很难处理,因为细微的变动(比如超平面稍微转一个小角度)就有可能导致结果类别的改变。理想情况下,我们希望 f(x) 的值都是很大的正数或者很小的负数,这样我们就能更加确信它是属于其中某一类别的。

从几何直观上来说,由于超平面是用于分隔两类数据的,越接近超平面的点越“难”分隔,因为如果超平面稍微转动一下,它们就有可能跑到另一边去。反之,如果是距离超平面很远的点,例如图中的右上角或者左下角的点,则很容易分辩出其类别。

定义数据点到分割超平面的函数距离为:,之所以乘上类别y是为了确保距离的非负性,因为当w^Tx + b<0时,y=-1,两者之积为正。现在定义几何距离:如图所示:

对于一个点 x ,令其垂直投影到超平面上的对应的为 x0 ,由于 w 是垂直于超平面的一个向量(请自行验证),我们有,因为点x0在超平面上将点x0代入超平面解得 ,同样为了去除符号,我们定义几何距离也乘上y,几何距离为:

,我们的目标则是求maxγ˜,然




maxγ˜

然而,即使在超平面固定的情况下,几何距离同时和两个变量r和w有关,因此,在求解最大值的时候固定其中一个变量,为了方便推导和优化我们固定r的值为1,因此目标函数转化为:

因此,下面的重点就是如何求解这个多约束问题了


0 0
原创粉丝点击