概述
一、SVM为什么要引入核函数
事实上,大部分时候数据并不是线性可分的,这个时候满足这样条件的超平面就根本不存在。我们知道SVM可以处理线性可分的情况,那么对于非线性的数据SVM咋处理呢。SVM的处理方法是选择一个核函数K(x1,x2),通过将数据映射到高维空间,来解决在原始空间中线性不可分的问题。
二、核函数的原理
核函数是将数据映射到更高维的空间后处理,但不用做这种显式映射,而是先对两个样本向量做内积,然后用核函数映射。
这等价于先进行映射,然后再做内积。
三、核函数在SVM中如何使用
四、有哪些核函数
1)线性核函数
2)多项式核函数
3)RBF核函数(高斯核函数)
4)sigmoid核函数
介绍下核函数相对应的参数:
1)对于线性核函数,没有专门需要设置的参数;
2)对于多项式核函数,有三个参数,d用来设置多项式核函数的最高次项次数,默认为3. gamma,默认值是1/k(k是类别数). r用来设置核函数中的coef,默认值是0。
3)对于RBF核函数,有一个参数,gamma,默认值是1/k(k是类别数)。
4)对于sigmoid函数,有两个参数,-g用来设置核函数中的gamma参数设置,也就是公式中的第一个r(gamma),默认值是1/k(k是类别数)。-r用来设置核函数中的coef0,也就是公式中的第二个r,默认值是0。
五、SVM的核函数如何选取?
一般用线性(Linear)核和高斯(RBF)核
需要注意的是,需要读数据归一化处理
一般RBF的效果不会差于Linear,但是时间上RBF会耗费更多
下面是吴恩达的见解:
1.如果feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM
2.如果feature的数量很小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel
3.如果feature的数量比较小,而样本数量很多,需要手动添加一些feature变成第一种情况。
最后
以上就是干净胡萝卜为你收集整理的关于核函数的全部内容,希望文章能够帮你解决关于核函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复