SVM算法补充

一、核函数

在现实当中,大部分时候数据并不是线性可分的,这个时候满足这样条件的超平面就根本不存在。

核函数特点及优点:
不需要每次都具体计算出原始样本点映射的新的无穷维度的样本点,直接使用映射后的新的样本点的点乘计算公式即可;

1.减少计算量;

2.减少存储空间;

3.一般将原始样本变形,通常是将低维的样本数据变为高维数据,存储高维数据花费较多的存储空间;使用核函数,不用考虑原来样本改变后的样子,也不用存储变化后的结果,只需要直接使用变化的结果进行运算并返回运算结果即可;

4.核函数的方法和思路不是 SVM 算法特有,只要可以减少计算量和存储空间,都可以设计核函数方便运算;

5.对于比较传统的常用的机器学习算法,核函数这种技巧更多的在 SVM 算法中使用。

多项式核函数

from sklearn.svm import SVC
svc = SVC(kernel = 'ploy')

RBF核函数

高斯核函数也叫RBF核(Radia Basis Function Kernel),核函数依赖升维使得原本线性不可分的数据变得线性可分。高斯核本质是在衡量样本和样本之间的“相似度”,在一个刻画“相似度”的空间中,让同类样本更好的聚在一起,进而线性可分。

在这里插入图片描述
高斯核函数的思想:
业务的目的是样本分类,采用的方法:按一定规律统一改变样本的特征数据得到新的样本,新的样本按新的特征数据能更好的分类,由于新的样本的特征数据与原始样本的特征数据呈一定规律的对应关系,因此根据新的样本的分布及分类情况,得出原始样本的分类情况。
应该是试验反馈,将样本的特征数据按一定规律统一改变后,同类样本更好的凝聚在了一起;高斯核和多项式核干的事情截然不同的,如果对于样本数量少,特征多的数据集,高斯核相当于对样本降维;高斯核的任务:找到更有利分类任务的新的空间。

假如有一组数据,是一维的,它是线性不可分的,我们无法画一条直线将它们分开,如下图:
在这里插入图片描述
当我们对该数据进行升维处理后,得到数据如下:

在这里插入图片描述
现在,数据就变得线性可分了,我们可以画一条直线将它们分开:

在这里插入图片描述
高斯核本质也是做这样的事。
我们可以模拟一下:

import numpy as np 
import matplotlib.pyplot as plt 
x = np.arange(-4,5,1)#生成测试数据 
y = np.array((x >= -2 ) & (x <= 2),dtype='int') 
plt.scatter
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值