一、线性可分和线性不可分
--线性可分(Linear Separable)
--线性不可分(Nonlinear Separable)
1 特征空间为二维
2 特征空间为三维
3 特征空间为二维数学表示
用数学严格定义训练样本以及他们的标签
假设:我们有N个训练样本和他们的标签:
这里我们可以规定如果Xi如果属于C1,则yi的值为1,如果Xi如果属于C2,则yi的值为-1。
线性可分的严格定义:
一个训练样本集{(Xi,yi), ..., (Xn,yn)},在i=1~n线性可分,是指存在(w1,w2,b),使得对i=1~n,有:
4 用向量形式来定义线性可分
假设:
有:
最简化形式:
如果对于yi是等于1或-1的,一个训练样本集{(Xi,yi), ..., (Xn,yn)},在i=1~n线性可分,是指存在(w,b),
使得对于i=1~n,有:
二、如何解决线性可分问题
1 提出问题
Vladimir Vapnik提出:如果一个数据集是线性可分的,将存在无数多个超平面能够将各个类别分开,
在这无数多个分开各个类别的超平面中,到底哪一个是最好的?
2 二维特征空间中的二分类问题
根据没有免费的午餐定理,上图中的数据集是一个线性可分的且1,2,3三条线都是达到了将两个类别分开的目的。
但是我们大多数时候可能更倾向于2号线的分割:
假设训练样本的位置在特征空间上有测量误差:
从上图我们可以看出,2号线对训练样本所处的位置的误差的容忍程度是最高的,换句话说,2号线,相比于1号和3号线更能抵御训练样本位置的误差。
3 “2号线”是怎么画出来的
Vapnik给出的回答:
上图中将分割线分别朝着不同方向平移,直到与数据集中样本重合,如上图中与数据集中样本重合的样
本我们称为支持向量,两条直线间的距离称为间隔(Margin)。而产生间隔最大的就是我们要找的“2号线”或最好的那条线。
1,2,3号三条线对比:
当我们已经找到间隔(Margin)最大的两条平行线后,在这两条平行线之间依然可以作出无数条直线,
那么哪一条才是我们要找的最优的那条“2号线”,规定这两条平行的直线中间的那条线就是“2号线”。
4 总结
支持向量机寻找的最优分类直线应满足:
-- 该直线分开了两类;
-- 该直线最大化间隔(Margin);
-- 该直线处于间隔的中间,到所有支持向量的距离相等。
三、优化问题
支持向量机要找一个超平面,使它的间隔(Margin)最大,同时恰好在间隔的中间。
1 首先清楚两个数学概念
概念1:
概念2:
2 问题转化
根据概念1:因为(w,b)表示的超平面和(aw,ab)表示的超平面是同一个平面,此处可以通过二维中向量帮助理解,
假设向量t1=(a,b),t2=(2a,2b),实际上向量t1和t2指向的是同一个直线。
那么也就意味着我们可以用a对wb进行缩放:
再结合概念2我们可以把支持向量到超平面的距离d改写为如下:
回到寻找“2号线”问题上,我们要找到最大化的间隔(Margin),即找到最大化支持向量到超平面的距离,
就等价于找到最小化||w||(w的模)。
3 结论
根据以上,就可以把寻找具有最大间隔的“2号线”问题转化为目标更清晰的数学问题:
一个最小化:
这里最小化1/2||w||²和最小化||w||²本质上是一样的,之所以使用1/2||w||²是为了方便之后的求导。
一个限制条件:
上式中,在支持向量上是等于1的,在非支持向量上是大于1的。
四、线性不可分情况
已知在线性可分的情况下,支持向量机寻找最佳超平面的优化为题可以表示为:
在线性不可分的情况下,满足上面的限制条件是没有解的。所以对于线性不可分的情况,我们要放松限制条件:
改造后的支持向量机优化版本:
在线性可分的情况下,目标函数止需要最小化1/2||w||²;
而非线性可分情况下,在目标函数上增加了一项,即所有的δi的和。
目标函数中的C我们称为比例因子,起到平衡两项的作用,C的值是人为设定得(认为事先设定的参数叫做算法的超参数),
一般在实际的应用当中,会不断地变化C的值,同时对于每一个C测试算法的识别率。然后选取使识别率达到最大的超参数C。
五、低维到高维的映射
支持向量机通过将特征空间由低维映射到高维,然后在高维的特征空间中,仍然用线性超平面对数据进行分类。
1 通过一个例子实现低维到高维的映射
上图中两个×就是x1和x2,两个○是x3和x4,显然这个例子中两种数据×和○是现行不可分的,我们无法做到用一条直线,将它们分开成两类。
此时我们构造一个二维到五维的映射φ(x):
根据此映射我们可以得到:
设ω和b的值:
继而可以算出:
此时我们可以发现:我们将数据集样本由线性不可分变成了线性可分。
2 定理
假设:在一个M维空间上随机取N个训练样本,随机的对每个训练样本赋予标签1或-1,假设这些训练样本线性可分的
概率为P(M),则由当M趋于无穷大时,P(M)=1。
3 结论
将训练样本由低维映射到高维,能够增大线性可分的概率。
此时支持向量机的优化应该作出改写:
六、核函数的定义
核函数(Kernel Function)
支持向量机的创始人Vapnik在回答φ(x)具体形式这一问题上:
指出我们可以不用知道φ(x)的具体形式,可以通过引入了核函数的概念完成对测试样本类别的预测:
分析上图核函数K(X1,X2)形式,我们可以发现,核函数K的计算结果会是一个实数。
1 核函数和φ(x)的关系
核函数K和映射φ是一一对应的关系,已知K可以求出φ,已知φ可以求出K。
2 核函数的形式
核函数的形式不能随意的取,只有满足一定的条件,核函数K才能表示为两个φ内积的形式: