一、支持向量机
1. 基本概念
1)什么是支持向量机
支持向量机(Support Vector Machines)是一种二分类模型,在机器学习、计算机视觉、数据挖掘中广泛应用,主要用于解决数据分类问题,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化(即数据集的边缘点到分界线的距离d最大,如下图),最终转化为一个凸二次规划问题来求解。通常SVM用于二元分类问题,对于多元分类可将其分解为多个二元分类问题,再进行分类。所谓“支持向量”,就是下图中虚线穿过的边缘点。支持向量机就对应着能将数据正确划分并且间隔最大的直线(下图中红色直线)。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BqF6D3hI-1639661442645)(img/svm_1.png)]
2)最优分类边界
什么才是最优分类边界?什么条件下的分类边界为最优边界呢?
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k1rHIJrH-1639661442646)(img/svm_2.png)]
如图中的A,B两个样本点,B点被预测为正类的确信度要大于A点,所以SVM的目标是寻找一个超平面,使得离超平面较近的异类点之间能有更大的间隔,即不必考虑所有样本点,只需让求得的超平面使得离它近的点间隔最大。超平面可以用如下线性方程来描述:
w T x + b = 0 w^T x + b = 0 wTx+b=0
其中, x = ( x 1 ; x 2 ; . . . ; x n ) x=(x_1;x_2;...;x_n) x=(x1;x2;...;xn), w = ( w 1 ; w 2 ; . . . ; w n ) w=(w_1;w_2;...;w_n) w=(w1;w2;...;wn), b b b为偏置项. 可以从数学上证明,支持向量到超平面距离为:
γ = 1 ∣ ∣