目录
支持向量机的主要任务就是从样本空间中找到合适的划分超平面,将属于不同类别的样本分开。
我们希望找到的决策边界距离两个类别中位于边界上的点最远。
一、数学知识(不重要,可直接结论)
不重要,知道结果即可
1.1平面方程
样本空间中的划分超平面的线性方程可描述如下:
为法向量,决定平面方向
b为平面与原点的距离
划分超平面被记为(w,b)
样本空间中任意一点x到平面的距离为
1.2决策方程
其中,对于x,需要一定的数学处理。
对于样本空间中的,其中前者为样本的属性,后者为类别
当x为正例时,Y=+1
当x为负例时,Y=-1
定义分类对应的关系式如下
、
1.3支持向量
使得等号成立的是距离超平面最近的几个点,它们即为支持向量。
两个异类支持向量到平面的距离为
它被称为间隔。
我们的目标就是找到参数使得间隔最大。
1.4目标函数
因此,目标函数为
对于第二行中的"s.t."意思是"使得······(后面的式子)满足"
为什么要乘以yi,是为了将正负的两个式子整合在一起。
1.5求解
目标函数实际上是一个凸二次规划问题
运用拉格朗日乘子法进行求解
该问题的拉格朗日函数为
其中,
分别对w和b求偏导,并令偏导为0
消去上述拉格朗日函数中的w和b
得到目标函数的对偶问题
之后,对求极大值
最终,是对以下式子求解
其中,仍有约束条件
求出后,再去求w和b
为了解决过拟合,可以加入松弛因子
新的目标函数
C趋近很大的时候,要求严格
C趋近很小的时候,要求不严格
二、核函数
2.1数学模型
如果训练的样本线性不可分,那么可以将样本从原来的空间映射到一个更高维的空间,使得样本在高维空间线性可分。
设变换方法为
则划分超平面对应的模型为
求解的目标函数为
即
对应约束条件为
其中
表示样本映射到高维空间后的内积,可通过核函数计算
2.2核函数
k(xi,xj)就是核函数
引入核函数后,划分超平面对应的模型为
如果一个对称矩阵所对应的核矩阵半正定,它就可以核函数。
有如下定理:
令为输入空间,为定义在上的对称函数,则k是核函数当且仅当对于任意数据,核矩阵K是正定的
每一个核函数都定义了一个称为"再生核希尔伯特空间"的特征空间。
2.3常见核函数
线性核
多项式核
d>=1为多项式的次数
高斯核
,为高斯核的带宽
拉普拉斯核
Sigmoid核
tanh为双曲正切函数
核函数的组合
核函数的组合也是核函数
线性组合结果是核函数
直积结果也是核函数
也是核函数
2.4核方法
基于核函数的学习方法
核化:引入核函数
核化使得线性学习器转为非线性学习器
三、软间隔
软间隔即允许对样本的划分出错
优化目标为
其中
是"0/1损失函数",非凸,非连续,可用"替代损失"函数进行代替
常用替代损失函数
hinge损失
指数损失
对率损失
四、支持向量回归
支持向量回归SVR
当f(x)与y之间的差别达到一定范围才计算损失。
即以f(x)为中心,构建一定宽度的隔离带,当样本落入隔离带,则被认为是正确的。
五、Python中的函数
都在sklearn.svm中
参考文献:周志华《机器学习》