引言
粗略的说,支持向量机就是寻找分割线,或者超平面
1. SupportVectorMachines
1.1. 导入代码:
from sklearn.svm import SVC
clf = 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开篇之超平面详解)