介绍一下SVM,遇到线性不可分怎么办,核函数有什么特点

解题思路

从上面的介绍中,我们知道SVM显然是线性分类器,但数据如果根本就线性不可分怎么办?

数据在原始空间(称为输入空间)线性不可分,但是映射到高维空间(称为特征空间)后很可能就线性可分了。

但是映射到高维空间同时带来一个问题:在高维空间上求解一个带约束的优化问题显然比在低维空间上计算量要大得多,这就是所谓的“维数灾难”。

于是就引入了“核函数”,核函数虽然也是把特征进行从低维到高维的转换,但是它事先在低维上进行计算,而将实质上的分类效果表现在了高维上,即避免了直接在高维空间中的复杂计算。

常用的核函数包括:

1.线性核函数(Linear Kernel)表达式为:

2.多项式核函数(Polynomial Kernel)是线性不可分SVM常用的核函数之一,表达式为:

,其中,各种参数都需要自己调参定义,调参比较麻烦

3.高斯核函数(Gaussian Kernel),在SVM中也称为径向基核函数(Radial Basis Function,RBF),它是libsvm默认的核函数,也是scikit-learn默认的核函数。表达式为:

, 其中,γ大于0,需要自己调参定义

Sigmoid核函数(Sigmoid Kernel)也是线性不可分SVM常用的核函数之一,表达式为:K(x,z)=tanh(γx∙z+r), 其中γ,r也都需要自己调参定义

代码示例

 线性不可分的例子 样本生成from sklearn.datasets import make_circles X, y = make_circles(100, factor=.1, noise=.1) clf = SVC(kernel='linear').fit(X, y) plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap='autumn') plot_svc_decision_function(clf, plot_support=False)

SVM clf = SVC(kernel='rbf', C=1E6) clf.fit(X, y) plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap='autumn') plot_svc_decision_function(clf) plt.scatter(clf.support_vectors_[:, 0], clf.support_vectors_[:, 1],       s=300, lw=1, facecolors='none')

收起解题思路

阿里巴巴腾讯百度小米集团网易京东美团华为滴滴字节跳动paypal优必选薪人薪事TCL虎牙直播快手哔哩哔哩Shopee度小满一加手机北京国双科技有限公司百姓网博智林机器人同盾科技泛微网络万兴科技兴业数金易立德

上一题

下一题

  • 讨论区

表情

正在上传…重新上传取消

狗威222

2022-04-15 17:41 1楼

映射到更高维的空间

2 0

正在上传…重新上传取消

牛客457209908号

2022-04-26 20:16 2楼

核函数的作用是隐形地将样本从原始特征空间映射到更高维的空间, 并解决原始特征空间的线性不可分问题。

1 0

正在上传…重新上传取消

牛客197542472号

2022-06-07 20:50 3楼

此时核函数特点是将低维数据映射到更高维的线性可分空间中,但是这往往会造成维数灾难。所以采取的一种办法是在低维进行计算,将计算结果即特征映射到高维空间。

2 0

正在上传…重新上传取消

Jon153

2022-06-14 16:26 4楼

线性不可分,那就通过核函数映射到高维可分;核函数特点为低维映射高维;

0 0

正在上传…重新上传取消

黑VS白-晴岚

2022-07-30 20:48 5楼

遇到线性不可分,需要把他映射到高维的空间很有可能线性可分。 但是可能会导致维数灾难,因此要在低维度计算,利用核函数,把结果映射到高维空间 核函数主要有以下几个: 线性核函数:$K(x_i,x_j)=x_i^{T}x_j$ 多项式核函数:$K(x_i,x_j)=(x_i^{T}x_j)^d,d \ge 1$ 高斯核函数:$K(x_i,x_j)=exp(-\frac{||x_i-x_j||^2}{2t^2})$,其中 $t$ 为高斯核的带宽。需要调参 sigmoid核函数:$K(x_i,x_j)=tanh(yx*z+r)$ 需要调参 核函数的选择需要依赖经验

0 0

正在上传…重新上传取消

眺&望

2022-08-19 16:39 北京 6楼

svm:svm是一个二分类模型,基本模型是定义在特征空间上能够正确划分训练数据集,并且几何间隔最大的线性分类器,支持核方法 线性不可分:加入核函数,将特征映射到高维空间使其线性可分。 核函数的特点: 1.核函数能够解决维度灾难问题,输入空间的维度n对核函数不影响 2.核函数无需知道非线性变换的形式和参数 3.核函数能够将原有的特征映射到不同的高维空间,解决原空间线性不可分问题 4.核函数能够和不同算法结合 常用的核函数: 1.高斯核函数 2.线性核函数 3.多项式核函数 4.sigmoid核函数

4 0

正在上传…重新上传取消

彩虹小牛为什么和我无缘

2022-08-20 16:41 湖北 7楼

线性不可分加入核函数将特征映射到更高维的空间,在低微进行运算,在高纬表现出来效果,可以避免维度爆炸。一般使用高斯核,参数越小超平面越复杂,模型越细致,容易过拟合,参数越大,结构复杂度越低,容易欠拟合,因此需要寻找合适的参数

0 0

正在上传…重新上传取消

牛客651180525号

2022-08-21 21:45 河南 8楼

加入松弛变量和惩罚因子,找到相对“最好”超平面,这里的“最好”可以理解为尽可能地将数据正确分类; 使用核函数,将低维的数据映射到更高维的空间,使得在高维空间中数据是线性可分的,那么在高维空间使用线性分类模型

0 0

正在上传…重新上传取消

牛客688756620号

2022-09-04 19:52 江西 9楼

利用和函数将低维特征映射到高维空间,使得数据在高维特征空间内线性可分。映射过程中,低维数据到高维数据可能导致维数灾难,导致计算量增加,但核函数采取了在低维推理计算,然后在将特征进行映射的方式,使得输入空间维数n对计算不影响。1.高斯核函数 2.线性核函数 3.多项式核函数 4.sigmoid核函数

0 0

正在上传…重新上传取消

牛客516949478号

2022-09-29 20:12 上海 10楼

使用核函数进行映射,核函数具有对称性、自反性

0 0

正在上传…重新上传取消

牛客94696884号

2022-10-01 20:23 陕西 11楼

数据在原始空间上,即输入空间,线性不可分,但是映射到高维空间,即特征空间后很可能就线性可分了。但是映射到一个高维空间同时带来一个问题:在高维空间上求解一个带约束的优化问题显然比在低维空间上计算量要大得多。这时候就需要一个核函数,隐形地将样本从原始特征空间映射到更高维的空间,并解决原始特征问题的线性不可分问题。核函数虽然将特征从低维到高维的转换,但是它事先从低维开始计算,而将实质上的分类效果表现在了高维上,即避免了直接在高维空间中的复杂计算

0 0

正在上传…重新上传取消

牛客998334672号

2022-10-11 13:08 江苏 12楼

1、SVM是显然是线性可分的函数,但是有时候数据不一定是可分的 2、但是数据在原始的维度上面或许不可以分,但是将其映射到高维空间或许就可以区分了 3、但是,映射高维空间会同时给带来数据上处理的复杂度,也就是维数灾难 4、于是就引入了 核函数 这个概念,通过在原始维度上先进行一定的处理,减少在高纬空间的计算处理复杂度 5、常用的核函数有 线性核函数 polynomial kernel, 高斯kernel

0 0

正在上传…重新上传取消

牛客匿名用户202212

2022-12-11 18:05 江苏 13楼

用一个核函数将数据转换到线性可分的高维空间

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值