核方法是一种可用于数据分类、回归和其他机器学习任务的算法。在机器学习中,核方法能力非常强大,它允许通过将非线性数据映射到高维空间来将线性分类器应用于非线性问题,而无需访问或理解该高维空间,并且核方法容易实现也非常高效。
核方法的发展
核方法是可以将数据隐式投影到高维空间中的算法。1964年首次引入核函数进行计算。几十年后,提出了一种神经网络,即“径向基函数(RBF)”,它基于非常流行的核函数用于多个应用领域。自1995年提出支持向量机(SVM)以来,核方法在机器学习中占据了基础地位。SVM在多个应用程序中的表现优于其他机器学习算法。
目前,核方法的研究正朝着几个方向发展。一个方向是开发具有更好运行、更优内存性能的高效算法。另一个方向是朝着对参数不太敏感并且更能够处理大规模数据集的更稳健的方向发展。研究人员正在探索可能比现有核函数更有效的新型核函数。
核方法和支持向量机
核方法用于支持向量机(SVM)来解决回归和分类问题。支持向量机使用内核技巧将线性不可分数据转换为线性可分数据,从而为可能的输出找到最佳边界。
支持向量机利用核方法将数据作为输入,转化为需要类型的处理数据。使用“核方法”是因为支持向量机中使用的一组数学函数提供了操作数据的窗口。核函数通常会转换训练数据集,以便可以将非线性决策面转换为更高维度空间中的线性方程。本质上,它返回标准特征维度中两点之间的内积。
核函数应用于每个数据实例,目的是将原始非线性观测值映射到高维空间。这些观察结果在高维空间中变得可分离。
核方法有哪些类型?
1.线性核
如果有两个名为x1和x2的内核,则线性内核可以定义为两个向量的点积:
K(x1,x2)=x1.x2
2.多项式核
我们可以用这个方程定义一个多项式核:
K(x1,x2)=(x1.x2+1)d
这里,x1和x2是向量,d表示多项式的次数。
3.高斯核
高斯核是径向基函数核的一个例子。它可以用这个等式表示:
k(xi,xj)=exp(-????||xi-xj||2)
给定的sigma在高斯核的性能中起着至关重要的作用。应该根据问题仔细调整,既不能高估也不能低估。
4.指数内核
指数核与高斯核密切相关。这些也是径向基核函数。这两种核函数的区别在于指数内核中移除了范数的平方。
指数函数的函数是:
k(x,y)=exp(-||x-y||22)
5.拉普拉斯核
拉普拉斯核不太容易发生变化。它等于指数内核。
拉普拉斯核的方程是:
k(x,y)=exp(-||x-y||)
6.双曲线或S形内核
在神经网络中使用双曲线或S形核。这些内核使用双极sigmoid激活函数。
双曲核可以用这个方程表示:
k(x,y)=tanh(xTy+c)
7.方差分析径向基核
这是另一种径向基核函数。方差分析径向基核在多维回归问题中效果很好。
Anova径向基核可以用以下等式表示:
k(x,y)=k=1nexp(-(xk-yk)2)d
机器学习中的核主成分分析
核主成分分析(Kernal Principal Component Analysis,KPCA)采用核函数将数据集投影到高维特征空间,在该空间中它是线性可分的。这与支持向量机的概念非常相似。数据被映射到更高维空间,但结果却在它的低维子空间上。本质上,使用核技巧不需要显式考虑更高维空间。核主成分分析是一种非线性主成分分析方法。正因为如此,它能够有效地提取非线性特征。
核方法的好处和限制
使用核方法有很多好处:如上所述,核方法可用于查找数据中不可线性分离的模式;核方法相对容易实现并且非常高效;此外,核方法已被证明对过度拟合非常稳健。
使用核方法还是有这些限制:将数据映射到高维空间的计算量可能很大;此外核函数的选择可能很困难,并且无法保证特定的核函数能够很好地处理给定的数据集。核方法可能对正则化参数和带宽参数等参数敏感。