⽀持向量机(⼀)——线性可分⽀持向量机
⽀持向量机(Support Vector Machine, SVM)是⼀种⼆分类模型。它的基本思想是间隔最⼤化。 1、线性可分⽀持向量机
给定训练集,其中表⽰第个训练样本。输⼊实例, 标记,+1代表正例,-1代表反例。 假设训练集线性可分,即存在超平⾯能正确划分训练集,并且很容易看出这种超平⾯有⽆穷多个。分类超平⾯⽤表⽰,对所有的实例,超平⾯将其划分为正类;对所有的实例,超平⾯将其划分为反例。 学习的⽬的,就是到这样⼀个分类超平⾯,使其对训练集进⾏正确划分。上⾯也说了,在训练集线性可分的情况下,这样的分类超平⾯有⽆穷多个。⽀持向量机通过间隔最⼤化求最优分类超平⾯,这个最优超平⾯的解是唯⼀的。
1.1 函数间隔与⼏何间隔
函数间隔
超平⾯关于样本点的函数间隔为
义经记
关于训练集T的函数间隔为
对于分类超平⾯与样本,的符号与的符号是否⼀致能够表⽰分类是否正确;能够相对地表⽰距离超平⾯的远近,⽽实例点距离分类超平⾯的远近可以表⽰分类的确信程度。所以函数间隔不仅包含了超平⾯是否将样本正确分类的信息,还包含了超平⾯对样本分类的确信度。
⼏何间隔
超平⾯关于样本点的⼏何间隔为
关于训练集T的函数间隔为
⼏何间隔是有符号距离,只有在样本点被超平⾯正确分类时才是实例点到超平⾯的距离。
由(1)~(4)可以得到
1.2 间隔最⼤化
线性可分⽀持向量机的⽬的是到把训练数据正确划分且⼏何间隔最⼤的分类超平⾯。间隔最⼤的分类超平⾯对未知实例有很好的泛化能⼒。
出井伸之
可以写成约束优化问题:
把(5)代⼊(7)中,得到
⽆论取什么值,优化问题(8)的最优解对应的超平⾯和最优值总是不变的。⽐如取,此时求出最优解为,对应的最优值为;现在取,可以求出最优解为,对应的最优值为。可以看出,两个最优解对应的超平⾯是同⼀个超平⾯。
于是,令,优化问题(8)等价于优化问题
⽽最⼤化等价于最⼩化,于是优化问题(9)等价于
(10)就是线性可分⽀持向量机的最优化问题。这是⼀个凸⼆次规划问题。可以⽤⼀般的凸⼆次规划算法求解,也可以⽤优化问题的拉格朗⽇法求解。
1.3 对偶问题瑶山
原始优化问题(10)可以通过极⼤极⼩化拉格朗⽇函数得到对偶优化问题,然后根据对偶问题的最优解得到原始问题的最优解。
袁菲微博引⼊拉格朗⽇乘⼦,构建拉格朗⽇函数
原始问题的对偶问题是极⼤极⼩问题:
为了求对偶问题,⾸先求,令
得到
代⼊L中,得到沈坚华
然后求对的极⼤,得到:
初步询价求得的对偶问题可以重写成
偶优化问题(18)的最优解和原始优化问题(10)的最优解存在,且满⾜KKT条件: 所以求出对偶问题(18)的最优解后,可以根据(19)得到:
⾄于,由公式(21)知道,如果,那么,所以
⾄于怎么求解对偶问题(18),阅读SMO⼀节。