SVM(1)--线性可分支持向量机

一、线性可分支持向量机(针对二分类问题讨论)

线性可分SVM的基本思想
一般数据线性可分时存在无穷多个分离超平面能将两类数据分开,线性SVM利用间隔最大化的策略求最优的分类超平面,解是唯一的。

数据说明: m 个样本点,y{1,1},线性可分
假设超平面: ωTx+b=0

任意样本点 xi 到面的距离: |ωTxi+b|||ω||
去分子绝对值:因为线性可分,分子可改写成 yi(ωTxi+b) yi(ωTxi+b)||ω||

问题就转化为A:

问题A:
max(minyi(ωTxi+b)||ω||) ==> 求解目标
s.t.yi(ωTxi+b)0i=1,..,m ==> 线性可分的条件

由于等比例缩放 ω b 并不会改变超平面,我们就取使得
min(yi(ωTxi+b))=1的这组 ω b
问题A就转化为B,同时增加了一个约束条件:

max(1||ω||) ==> 求解目标
s.t.
yi(ωTxi+b)0i=1,..,m ==> 线性可分的条件
mini=1,2,..,myi(ωTxi+b)=1 ==> 增加的条件

显然,满足增加的条件,自然就会满足线性可分的条件,因此增加的是一个更严格的条件,可以去掉线性的条件,问题B简化为:

问题B:
max(1||ω||) ==> 求解目标
s.t.mini=1,2,..,myi(ωTxi+b)=1 ==> 增加的条件

现在我想去掉 min 的符号,将条件放松至 yi(ωTxi+b)1
得到问题C:

问题C:
max(1||ω||) ==> 求解目标
s.t.yi(ωTxi+b)1i=1,..,m ==> 条件

问题B和问题C是等价的,C中等号是必须成立的,可以用反证法证明(若等号不成立,假设大于等于2,存在 ω=ω/2,b=b/2 使得C中求解目标可以进一步增大,产生矛盾)。
这样就得到了线性可分SVM的原始问题


原始问题:

max(1||ω||)
s.t.yi(ωTxi+b)1i=1,..,m

一般最优化问题习惯性转化为最小化问题,为计算方便加上平方和1/2
原始问题:
min12||ω||2
s.t.yi(ωTxi+b)1i=1,..,m


原始问题是一个凸二次规划问题,可以直接使用现成的计算包求解,但效率低,可以专门指针具体问题做优化。可以将原始问题利用拉格朗日乘子法转化为对偶问题。根据拉格朗日的对偶性,原始问题的对偶问题是极大极小问题

L(ω,b,α)=12||ω||2+i=1mαi[1yi(ωTxi+b)]
其中 αi0i=1,2,...,m
maxαminω,b(L(ω,b,α))

所以先求极小,再求极大。求极小就需要 L 分别对ω b 求偏导,令偏导为0.得到

ω=i=1mαiyixi ==> 此公式可用来求解 ω
i=1mαiyi=0

将上述二个式子代入 L 中,化简的

minω,bL(ω,b,α)=12i=1mj=1mαiαjyiyj(xixj)+i=1mαi

问题就转化为

maxα(12i=1mj=1mαiαjyiyj(xixj)+i=1mαi)
s.t.i=1mαiyi=0
αi0,i=1,2,...,m

将极大问题转换为极小问题

minα(12i=1mj=1mαiαjyiyj(xixj)i=1mαi)
s.t.i=1mαiyi=0
αi0,i=1,2,...,m
此问题可用SMO算法高效的算出 α 的解。

KKT条件可以计算出 b 的值

ω=i=1mαiyixi ==> 此公式用于求解 ω
b=yii=1mαiyixixj ⇒ 此公式用于求解 b


最终的分类决策函数:

f(x)=sign(ωx+b)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值