背景:
最早在1963年提出,目前版本(soft margin)在1993年提出,在1995年发表
深度学习(2012)出现之前,SVM被认为是机器学习中近十几年来最成功的,表现最好的算法
机器学习的一般框架:
训练集--》提取特征向量---》结合一定的算法(分类器:比如决策树,KNN)---》得到结果
例子:
两类?哪条线最好?
SVM寻找区分两类的超平面(hyper plane),使边际(margin)最大
总共可以有多少个可能的超平面?无数条
如何选取使(margin)最大的超平面(Max Margin Hyperplane)
超平面到一侧最近点的距离等于另一侧最近点的距离,两侧的超平面平行
3、线性可区分(linear separable)和线性不可区分(linear inseparable)
4、定义与公式建立
超平面可以定义为:
n是特征值的个数
X:训练实例
b:bias
4、假设2维特征向量:X=(x1,x2)
把b想象为额外的wight
调整weight,使超平面定义边际的两边:
综合以上两式,得到:(1)
所有坐落在边际的两边的超平面上被称作“支持向量(support vectors)”
分界的超平面和H1或H2上任意一点的距离为
SVM如何找到最大边际的超平面呢(MMH)?
利用一些数学推导,以上公式(1)可变为有限制的凸优化问题(convex quadratic optimization)
利用Karush-Kuhn-Tucker(KKT)条件和拉格朗日公式,可以推出MMH可以被表示为以下“决定边界(decision boundary)”
其中,
是支持向量点
(support vector)的类别标记(class label)
是要测试的实例
和
多是单一数值型参数,由以上提到的最有算法提出
L
是支持向量点的个数
对于任何测试(要归类的)实例,带入以上公式,得出的符号是正还是负决定。
例子: