我是靠谱客的博主 干净胡萝卜,最近开发中收集的这篇文章主要介绍关于核函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、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变成第一种情况。

 

 

 

 

 

最后

以上就是干净胡萝卜为你收集整理的关于核函数的全部内容,希望文章能够帮你解决关于核函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部