一、线性支持向量机SVM
1.原理
支持向量的垂直平分线。此线段称为超平面,与之平行的两条线段称为正向超平面和负向超平面。
应用:用于区分物品(通过极端个体实现,结果由极端个体决定)
2.Python实现
①前置准备
②创建分类器
from sklearn.svm import SVC
classifer = SVC(kernel = 'Liner',radom_state = 0) --创建分类器
classifer.fit(x_train,y_train) --拟合
③预测测试集
y_pred = classifier.predict(x_test) --预测
④展示图像
3.提高性能
可以将分类器的内核替换为高斯内核来提高其效率
二、Kernel SVM
1.高维投射
将低维度中线性不可分的数据投射到高维中使其线性可分,再将其投射回原来的维度。
示例1:一维投射
示例2:二维投射
再反投射
2.核函数技巧
①高斯镜像机核函数Gaussian RBF Kernel
点离基准点越近,值越大;离基准点越远,值越小
σ值控制高度,可以间接控制分类区域的半径
若分类区域不趋近与圆,可以采用多个核函数的组合来表示
3.常用的核函数类型
①高斯核函数
②S函数
③多项式核函数
4.Python实现
①创建对象并拟合
from sklearn.svm import SVC
classifier = SVC(kernel='rbf',radom_state = 0) --设置高斯核函数
classifier.fit(x_train,y_train) --拟合
②预测数据
y_pred = classifier.predict(x_test)