svm入门之四线性分类器求解与问题描述

出处:http://www.matlabsky.com/thread-10317-1-1.html


上节说到我们有了一个线性分类函数,也有了判断解优劣的标准 —— 即有了优化的目标,这个目标就是最大化几何间隔,但是看过一些关于 SVM 的论文的人一定记得什么优化的目标是要最小化 ||w|| 这样的说法,这是怎么回事呢?回头再看看我们对间隔和几何间隔的定义:

  间隔: δ=y(wx+b)=|g(x)| 
 

可以看出 δ=||w||δ 几何。注意到几何间隔与 ||w|| 是成反比的,因此最大化几何间隔与最小化 ||w|| 完全是一回事。而我们常用的方法并不是固定 ||w|| 的大小而寻求最大几何间隔,而是固定间隔(例如固定为 1 ),寻找最小的 ||w||

  而凡是求一个函数的最小值(或最大值)的问题都可以称为寻优问题(也叫作一个规划问题),又由于找最大值的问题总可以通过加一个负号变为找最小值的问题,因此我们下面讨论的时候都针对找最小值的过程来进行。一个寻优问题最重要的部分是目标函数,顾名思义,就是指寻优的目标。例如我们想寻找最小的 ||w|| 这件事,就可以用下面的式子表示:
 

不难看出当 ||w||2 达到最小时, ||w|| 也达到最小,反之亦然(前提当然是 ||w|| 描述的是向量的长度,因而是非负的)。之所以采用这种形式,是因为后面的求解过程会对目标函数作一系列变换,而式( 1 )的形式会使变换后的形式更为简洁(正如聪明的读者所料,添加的系数二分之一和平方,皆是为求导数所需)。

  接下来我们自然会问的就是,这个式子是否就描述了我们的问题呢?(回想一下,我们的问题是有一堆点,可以被分成两类,我们要找出最好的分类面)

  如果直接来解这个求最小值问题,很容易看出当 ||w||=0 的时候就得到了目标函数的最小值。但是你也会发现,无论你给什么样的数据,都是这个解!反映在图中,就是 H1 H2 两条直线间的距离无限大,这个时候,所有的样本点(无论正样本还是负样本)都跑到了 H1 H2 中间,而我们原本的意图是, H1 右侧的被分为正类, H2  左侧的被分为负类,位于两类中间的样本则拒绝分类(拒绝分类的另一种理解是分给哪一类都有道理,因而分给哪一类也都没有道理)。这下可好,所有样本点都进入了无法分类的灰色地带。


造成这种结果的原因是在描述问题的时候只考虑了目标,而没有加入约束条件,约束条件就是在求解过程中必须满足的条件,体现在我们的问题中就是样本点必须在 H1 H2 的某一侧(或者至少在 H1 H2 上),而不能跑到两者中间。我们前文提到过把间隔固定为 1 ,这是指把所有样本点中间隔最小的那一点的间隔定为 1 (这也是集合的间隔的定义,有点绕嘴),也就意味着集合中的其他点间隔都不会小于 1 ,按照间隔的定义,满足这些条件就相当于让下面的式子总是成立:


yi[(w·xi)+b]≥1 (i=1,2,…,l)  l 是总的样本数)

  但我们常常习惯让式子的值和 0 比较,因而经常用变换过的形式:


yi[(w·xi)+b]-1≥0 (i=1,2,…,l)  l 是总的样本数)

  因此我们的两类分类问题也被我们转化成了它的数学形式,一个带约束的最小值的问题:


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值