机器学习(6) -- 支持向量机
6.1 间隔与支持向量
优化
即
6.2 对偶问题
对上式使用拉格朗日乘子法可得其对偶问题
分别对我w,b求偏导
代入L(w,b,α),消去w,b,即得
----------1式
求解α,代入模型
上述过程满足KKT条件:
这个是拉格朗日乘子
约束条件
这个是拉格朗日乘子
求解1式,SMO算法
SMO算法基本思路是先固定之外的所有参数,然后求
上的极值。由于存在约束
,于是每次选择两个变量
和
,并固定其他参数,参数初始化后,SMO不断执行如下两步:
选取一对需要更新的变量和
;
固定和
以外的参数,求解1式获得更新后的
和
直观看,KKT条件违背的程度越大,则变量更新后可能导致的目标函数值减幅越大。于是,SMO先选取违背KKT 条件程度最大的变量。
SMO采用了启发式:使选取的两变量所对应样本之间的间隔最大。直观解释是这样的两个变量有很大差别,与对两个相似的变量进行更新相比,对他们进行更新会带给目标函数值更大的变化
6.3 核函数
原始样本空间不存在能正确划分两类样本的超平面,如异或问题。
于是将原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。
如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分。
于是,划分超平面对应的模型为
优化目标
对偶问题
核函数:
替换,求解:
只要一个对称函数所对应的核矩阵半正定,它就能作为核函数使用。对于一个半正定 核矩阵,总能找到一个与之对应的映射φ。也就是,任何一个核函数都隐式地定义了一个称为“ 再生核希尔伯特空间”的特征空间。
若K1,K2是核函数,则γ1K1+γ2K2,,K(x,z)=g(x)K1(x,z)g(z) 也是核函数
6.4 软间隔与正则化
允许支持向量机在样本上出错
于是,优化目标写为:
C无穷大时迫使所有样本满足约束,当C取有限值时,允许一些样本不满足约束
数学性质不好,于是用其他函数替代
, 称为替代损失
hinge损失
引入松弛变量
拉格朗日乘子法
通过采用hinge损失扔保持了稀疏性
使用对率损失几乎得到了对率回归模型,两者优化目标相近,性能也相当。
对率回归输出概率,支持向量机不具备概率意义
对率回归能直接应用于多分类任务,支持向量机需要推广
是光滑递减函数,不能导出类似支持向量的概念,因此对率回归的解依赖更多样本,预测开销大
优化目标一般形式:
---------2式
Ω(f):结构风险,描述模型f的某些性质
:经验风险,描述模型与训练数据的契合程度
C:对二者折中
从经验风险最小化角度看,Ω(f)表述了我们希望获得具有何种性质的模型(例如希望获得复杂度较小的模型),另一方面,该信息有助于削减假设空间,从而降低了最小化训练误差的过拟合风险,从这个角度说,2式称为“正则化问题”,Ω(f)为正则化项,C为正则化常数。
正则化可理解为一种“罚函数法”,即对不希望得到的结果施以惩罚,从而使得优化过程趋向于希望目标。从贝叶斯估计角度来看,正则化项可以认为是提供了模型的先验概率。
6.5 支持向量回归SVR
传统回归基于模型f(x)与真实输出y之间的差别来计算损失,当且仅当f(x)与y完全相同时损失才为0。
支持向量回归假设我们能容忍f(x)与y之间最多有ε的偏差,即仅当f(x)与Y之间的差别绝对值大于ε时才计算损失,这相当于以ε为中心,构建了一个宽度为2ε的间隔带,若样本落入此带,则认为是被预测正确的
于是
引入松弛变量
拉格朗日函数
对偶问题
解形如
仅当(xi,yi)不落入ε间隔带中,相 应的 才能取非零值。