机器学习笔记之—SVM

假定有一个训练集 ,它要么属于正例,要么属于负例。在分类问题当中,我们最基本的想法就是基于训练集D在样本空间中找到一个划分超平面,将不同的样本分开。这样的划分平面有很多,哪一个是最好的呢?


1.png

假设其中一个划分超平面是鲁棒性、泛化能力最好的,对训练样本局部扰动的“容忍性”也最好,这个划分超平面用如下方程式描述:


2.png

3.png

样本空间到这个超平面的距离d表示为:
3.png

,沿用一般求点到直线的距离公示,即可得出该距离公式。


4.png

对于这个超平面,上半区域是大于0的,都为正例;下半区域是小于0的,都为负例。所以有:
5.png

6.png

因为w,b等比缩放后,方程式依然不变
7.png

所以若将w,b等比缩放的话,就可得到以下公式:
8.png

再合并一下,就得到如下公式:


9.png

回到最原始的问题,怎样的超平面才是我们想要的超平面呢?回到样本空间,如果我们沿着超平面,一遇到正例、负例就作它的平行超平面,这些点就是离超平面最近的点。当这几个点离超平面距离越大,间隔越大,说明这个样本空间就划分的更好,对训练样本局本部扰动的“容忍”性就最好
8.png

那么这个长得像街道的街宽要怎么求呢?
9.png

由刚刚的公示,知道街边的点满足Yi* (w*x+b)=1。令街边的点的向量分别为X+,X-,那么街宽就为(X+-X-)在W法向量上的分量
10.png

11.png

于是,求最大街宽的问题,就转化为求最大 的问题。
原目标函数:
12.png

13.png

转化一下:
14.png

现在是如何求最优的w,b来来获得最大间隔

在数学中,求最小值可以用到拉格朗日定理


15.png

16.png

17.png

18.png

我们可以发现,原问题的对偶问题,现在是极大极小问题


19.png

对w,b分别求偏导可得:
20.png

再带入原公式:
21.png

现在转化为求最优α,求到了α,就求到了最优w,b,那么超平面就求到了,分类决策函数也就求到了。

之前提到的数据集都是线性可分的,如果数据集如下图该怎么办呢?


22.png

上面的数据并不是线性可分的,那么我们就可以利用核函数,来解决这个问题。


23.gif

这个方法的核心是将样本从原始空间映射到一个更高维的特征空间。
该特征空间中划分超平面所对应的模型可表示为:
24.png

其中ϕ(x)表示映射后的特征向量
像线性可分情况一样,也会有一下公式:


25.png

26.png

27.png

〖ϕ(x_i )〗^T ϕ(x_j)往往很难计算,于是可以设想一个核函数
28.png

数据集形成的M*M个核矩阵要是半正定的
29.png

现在已经有很多的核函数,比如多项式核、高斯核、SigMoid核等等,在实际应用中,往往依赖鲜艳领域知识/交叉验证等方案才能选择有效的核函数。没有更多先验信息,则使用高斯核函数。对于高斯核函数,我还没有进入更深一层次的研究。

在现实任务中,往往很难确定合适的核函数是的训练集在特征空间中线性可分。样本数据本身线性不可分;不一定分类完全正确的超平面就是最好的。
在图中会发现几个离群点,如果不考虑这些离群点,有可能划分的超平面就不一样。
考虑这些离群点有时候会出现过拟合的现象,
缓解该问题的一个办法就是允许支持向量机在样本上出错,因此,引入软间隔的概念。


30.png

增加一个松弛因子ξi≥0


31.png

目标函数就变为:

32.png

C越小,对错误越能容忍。C越大,对我们的训练越能达到一个更好的结果。防止过拟合的话,C尽量小
带松弛因子的SVM拉格朗日函数
33.png

34.png

35.png

你可能感兴趣的:(机器学习笔记之—SVM)