SVM的核函数

总结一下SVM的核函数。

problem
下列不是SVM核函数的是:
A 多项式核函数
B logistic核函数
C 径向基核函数
D Sigmoid核函数

正确答案是:B

analysis
支持向量机是建立在统计学习理论基础之上的新一代机器学习算法,支持向量机的优势主要体现在解决线性不可分问题,它通过引入核函数,巧妙地解决了在高维空间中的内积运算,从而很好地解决了非线性分类问题。

构造出一个具有良好性能的SVM,核函数的选择是关键.核函数的选择包括两部分工作:一是核函数类型的选择,二是确定核函数类型后相关参数的选择.因此如何根据具体的数据选择恰当的核函数是SVM应用领域遇到的一个重大难题,也成为科研工作者所关注的焦点,即便如此,却依然没有得到具体的理论或方法来指导核函数的选取.

经常使用的核函数

核函数的定义并不困难,根据泛函的有关理论,只要一种函数 K ( x i , x j ) 满足Mercer条件,它就对应某一变换空间的内积.对于判断哪些函数是核函数到目前为止也取得了重要的突破,得到Mercer定理和以下常用的核函数类型:

线性核函数
线性核函数是最简单的核函数,是径向基核函数的一个特例,公式为:

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

主要用于线性可分的情形,对应线性可分支持向量机与线性支持向量机。它在原始空间中寻找最优线性分类器,具有参数少速度快的优势。

  1. 多项式核函数

多项式核适合于正交归一化(向量正交且模为1)数据,公式为:

在这里插入图片描述

多项式核函数属于全局核函数,允许相距很远的数据点对核函数的值有影响。参数d越大,映射的维度越高,计算量就会越大。当d过大时,由于学习复杂性也会过高,易出现“过拟合现象。

  1. 径向基核函数( Radial basis function)&高斯核函数

径向基核函数属于局部核函数,当数据点距离中心点变远时,取值会变小。公式为:

在这里插入图片描述

高斯核函数可以看作是径向基核函数的另一种形式:

在这里插入图片描述

高斯径向基核对数据中存在的噪声有着较好的抗干扰能力,由于其很强的局部性,其参数决定了函数作用范围,随着参数σ的增大而减弱。

  1. Sigmoid核函数

Sigmoid核函数来源于神经网络,被广泛用于深度学习和机器学习中。公式为:

在这里插入图片描述

采用Sigmoid函数作为核函数时,支持向量机实现的就是一种多层感知器神经网络。支持向量机的理论基础(凸二次规划)决定了它最终求得的为全局最优值而不是局部最优值,也保证了它对未知样本的良好泛化能力。

5 字符串核函数

核函数不仅可以定义在欧氏空间上,还可以定义在离散数据的集合上。字符串核函数是定义在字符串集合上的核函数,可以直观地理解为度量一对字符串的相似度,在文本分类、信息检索等方面都有应用。

参考答案里面还给出了傅立叶核和样条核,我查了一下,这两个核函数好像很少见,资料很少,我这里只列出其公式,

6 傅立叶核:

K ( x , x i ) = 1 − q 2 2 ( 1 − 2 q cos ( x − x i ) + q 2 )

7 样条核

K ( x , x i ) = B 2 n + 1 ( x − x i )

核函数的选择

在选取核函数解决实际问题时,通常采用的方法有:

一是利用专家的先验知识预先选定核函数;

二是采用Cross-Validation方法,即在进行核函数选取时,分别试用不同的核函数,归纳误差最小的核函数就是最好的核函数.如针对傅立叶核、RBF核,结合信号处理问题中的函数回归问题,通过仿真实验,对比分析了在相同数据条件下,采用傅立叶核的SVM要比采用RBF核的SVM误差小很多.

三是采用由Smits等人提出的混合核函数方法,该方法较之前两者是目前选取核函数的主流方法,也是关于如何构造核函数的又一开创性的工作.将不同的核函数结合起来后会有更好的特性,这是混合核函数方法的基本思想

在吴恩达的课上,也曾经给出过一系列的选择核函数的方法:
如果特征的数量大到和样本数量差不多,则选用LR或者线性核的SVM;
如果特征的数量小,样本的数量正常,则选用SVM+高斯核函数;
如果特征的数量小,而样本的数量很大,则需要手工添加一些特征从而变成第一种情况。
参考文献
[1].理解支持向量机(二)核函数.http://blog.csdn.net/shijing_0214/article/details/51000845

[2].牛客网. https://www.nowcoder.com/questionTerminal/732300dcca8d49bca7183c5dc28d3236

[3].svm常用核函数.http://blog.csdn.net/batuwuhanpei/article/details/52354822
————————————————
版权声明:本文为CSDN博主「农民小飞侠」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/w5688414/article/details/79343542

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Matlab中,支持向量机SVM)的核函数有多种选择。其中最常用的核函数有线性核函数、多项式核函数、高斯径向基核函数(RBF核函数)和Sigmoid核函数。以下是这些核函数的定义和用法说明: 1. 线性核函数: 在Matlab中,线性核函数可以通过设置SVM模型的'KernelFunction'参数为'linear'来使用。线性核函数的表达式为K(x, y) = x * y',其中x和y表示输入样本。 2. 多项式核函数: 在Matlab中,多项式核函数可以通过设置SVM模型的'KernelFunction'参数为'polynomial'来使用。多项式核函数的表达式为K(x, y) = (coef0 + x * y')^d,其中coef0表示偏置系数,d表示多项式的阶数。 3. 高斯径向基核函数(RBF核函数): 在Matlab中,高斯径向基核函数可以通过设置SVM模型的'KernelFunction'参数为'rbf'来使用。高斯径向基核函数的表达式为K(x, y) = exp(-gamma * ||x - y||^2),其中gamma表示核函数的宽度。 4. Sigmoid核函数: 在Matlab中,Sigmoid核函数可以通过设置SVM模型的'KernelFunction'参数为'sigmoid'来使用。Sigmoid核函数的表达式为K(x, y) = tanh(beta*x*y' + coef0),其中beta和coef0为参数。 以上是Matlab中常用的SVM核函数的使用方法和表达式。根据具体的问题和数据特点,选择合适的核函数和参数可以影响SVM分类的性能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SVM分类核函数及参数选择比较.pdf](https://blog.csdn.net/weixin_30224231/article/details/116146626)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值