1.如何为一个训练集找到可以划分不同类别样本的划分超平面
划分超平面那可以通过一个线性方程来描述
使划分超平面的划分结果正确的训练样例称为 支持向量
两个异类(超平面两边的)支持向量(训练样例)到超平面的距离之和为 间隔
找到使训练样本具有最大间隔的划分超平面,也就是找到满足条件的参数w b,使间隔最大
2
训练完成后只需保留支持向量(被正确划分的向量)
对偶问题
3.如何处理非线性问题
1)高维映射
为了简化高维映射后对偶问题的求解,我们构造一个核函数
2)
为划分超平面限定一个模型
X是多个不同属性的值构成的向量
W是为每个属性赋予的权重值所构成的向量
b为位移项,决定了超平面与原点之间的距离
所以这个超平面可扩展为
在能将训练样本分类正确的前提下找到对训练样本局部扰动容忍性(最鲁棒)的超平面
我们需要运算一个条件极值
当这个超平面使各类训练样本集到它的距离之和最大时,该超平面作为阈值最合适,但为了使样本被正确分类我们还需要一个约束条件。
样本空间中任意点到超平面的距离可由平面内点到直线的距离公式推广而来
分母为向量w的模
我们人为规定被划分为正类的标志值为1,负类为-1
所以两个异类支持向量到超平面的距离和
被划分正确的训练样本满足
(一个训练集线性可分)
当我们令
该目标超平面满足条件
为了方便计算,等价于
(svm的基本型)
求解这个基本型可得到满足条件的参数w和b,即正确且唯一的模型
二次规划:目标函数二次项,限制条件一次项
而svm的基本型很明显就是一个二次规划问题,我们采用拉格朗日乘子法求解
因此我们可以得到关系式
把关系式代入原拉格朗日函数
因此求解原问题就变成了求解对偶问题
由于原问题有不等式约束,所以其对偶问题需要增加KKT条件
显然,这个条件的解为
通用的二次规划算法不够高效,在这里我们
采用SMO:先固定两个乘子之外的所有参数,然后求这两个乘子上的极值.为什么是两个而不是一个,因为我们之前计算出 当原函数值最大时所有乘子和其对应标志值的乘积之和为0,所以如果每次选择一个作为变量,则这个乘子可由其他已经被固定的乘子导出。
如何选取这两个参数
直观来看,KKT 条件违背的程度越大,则 变量更新后可能导致的目标函数值减幅越大.也就是逼近解的速度越快,
用约束条件
消去其中一个变量,得到一个关于ai的单变量二次规划问题,求解得到ai aj
处理非线性问题
如果样本空间非线性可分,则svm基本型的限制条件不成立
将样本高维映射可使样本在这个特征空间内线性可分(降维打击)
例如:
映射后的模型可表示为
例如:
而我们要找的超平面则也从二维变成五维
针对处理非线性问题改造svm基本型
同理可得其对偶问题
为了简化运算,我们用核函数替换
核函数:用一个函数通过低维的向量值直接计算出高维向量的内积 而不需要知道高维向量的具体形态
核函数使高维映射又变回低维运算
怎么确定核函数?
核函数成立的充要条件:
1.可替换
2.半正定
常用的核函数
由于在现实任务 中 往往很难确定合适的核函数使得训 练样本在特征空 间 中线性可分;退一步说,
即使恰好找到了 某个核函数使训 练集在特征空 间中 线性可分?也很难断 定这个 貌似线性可分的 结果不是由于过拟合所造成的
所以我们允许支持向量机在一些样本上出错.
这种不要求所有样本被正确分类的向量机形式被称为软间隔,即不满足约束
因此我们原来构造的拉格朗日函数就不适用,但为了使优化目标变为 在最大化间隔的同时,不满足约束的样本也要尽可能少,我们将原来的条件函数映射成一个损失函数,使其大小与不被正确分类的标志数量成正比
因此优化目标可写为
显然,求解该函数需要综合考虑间隔大,出错少两个条件,分别称为结构风险(间隔)和经验风险(误差)
为了易求解,我们通常采用数学性质更好的函数替代,称为"替代损失"
被划分错误的样本距离超平面越远 损失函数的自变量z越小,1-z越大
这个约束条件由损失函数的定义推导而来
这同样是一个二次规划问题,同理可得到它的对偶问题及KKT条件
由KKT条件用同样的方法可推出软间隔支持向量机的 最终模型仅与支持向量有关。
同样用smo求解得到超平面
优化目标由间隔大小和误差程度构成,可写为更一般的形式
称为正则化问题
支持向量回归
假设我们能容忍 f(x) 与 y之间最多有 一定 的偏差,即仅当 f(x) 与 y 之间的差别绝对值大于 E 时才计算损 失
用不敏感损失函数衡量损失程度,SVR 问题可形式化为
引入松弛变量
同样用拉格朗日乘子法得到对偶问题和其KKT条件
由求偏导得到的关系式可将超平面扩展为
考虑上面提到的非线性可分情况下的特征映射形式,则表示为
I
)
核方法