机器学习(7)-SVM与核函数

1.SVM介绍

是一个类似于逻辑回归的方法,用于对不同因素影响的某个结果的分类。
但逻辑回归主要采用的是sigmoid函数,SVM有自己常用的核函数:linear线性核、rbf径向基、poly多项式

比方说,要对一堆香蕉和黄瓜进行分类~~~
首先要明确的是,我们常见的香蕉为黄色,黄瓜为绿色(为什么不叫绿瓜??)。但是香蕉有绿色的,黄瓜也有黄色的???
机器学习(7)-SVM与核函数_第1张图片
好吧。这是我搜的,真的是巨丑!!!
我们采集香蕉和黄瓜的各项特征信息:气味,颜色,重量,长度………汇集成特征点,利用linear线性的分类器进行分类。如下图

机器学习(7)-SVM与核函数_第2张图片
红色的是香蕉,绿色的黄瓜,能够看出来,分类的依据是两类图中的两个点决定的,也就是两点连线的中垂线!
而且将这条线沿着垂直两点之间的连线移动,会发现,分类的结果并不会改变。这就是SVM的特点:是依赖于特征点当中的最特殊的点进行分类的。
这一部分的python实现与逻辑回归非常相似,源码与数据集可参考逻辑回归介绍

2.kernel核函数

  1. linear
    简单的线性核函数,上文提到的香蕉和黄瓜的分类就是线性核函数的应用
    主要应用于线性可分的情况
  2. rbf
    高斯核函数,可以实现高维投射
    机器学习(7)-SVM与核函数_第3张图片
    就好比这样的分类特征点,用线性的不管怎么分,结果都是很不理想的,这时候用rbf从图中的二维空间投射到三维的。(这里在投射的时候,经过了一系列的公式上的转换,不在此赘述)
    经过投射之后呢,就变成了下面的这个样子
    机器学习(7)-SVM与核函数_第4张图片
    看上去像是被一个超平面分割了,其实应该把这些点看成一个圆锥的大体样子,两类之间的分割变成了一个曲面,这个曲面就是rbf拟合的结果了。
  3. poly
    多项式核函数也是可以实现低维到高维的映射,采用的频率并不是很高

前一个文章:逻辑回归 中提到的案例的实现,逻辑回归的结果是:
机器学习(7)-SVM与核函数_第5张图片
用rbf核函数重新拟合之后结果更加的准确,误差也更加的小了
上图:
机器学习(7)-SVM与核函数_第6张图片

from sklearn.svm import SVC
classifier = SVC(kernel = 'rbf', random_state = 0)
classifier.fit(X_train, y_train)

分类器拟合的过程与逻辑回归极其相似,源码与数据集请去逻辑回归地方下载(点我去下载),只不过是在23~24行换成上面的代码就可以了

没有积分的也可以免费向我索要哈,评论区留下邮箱地址。我看见的时候就打包发送喽~

你可能感兴趣的:(机器学习(派神),机器学习,python,SVM,数据分析)