支持向量机
-
是一种二分类模型,解决数据分类问题,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解
基本概念
支持向量
目的
原理
SVM最优边界要求
- 正确性:对大部分样本都可以正确划分类别;
- 安全性:支持向量,即离分类边界最近的样本之间的距离最远;
- 公平性:支持向量与分类边界的距离相等;
- 简单性:采用线性方程(直线、平面)表示分类边界,也称分割超平面。
线性可分与线性不可分
-
线性可分 -
线性不可分
- 可以通过升维,将低纬度特征空间映射为高纬度特征空间,实现线性可分
核函数:升维
import sklearn.svm as svm
线性核函数
(Linear)表示不通过核函数进行升维,仅在原始空间寻求线性分类边界,主要用于线性可分问题
model = svm.SVC(kernel="linear")
多项式核函数
(Polynomial Kernel)用增加高次项特征的方法做升维变换,当多项式阶数高时复杂度会很高
model = svm.SVC(kernel="poly", degree=3)
径向基核函数
model = svm.SVC(kernel="rbf",
gamma=0.01,
C=200)
总结
-
支持向量机是二分类模型 -
支持向量机通过寻找最优线性模型作为分类边界 -
边界要求:正确性、公平性、安全性、简单性 -
可以通过核函数将线性不可分转换为线性可分问题,核函数包括:线性核函数、多项式核函数、径向基核函数 -
支持向量机适合少量样本的分类
|