非线性支持向量机

首先来看看核函数的概念:如果我们把SVM看作是一个导弹,如果这个导弹运载核弹的话那么它就可以取得很大的威力,而核函数就类似于这样可以取得很大的威力。

我们知道在线性可分支持向量机中它主要是构造了这样一个目标函数:

                                                      min(a)\frac{1}{2}\sum_{i}\sum_{j}a_{i}a_{j}y_{i}y_{j}(\varphi (x_{i})\varphi (x_{j}))-\sum a_{i}

                                                     s.t.\sum_{i=1}^{n}a_{i}y_{i}=0                   a_{i}\geq 0,             i=1,2......,n

我们在求解这优化问题的时候真的需要给定\varphi (x)等于几吗?这是不需要的。我们只需要\varphi (x_{i})这样一个向量,和\varphi (x_{j})这么一个向量它们的点乘等于几就可以了,我们把这个点乘就看作是核函数。当然这是有要求的,我们这里有n个样本,k(x1,x1),k(x1,x2)……k(x1,xn)……k(xn,xn)这样一个n阶方阵我们要求它是半正定的。我们现在忽略这样一个要求只谈核函数本身,那我们就可以忽略\varphi (x)本身,只关系核函数,因为我们往往不知道\varphi (x)是什么样的。

为什么高斯核函数好呢?因为它可以看作是将原始数据映射到了无穷维,举个例子来说,比如我们要筛选豆子,它有饱满和不饱满的区别,那怎么样把它们分开呢?我们把水倒进去饱满的就沉底了,不饱满的就飘起来了,就相当于在高维空间中把豆子分开了。

猜你喜欢

转载自blog.csdn.net/weixin_38241876/article/details/84886580