「15」支持向量机Python实战篇——蓝瘦香菇到底有没有毒?

上一篇文章:「14」支持向量机——我话说完,谁支持?谁反对?,我们通过SVM的数学原理讲解了这个最常见的机器学习算法。这一篇我们用一个非常简单的python实战项目来练习一下SVM并加深理解。

 

复习

SVM是一种二分类模型,处理的数据可以分为三类:

  1. 线性可分,通过硬间隔最大化,学习线性分类器
  2. 近似线性可分,通过软间隔最大化,学习线性分类器
  3. 线性不可分,通过核函数以及软间隔最大化,学习非线性分类器

线性分类器,在平面上对应直线;非线性分类器,在平面上对应曲线。

硬间隔对应于线性可分数据集,可以将所有样本正确分类,也正因为如此,受噪声样本影响很大,不推荐。

软间隔对应于通常情况下的数据集(近似线性可分或线性不可分),允许一些超平面附近的样本被错误分类,从而提升了泛化性能。

如下图:

「15」支持向量机Python实战篇——蓝瘦香菇到底有没有毒?_第1张图片

 

实线是由硬间隔最大化得到的,预测能力显然不及由软间隔最大化得到的虚线。

对于线性不可分的数据集,如下图:

你可能感兴趣的:(算法,python,机器学习,人工智能,深度学习)