svm核函数

65 篇文章 5 订阅
59 篇文章 6 订阅

svm的分类

根据数据可分的情况,svm分为3种:
- 线性可分支持向量机(没有噪音和异常数据,分隔超平面可以在训练数据集做到100%准确)
- 线性支持向量机(有噪音和异常数据,分隔超平面无法在训练数据集做到100%准确)
- 非线性支持向量机(数据集不是线性可分的,必须借助升维)

上面三种svm由简到繁,其实所有的svm都可以可以统一写为带核函数的推理形式。前两种情况下可以选择不用核函数(也叫线性核函数),最后一种情况下可以选择高斯核、多项式核等核函数

常用的核函数

最终,所有的数据分布情况都可以使用带核函数的形式来做前向预测:
image

  • 线性核:没有核函数,也就相当于线性核函数。
  • 多项式核函数
  • 高斯核函数

在sklearn里面,这三个核函数需要不同的超参。
共同需要的超参是C,惩罚系数

clf_linear = svm.SVC(C=1.0, kernel='linear')
clf_poly = svm.SVC(C=1.0, kernel='poly', degree=3)
clf_rbf = svm.SVC(C=1.0, kernel='rbf', gamma=0.5)

degree :多项式poly函数的维度,默认是3,选择其他核函数时会被忽略。

gamma : ‘rbf’,‘poly’ 和‘sigmoid’的核函数参数。默认是’auto’,则会选择1/n_features

coef0 :核函数的常数项,默认为0。对于‘poly’和 ‘sigmoid’有用。

怎么选择核函数

以下内容整理自吴恩达的视频课程。

当特征很多,样例很少的时候(n很大,m很小),使用核函数容易过拟合,此时经常选择线性核函数。

在使用核函数之前,最好将特征缩放到相同的范围内。否则训练的效果会很差。

n代表特征数量,m代表样本数量
如果n相对m大很多,建议使用逻辑回归或者svm线性核。否则容易过拟合

如果n很小,m比它大,但是大的不是特别多(1000比10000这种),建议使用高斯核
如果m相对n大很多,建议创造一些新特征,然后使用逻辑回归或者使用线性核svm。因为此时高斯核运算会很慢。

另外,神经网络可以在大部分场景下都工作的很好,但是训练起来会很慢

在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、付费专栏及课程。

余额充值