间隔和支持向量
给定训练样本集D={(x1,y1),(x2,y2),...,(xm,ym)},yi∈{−1,+1}{(x1,y1),(x2,y2),...,(xm,ym)},yi∈{−1,+1}。分类学习最基本的思想就是基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开,但是能将训练样本分开的划分超平面可能有很多,哪一个是最好的呢?
直观上看,应该取找位于两类样本“正中间”的划分超平面,即B1B1,因为该划分超平面对训练样本局部扰动的“容忍”性最好。例如,由于训练集的局限性或噪声的因素,训练集外的样本可能比上图中训练样本更接近两个类的分割界,这将使许多划分超平面出现错误,而B1B1的超平面受影响最小。换言之,这个划分超平面所产生的分类结果是最鲁棒的,对未见的示例泛化能力最强。
在样本空间中,划分超平面可通过如下线性方程来描述:
下面我们将其记为(ω,b)。样本空间中任意点xx到超平面(ω,b)的距离可写成
这个公式具体可以用点到直线的距离来解释:点P(x0,y0x0,y0)到直线Ax+By+c=0的距离为
假设超平面(ω,bω,b)能将训练样本正确分类,即对于(ωi,yi)∈D(ωi,yi)∈D,若yi=+1, 则有ωTxi+b>0; 若yi=−1,则有ωTxi+b<0ωTxi+b<0
如上图所示,距离超平面最近的这几个训练样本点使上式等号成立,他们被称为“支持向量”(support vector)。两个异类支持向量到超平面的距离之和为:
它被称为间隔
这个公式具体怎么来的?
两个平行平面:
两个平面的距离为:
欲找到具有最大间隔的划分超平面,也就是找到满足(1.1)中约束条件的ω,b,使得γ最大。即
显然,为了最大化间隔,仅需要最小化||ω||2,于是,式(1.3)可写成
这就是支持向量机的基本型。
支持向量机的优缺点
- 优点:泛化错误率低,计算开销不大,结果易解释。
- 缺点:对参数调节和核函数的选择敏感,原始分类器不加修改仅适用于处理二分类问题。
- 使用的数值类型:数值型和标称型
登录 | 立即注册