svm——核函数

SVM算法的原理就是找到一个分割超平面,它能把数据正确的分类,并且间距最大!
但并不总是线性可分,我们可以将样本通过一个映射函数把它从原始空间投射到一个更高维的特征空间,使得样本在这特征空间线性可分。

核函数的定义 :
设x,z∈X,X属于R(n)空间,非线性函数Φ实现输入间X到特征空间F的映射,其中F属于R(m),n<

                                         K(x,z)=<Φ(x),Φ(z)>                

其中:<, >为内积,Φ(x)为映射函数。(内积:物理含义是衡量两个向量的相似性。典型地,当两个向量相互垂直是,即完全线性无关)
显然,若已知合适的映射函数,我们是可以求出核函数的,但是现实中,我们通常不知道映射函数的形式,你可能还会想,合适的核函数一定存在吗?什么样的函数可以作为核函数。
svm——核函数_第1张图片
定理6.1表明,只要一个对称函数所对应的核矩阵半正定,它就能作为核函数使用。事实上,对于一个半正定核矩阵,总能找到一个与之对应的映射。这个时候你肯定会质疑?就算每个核函数都能找到一个与之对应的映射,但是它就一定能够映射到我们需要的那个维度吗?这真是一个好问题,其实核函数的使用,不一定能够准确的划分,只能说使用哪个核函数,能够逼近真实的划分效果。因此特征空间的好坏对支持向量机的性能至关重要。在不知道特征映射的形式时,我们并不知道什么样的核函数是合适的,而核函数也仅是隐式定义了这个特征空间。于是,核函数的选择成为了支持向量机的最大变数。若核函数选择不合适,则意味着映射到一个不合适的特征空间,很可能导致性能不佳。

为什么要使用核函数
1.当我们在解决线性不可分的问题时,我们需要通过一个映射函数,把样本值映射到更高维的空间或者无穷维。在特征空间中,我们对线性可分的新样本使用前面提到过的求解线性可分的情况下的分类问题的方法时,需要计算样本内积,但是因为样本维数很高,容易造成“维数灾难”,所以这里我们就引入了核函数,把高维向量的内积转变成了求低维向量的内积问题。
2.内积可以衡量相似度!分类问题就是一个找相似样本的过程,你跟我相似,你就属于我这个类,所以在求出的目标函数中会出现内积,可以用这个原理来理解。内积是可以衡量两个向量的相似度的,例如,我们常常可以通过两个相量的距离和夹角来表示相似度。

仍然比较混乱,后期补充(由对偶问题引出核函数),修改。

参考1
参考2

你可能感兴趣的:(machine,learning,svm,核函数)