支持向量机
基本概念
支持向量
目的
- 最优分类边界
原理
- 寻找超平面
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) # 概率强度,正则强度,防止过拟合