SVM

一、基本知识

1、分隔超平面(separating hyperplane)

分隔超平面,也就是分类的决策边界,分布在超平面一侧的所有数据点属于某个类别,而分布在另一侧的数据属于另一个类别

2、间隔(margin)

数据点到超平面的距离

(1)函数间隔

   用z标记:z=0时,是超平面上的点; 如果z>0,则为正类;如果z<0,则为负类

   y:类标签

  为什么乘上类标签?因为y的值为+1或者-1,所以只要是非超平面上的点,均能保证函数间隔是一个正值 

 函数间隔存在一个问题:如果成比例的改变w和b的值,比如w和b均变成了原来的2倍,超平面还是原来的超平面,但是函数间隔却变为了原来的2倍

(2)几何间隔

 

     几何间隔便是我们直观上点到超平面的距离,假设一个二维平面,则点到直线的距离为:

     

3、支持向量(support vector)

支持向量就是离分隔超平面最近的那些点

4、支持向量机的任务?

找到“最适合”的超平面:数据点到超平面的距离最大,即具有最大间隔的超平面

间隔越大,分类的确信度越大,为什么呢?如果间隔大,则说明两类之间的区别大,所以再出现一个数据点的话,正确分类的可能性就相对较高

5、最大间隔

(1)目标函数:

(2)约束条件

    即,我们要找到这样一个超平面,使得数据点与超平面的间隔最大,这些数据点就是我们所说的支持向量,同时需要满足一个约束条件,就是使得这些支持向量以外的数据点与超平面的距离都 大于,即此问题可以看做是一个带约束的优化问题

6、如何解决带约束的最优化问题?

(1)如果约束条件为等式,则采用拉格朗日乘子法

(2)如果约束条件为不等式,则采用KKT条件,KKT条件可以看做是对拉格朗日乘子法的泛化

7、线性可分与线性不可分

线性可分:可以用一个超平面将数据一分为二

线性不可分:无法用一个超平面将数据一分为二

二、线性可分的支持向量机

为了方便后续的推导,设置函数间隔为1,则目标函数化为:

优化问题:

---->

拉格朗日乘子法:

 

posted @ 2014-12-25 12:26  李闹闹童鞋  阅读(212)  评论(0编辑  收藏  举报