SVM核函数选择

SVM支持向量机,一般用于二分类模型,支持线性可分和非线性划分。SVM中用到的核函数有线性核’linear’、多项式核函数pkf以及高斯核函数rbf。

当训练数据线性可分时,一般用线性核函数,直接实现可分;

当训练数据不可分时,需要使用核技巧,将训练数据映射到另一个高维空间,使再高维空间中,数据可线性划分,

但需要注意的是,若样本n和特征m很大时,且特征m>>n时,需要用线性核函数,因为此时考虑高斯核函数的映射后空间维数更高,更复杂,也容易过拟合,此时使用高斯核函数的弊大于利,选择使用线性核会更好;

样本n一般大小,特征m较小,此时进行高斯核函数映射后,不仅能够实现将原训练数据再高维空间中实现线性划分,而且计算方面不会有很大的消耗,因此利大于弊,适合用高斯核函数;

样本n很大,但特征m较小,同样难以避免计算复杂的问题,因此会更多考虑线性核。

在吴恩达的课上,也曾经给出过一系列的选择核函数的方法:

如果特征的数量大到和样本数量差不多,则选用LR或者线性核的SVM;
如果特征的数量小,样本的数量正常,则选用SVM+高斯核函数;
如果特征的数量小,而样本的数量很大,则需要手工添加一些特征从而变成第一种情况。

SVM分为:

线性可分支持向量机。当训练数据线性可分时,通过硬间隔最大化,学习到的一个线性分类器。
线性支持向量机。当训练数据近似线性可分时,通过软间隔最大化,学习到的一个线性分类器。
非线性支持向量机。当训练数据线性不可分,通过使用核技巧及软间隔最大化,学习非线性支持向量机。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在sklearn中,SVM模型提供了多种函数选择。常用的函数有以下几种: 1. 线性函数(linear):线性函数是最简单的一种函数,它在原始特征空间中实现线性分类器,适用于特征空间是线性可分的情况。 2. 多项式函数(poly):多项式函数通过将样本映射到高维空间来实现非线性分类。它可以定义为在原始特征空间中进行多项式函数运算后的内积。 3. RBF函数(rbf):径向基函数(RBF)函数是一种常用的非线性函数。它通过将样本映射到无穷维的特征空间来实现非线性分类。RBF函数在实际应用中被广泛使用,因为它具有很好的表示能力。 4. Sigmoid函数(sigmoid):Sigmoid函数将样本映射到高维空间,并通过Sigmoid函数来实现非线性分类。它主要用于二分类问题。 在使用sklearn中的SVM模型时,可以通过设置参数`kernel`来指定所需的函数。默认情况下,SVM模型的函数为RBF函数。例如,可以使用以下代码创建一个使用多项式函数SVM模型: ```python from sklearn.svm import SVC # 创建SVM模型,使用多项式函数 svm_model = SVC(kernel='poly') ``` 需要根据具体的数据集和问题选择合适的函数。在实际应用中,可以通过尝试不同的函数并比较它们在训练集和测试集上的性能来选择最佳的函数。在选择函数时,需要考虑数据集的线性可分性、特征空间的维度以及模型的复杂度等因素。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值