3.2 支持向量机SVM

来源:互联网 发布:淘宝商标注册入口 编辑:程序博客网 时间:2024/06/02 06:26

引言

粗略的说,支持向量机就是寻找分割线,或者超平面

1. SupportVectorMachines

1.1. 导入代码:

from sklearn.svm import SVCclf = SVC(kernel="linear")

1.2 线性分离

  • 输入特征x,y,使用支持向量机分离

1.3 非线性分离

  • 从输入特征x,y,到组合新特征,方便分离;比如变为x2+y2组合成的新的特征,从而根据到原点的距离不一进行分离。
  • 核技巧,kernel trick,将输入的低维,x,y,映射到x1x2x3x4x5,再用支持向量机分离,最后再把解返回到原来的平面内

1.4 svc参数

  • kernel,默认’rbf’,包括linear,rbf,poly等
  • gamma,核函数自带参数。越小训练时间越短,准确率稍稍降低
  • C,参数C越大,得到更多正确的训练点,边界就更加复杂,弯弯曲曲,也容易过拟合
  • 详细可以参考:SVM参数详解

1.5 优缺点

明显分界下,优势明显。当数据量大时候,训练时间将是立方数;噪音过多下,也不好

2.支持向量机

2.1 超平面

可以参考:1. SVM开篇提到的超平面概念如何理解?
2. 超平面是什么?——理解超平面(SVM开篇之超平面详解)

原创粉丝点击