开发者学堂课程【机器学习算法 :核函数与松弛变量】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/535/detail/7269
核函数与松弛变量
内容介绍
一、异常点造成的线性不可分
二、松弛变量
三、带松弛变量的极值求解
一、异常点造成的线性不可分
线性不可分的样本经过映射到高维空间后,找到分类超平面的几率大大增加。仍然有可能有一些情况很难处理,比如样本数据的结构本身不是非线性的,但是由于噪声带来一些偏离正常位置较远的点(异常点 Ourlier)有可能第模型造成很大的影响。
正常情况下是左侧图一,但如图二所示,其中一个支持向量偏移,虽然margin变小,但依旧可以找到一个分类超平面,若变量继续动,变成图三样式,蓝色点向红色方向移动,这个时候不可能按以前学习方式找到分类超平面。本来是线性可分的,但是由于个别点造成影响,使得线性不可分。
为了处理这种情况,svm 允许数据点在一定程度上偏离一下超平面。
二、松弛变量
不考虑异常点的线性可分的情况下,约束条件为:
考虑异常点的线性可分的情况下,约束条件要放宽(松弛):
变量ξi称为松弛变量(slack variable),即对应的数据点 x(i) 允许偏离最大间隔的量。这个变量越小越好,根据这点加入到目标函数中(否则如果松弛变量可以仁义达的话,所有的超平面都
满足要求),即:
原始是求最小值,但现在加上C,目标函数发生改变,加上ξ(非负数)后对以前的值是有影响的。
约束条件为:
在原有基础上大于等于1-ξ,ξ≥0
三、带松弛变量的极值求解
拉格朗日函数为:
将有约束的目标函数转换为无约束的拉格朗日函数,然后固定 μ、r,要让L(ω、γ、μ、r、ξ)对并ω、γ、ξ最小化,即对ω、γ、ξ 求偏导,令其等于0;
μi=C-ri ≤C
将 ω 带回目标函数得到:
唯一有所区别的是 μi 有了上限小于等于 C,以前之后大于等于0。
对于松弛变量:
1.只有离群点才有松弛变量,表示对应点到底离群有多远,其值越大,点就越远
2.C为惩罚因子,为常量,需要提前定好
3.C表明有多重视离群点,C越大,目标函数损失越大
四、SVM 多分类
SVM 是为二分类问题设计的,但可以通过构造合适的多分类器实现多分类问题:
1.直接法:直接修改目标函数,将多分类面的参数求解合并到一个最优化问题中
2.间接法:通过有效的组合多个二分类 SVM 分类器,从而实现多分类
(1)一对多法:将样本分为某类样本和其他类别的样本,进行训练得到 k 个 SVM,将未知样本归进具有最大分类函数值的那类
优点:训练 k 个 SVM 数量少,分类速度快
缺点:每次训练全部样本,且负样本数量远远大于正样本,增加新类别则需要重新训练所有模型
(2)一对一法:任意两个样本都设计一个 SVM,需要 k(k-1)/2 个 SVM 分类器,当对一个未知样本进行分类时,取所有分类器中得票最多的那一类。
优点:不需要训练所有模型,只需关注新增模型即可。
缺点:模型个数太多,训练、预测时间都比较长。