5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

我们在了解核函数前,我们先将线性向量机公式变形

5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

具体的过程可以自行查阅下资料,我们这里还是主要以介绍核函数为主

变形之后的式子:

5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

看我们红色方框框出来的,因为这个式子是由一个线性的svm变形过来的,如果我们想对这个式子添加多项式的话。

我们以前的思路将我们红框进行变形:5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

现在,我们希望能设计出一个函数,可以直接计算出我们的5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题),而不用先将X(i),X(j)变形,然后再做点乘即:5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

代入上面式子中就是

5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

K这个函数主要就是想省略掉对x进行多项式的变形,变形后再做乘法这一步。

5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

我们看下,如果我们对我们的 x做一个平方的多项式转换

转换出来结果就是x' ,y同理。具体转换结果可以对照多项式转换代入进去看下是否正确哦。

所以我们将 这个

5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

公式中的K(x,y)称为我们的核函数,c 和d就是我们的两个超参数.

当然这个是我们的其中一个多项式核函数。

核函数有很多,下面我们看下另一个核函数,高斯(RBF)核函数(也叫径向基函数)

5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

其中的  5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题) 也是我们的一个超参数

理解我们的高斯核函数之前,我们先回想下我们的多项式核函数的过程:

多项式函数就是将我们的两个样本点,首先先变形添加多项式项(也就是升维的过程),然后再将变形后的多项式项进行点乘得到一个多项式核函数。

而对于我们的高斯核函数,也应该具有这样的特征。

而对于高斯核函数的本质,用一句话就是 将每一个样本点映射到一个无穷维的特征空间

 

这个要怎么理解呢?

我们再先来看看我们多项式特征原理:

多项式特征原理是将我们一个线性不可分的数据通过升维变得线性可分

比如我们的 x 通过多项式变形之后变成 x^2 +2x +1,从一维变成2维

画出图形

5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)————>5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

很明显,我们变形后的数据线性可分了

而我们的高斯核函数是

5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

在我们的一维空间中,找出2个已知的地标点,即l1,l25.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

我们让我们高斯核函数的y取固定的值,我们的X 经过变形由一维数据变成了2维数据,

 

我们使用代码去是实现这个高斯函数,看看变形后的图像是什么样子的

5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

很明显,下面的数据线性可分了

而我们的高斯核函数就是让我们的每个样本数据都作为一个地标点,即如果我们的数据是一个m*n(m个样本,每个样本有n个特征)

那么我们的数据就会由m*n的数据映射成一个m*m的数据,如果m无穷大的时候,那么我们的数据也是无穷维了。回到上面的定义,、

5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

就可以理解了

 

 

我们理解了高斯核函数,然后再看下高斯核函数刚才提到的

超参数ganma(5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

先看看我们的高斯函数(正态分布)

5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

 

我们将我们的高斯函数变形,超参数gamma就相当于 5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题) ,5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)代表平均数,5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)代表标准差。 .所以我们可以得知图中,gamma和高斯分布的关系

 

我们来使用 scikit-learn看下不同的gamma的影响

5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

很显然,当我们的gamma越大,svm的拟合程度就越高,反之也成立。图中我们的gamma取100,显然已经过拟合了、

 

最后,我们看下SVM思想如何解决回归问题,这里就提供下思想

5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题)

利用容错区间,我们希望区间内的数据点越多越好,就说明我们中间的实线拟合的数据越多,也就是最后我们的损失函数越小。

这个和解决分类问题刚好相反。这里引入容错区间距离的超参数 5.1-机器学习——SVM支撑向量机原理之(核函数,RBF,SVM解决回归问题) ,