一、什么是支持向量机
支持向量机(Support Vector Machine, SVM)是一类按 监督学习 (supervised learning)方式对数据进行 二元分类 的广义线性分类器(generalized linear classifier),其 决策边界 是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。
相关知识:
超平面:在数学上,超平面是一个线性决策边界,可以表示为 w⋅x+b=0,其中 w 是权重向量,x 是特征向量,b 是偏置项。对于二维平面来说,分隔超平面就是一条直线。对于三维及三维以上的数据来说,分隔数据的是个平面,称为超平面,也就是分类的决策边界。
支持向量: 支持向量是距离决策边界最近的样本点。这些样本点决定了最终的决策边界的具体位置。决策边界由那些靠近边界的点(支持向量)决定。在SVM中,只有支持向量会影响到超平面的方向和位置,其他的点不会对超平面的确定产生影响。
分类间隔:分类间隔是指从超平面到最近的样本点(支持向量)的距离。SVM 通过最大化这个间隔来找到最佳的决策边界。
硬间隔:要求所有样本点都被正确分类,适用于线性可分的数据。
软间隔:允许一些样本点被误分类,通过引入松弛变量和正则化参数来平衡分类准确性和间隔的大小,适用于线性不可分的数据。
二、支持向量机实例
1.数据准备
导入所需库
import n