SVM(2)-算法

SVM原理

当训练数据线性可分时,通过硬间隔最大化,学习线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机;
当训练数据近似线性可分时,通过软间隔最大化,学习线性分类器,即线性支持向量机,又称为软间隔支持向量机;
当训练数据线性不可分时,通过核技巧及软间隔最大化,学习非线性支持向量机。
函数间隔
定义训练数据集 T ,超平面(w,b), (wxi+b) 可以表示样本点 xi 距离超平面的距离,对于二分类问题, yi{+1,1} ,此时 yi(wxi+b) 的正负可以表示分类是否正确,那么使用

r^i=yi(wxi+b)
便可表示分类的正确性以及确信程度,上式定义为函数间隔。
超平面 (w,b) 关于训练数据 T 的函数间隔为超平面(w,b)关于 T 中所有样本点的函数间隔的最小值定义为:
r^=min r^i
函数间隔中,当 w b成比例增加时,超平面没有改变但是函数间隔却成比例增加了,为了避免这种情况,对超平面的法向量加以限制,引入几何间隔。
几何间隔
对于给定的训练数据集 T 和超平面(w,b),定义超平面 (w,b) 关于样本点 (xi,yi) 的几何间隔为
ri=yi(wxiw+bw)
定义超平面 (w,b) 关于训练数据 T 的函数间隔为超平面(w,b)关于 T 中所有样本点的函数间隔的最小值
r=min ri

线性可分支持向量机

线性可分支持向量机学习算法-最大间隔法
输入:线性可分训练数据集 T={(x1,y1),(x2,y2),...,(xN,yN)} ,其中, xiX=RN,yiY={1,+1},i=1,2,...,N;
输出:最大间隔分离超平面和分类决策函数

  1. 构建约束最优化问题
    minw,b 12w2s.t. yi(wxi+b)10,i=1,2,...,N(1)
  2. 求得最优解 w,b .
  3. 由此得到分离超平面
    wx+b=0
  4. 分类决策函数为
    f(x)=sign(wx+b)

线性可分支持向量机的对偶算法
对于上式 (1) 中的不等式约束,引入拉格朗日乘子 αi0 ,定义拉格朗日函数:

L(w,b,α)=12w2i=1Nαiyi(wxi+b)+i=1Nαi
这里, α=(α1,α2,...,αN)T 为拉格朗日乘子向量。根据拉格朗日对偶性,原始问题的对偶问题为极大极小问题
maxα minw,b L(w,b,α)
minw,b L(w,b,α) L(w,b,α) 分别对 w,b 求偏导数并令其等于0.
wL(w,b.α)=wi=1Nαiyixi=0
bL(w,b.α)=i=1Nαiyi=0
w=i=1Nαiyixi
Ni=1αiyi=0 $将上式代入式中得到

minw,bL(w,b,α)=12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

minw,bL(w,b,α) α 的极大,可转化为如下的极小问题

minα  12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαis.t.  i=1Nαiyi=0αi=0,i=1,2,...,N(2)

解上述极小值问题可以得到 α 的解为 α=(α1,α2,...,αN)T ,从而求得
w=i=1Nαiyixib=yji=1Nαiyi(xixj)
即可以求得分离超平面和决策函数。

线性支持向量机

线性支持向量机学习算法-最大软间隔法
假设训练数据线性不可分,对于除去训练数据集中存在特异点后剩余的样本集合线性可分的情况,即某些样本点不能满足函数间隔大于等于1的约束条件,可以对每个样本点 (xi,yi) 引进一个松弛变量 ξ0 ,使得函数间隔加上松弛变量大于等于1,同时,对每个松弛变量 ξi 支付一个代价 ξi ,此时的优化问题变为

minw,b,ξ 12w2+Ci=1Nξis.t  yi(wxi+b)1ξi , ξi0,i=1,2,...,N(3)
这里 C>0 为惩罚参数,其值表示对误分类的惩罚程度。

线性支持向量机的对偶算法
(3) 中的最优化问题的拉格朗日函数是

L(w,b,ξ,α,μ)=12w2+Ci=1Nξii=1Nαi(yi(wxi+b)1+ξi)i=1Nμiξi
这里, αi0, μi0
对偶问题是拉格朗日函数的极大极小问题,先求 L(w,b,ξ,α,μ) w,b,ξ 的极小,由
wL(w,b,ξ,α,μ)=wi=1Nαiyixi=0bL(w,b,ξ,α,μ)=i=1Nαiyi=0ξiL(w,b,ξ,α,μ)=Cαiμi=0
w=i=1Nαiyixii=1Nαiyi=0Cαiμi=0
将上述结果代入 minw,b,ξ L(w,b,ξ,α,μ)=12Ni=1Nj=1αiαjyiyj(xixj)+Ni=1αi 再对 minw,b,ξ L(w,b,ξ,α,μ) α 的极大,转换为对 α minw,b,ξ L(w,b,ξ,α,μ) 的极小值,整理可得对偶问题
minα 12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαis.t.  i=1Nαiyi=00αiC,i=1,2,...,N
至此可依次解得
α=(α1,α2,...,αN)Tw=i=1Nαiyixib=yji=1Nyiαi(xixj)

从而可以求得分类超平面和决策函数。

非线性支持向量机

非线性支持向量机学习算法
输入:训练数据集 T={(x1,y1),(x2,y2),...,(xN,yN)} ,其中 xiX=RN,yiY=1,+1,i=1,2,...,N;
输出:分类决策函数。

  1. 选择适当的核函数 K(x,z) 和适当的参数 C ,构造并求解最优化问题
    minα 12i=1Nj=1NαiαjyiyjK(xi,xj)i=1Nαis.t. i=1Nαiyi=00αiC,i=1,2,...,N
    求得最优解 α=(α1,α2,...,αN)T .
  2. 选择 α 的一个正分量 0<αj<C ,计算
    b=yji=1Nyiαi(xixj)
  3. 构造决策函数:
    f(x)=sign(i=1NαiyiK(xxi)+b)

    两层的SVM结构图

这里写图片描述

解决多分类的方法

求解方法(SMO)

回归预测

代码示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值