一.线性模型的概念
- 可以用一条直线将训练样本集分开(线性可分训练集)
- 但是这条直线我们是有无数种画法的,比如:
- 那么我们就要考虑哪条直线是最优的,那么我们需要有一个衡量标准,即性能指标
- 我们将一条直线平行的向两侧移动,直到它碰到两侧的一个或者几个样本(支持向量),将移动后的两条直线d1,d2之间的距离d(间隔)作为性能指标,我们要找的实际就是使得这个d最大的那条直线:
- 但是在这个定义中,我们确定的直线是不唯一的,实际上和他完全平行的直线也可以使得d最大:
- 因此我们要再加一个限制条件:该直线到虚线d1和d2的距离都是d/2,也就是它处于最中间:
- SVM就是一个最大化间隔的分类算法
二.线性模型的数学描述
- (1)训练数据即标签:(X1,y1),(X2,y2)…(Xn,yn)
X:向量
y:标签,值取1或者-1,表示这个向量的类别 - (2)线性模型要做什么:二维时要找到一个直线,三维时要找到一个平面,四维以及更多维时要找到一个超平面
那么现在我们就是要根据训练数据X和y,算出W和b,然后得到这个超平面的方程。 - (3)一个训练集线性可分的准确定义:
- (4)最终将支持向量机转化为这样的问题:
首先有这样的依据:
那么就有:
如果此时就定X0为支持向量,那么我们就是需要d最大,并且由于有以下依据:
那么我们需要d最大,实际就是要||w||最小,也就是上面优化问题中的最小化||w||平方
而对于其他非支持向量的样本,它到超平面的距离实际上是大于d的,这就是上面优化问题中的限制条件
三.非线性模型的优化目标函数和限制条件
- 改进后的优化目标函数和限制条件
- 那么在处理高维问题时,会将低维的矢量映射到高维中去,然后在高维空间中找直线将他们分开,因此就要进行低维向高维的映射:
- 那么这个映射函数如何选取呢,实际上我们可以不知道无限维映射函数的显式表达,我们只要知道一个核函数:
那么这个优化式依然可解,等号右边的是两个无限维函数的内积,左边是一个数。 - 常用的核函数:
四.原问题和对偶问题
- 为什么要用对偶问题:
不等式的约束一直是优化里的难题,求解对偶问题可以将原来的不等式约束问题变成等式约束。
支持向量机用到了高维映射,但是映射函数的具体形式几乎完全不确定,而求解对偶问题之后,可以用核函数来处理这个问题。 - List item
- 原问题:
- 对偶问题:
inf{L(w,a,b)}:是在确定a、b的情况下,遍历所有的w值,找出L的最小值 - 那么就有定理:
首先w是原问题的解,那么必定满足原问题的限制条件:gi(w)<=0,hi(w)=0,其次ai、Bi是对偶问题的解,那么必定满足对偶问题的限制条件:ai>=0 - 那么就有以下定义:
- 那么具体是哪些特定优化问题: