重写一下图中的公式:
支持向量机的超平面应该满足:
(其中i是第i个样例,若样例为正类,yi标记为1,即等价于公式括号里的部分大于等于1;若样例为负类,yi标记为-1,即等价于公式括号里的部分小于等于1)
(即训练样本距离超平面的距离应该越远越好(两类分的越开越好))
在寻找上述超平面的过程中可能会遇到各种问题,针对每种问题,我们又有各种解决方法:
1、样本空间找不到一个很好的超平面进行划分——核函数
上述最简单的SVM过程是假设在样本空间存在一个超平面可将样本划分开,但是也有可能在样本空间里不存在这样的超平面。在这种情况下,需要将样本从样本空间映射到更高为的特征空间,然后在更高维度的空间里寻找超平面。如果将x映射到高维平面的函数是,也就是SVM是在寻找满足
(括号里是样本映射到超空间后又分类的结果,和yi相乘大于1意味着分类正确)
(这是超平面最大间隔约束)
的超平面
在求解上述公式的解的过程中需要计算,也就是样本xi和样本xj映射到特征空间之后的内积。
这个内积很不好计算,所以我们在原始的样本空间中寻找一个函数,使,这样计算就更简单了,这个叫做核函数
如果我们知道的具体形式,则容易找到对应的,但是通常我们不知道是什么,但是根据一些证明和经验,我们有了一些常用的好用的核函数,包括线性核、多项式核、高斯核、拉普拉斯核、sigmoid核等。
不同的核函数意味着不同的,也就是将样本映射到不同的高维特征空间,因此核函数的选择很重要,只有映射到合适的空间,才能找到分类效果更好的超平面
2、找不到超平面能够把两类样本完全分割开——软间隔与正则化
软间隔允许超平面在有些样本上分类错误,也就是满足
其中是松弛变量,是一个关于的函数,可被表示为,其中x等于。
当样本被超平面正确划分时,自变量,,很小;当样本没有被超平面正确划分时,,比较大。通过引入松弛变量,允许了部分样本分类错误,同时利用最小化
使得超平面和样本间的间隔大()且训练集上的被分错的误差小()
的具体函数常见的有hinge损失、指数损失和对率损失函数等。