给定训练样本
超平面为 w⃗ Tx⃗ +b=0 w → T x → + b = 0
平面的法向量为 w⃗ w →
对于训练数据集D假设找到了最佳超平面 w⃗ ∗Tx⃗ +b∗=0 w → ∗ T x → + b ∗ = 0 ,定义决策分类函数
该决策函数也称为 线性可分支持向量机
空间中超平面可记为(\vec w,b),空间中任意点到超平面(\vec w,b)的距离为
也就是
记超平面
要找到具有最大间隔的最佳超平面,即
等价于
求解这一问题本质上是 凸二次规划问题,可以使用现成的QP优化包求解,还可以使用 拉格朗日对偶性变换到对偶变量的优化问题,即通过求解与原问题等价的对偶问题来求解。
使用拉格朗日对偶性求出
α⃗
α
→
后,再求解出
w⃗
w
→
和b即可得到SVM决策模型
核函数
事实上,大部分时候数据并不是线性可分的,这个时候满足这样条件的超平面就根本不存在
为了使其线性可分,把一些变量映射到高维空间,但是这样会出现维数爆炸的问题,因为如果原空间特征是n维的,映射到 n2 n 2 维空间里,就会使内积计算的复杂度从 O(n) O ( n ) 变为 O(n2) O ( n 2 )
核函数:任意两个样本点在扩维后的空间的内积,如果等于这两个样本点在原来空间经过一个函数后的输出,那么这个函数就叫核函数
也就是
这个f就是核函数。
有了核函数,我们就可以减少高维空间内积的计算复杂度
核函数有效性判定
核函数矩阵:给定m个特征向量
x1,x2,...,xn
x
1
,
x
2
,
.
.
.
,
x
n
,我们可以将任意两个
xi,xj
x
i
,
x
j
代入,计算m*m的矩阵
定理:如果K是有效的核函数,那么核函数矩阵是对称半正定的
如果K是有效的核函数,那么我们不需要去找映射φ,直接计算内积即可。
线性核函数
高斯核函数
逻辑回归 or 线性SVM?
特征多,数据量小:逻辑回归
特征少,数据量足够:线性SVM(创建更多变量,不带核函数)
SVM不存在局部最优,另外比神经网络一般要快