机器学习

12 篇文章 0 订阅
1 篇文章 0 订阅

文章很长 文末有福利

本文的目的是讲解传统的推导。

SVM的超平面

SVM模型的基本原理,就是寻找一个合适的超平面,把两类的样本正确分开。单个SVM只能处理二分类,多分类需要多个SVM

【什么是超平面?】
超平面就是n维度空间的n-1维度的子空间。换成人话就是2维空间中的1维度的线,三维立体空间的二维平面。


图中总共有5个超平面,那么哪一个是最好的呢?我们认为中间的那个是最好的。因为他对两侧的间隔较大。

SVM基本型

超平面我们可以用这个方程来表示:
wTx+b=0wTx+b=0

空间中任意一个点x到这个超平面的垂直距离为:
d=|wTx+b|||w||d=|wTx+b|||w||

这里不得不提到一下逻辑回归,对于逻辑回归来说:

就是在超平面一侧的样本,逻辑回归给出的预测类别是1,另外一侧就是0.

但是SVM觉得这样有一些过于绝对了,所以:

不仅仅要一个样本在平面的一侧,还要在平面的这一侧足够远的地方,才能算作某一类的样本。


从图中可以看到,两条虚线之外的点,才是SVM能确定是正样本还是负样本的点。

【什么是支持向量?】
图中距离超平面最近的几个训练样本,并且这几个训练样本可以让上式的等号成立。这个点就是支持向量。

【什么是SVM的间隔】
两个不同类别的支持向量到超平面的最小距离之和。其实也就是2||w||2||w||


到这里,我们可以隐隐约约的发现,寻找最优的超平面其实等价于寻找一个最大的间隔,或者说让间隔最大化。所以可以得到:
maxw,b2||w||maxw,b2||w||
这个的约束条件就是:让SVM给正样本的打分大于1,给负样本的打分小于-1,也就是:

简化一下这个约束条件,可以得到:
yi(wTxi+b)>=1yi(wTxi+b)>=1

一般我们都是求取最小化问题,所以把最大化max问题取倒数,变成最小化问题:
minw,b||w||2minw,b||w||2
这里为了后续的计算方便,最小化||w||||w||等价于最小化||w||2||w||2,所以得到:
minw,b||w||22minw,b||w||22

总之SVM的基本型就是:

SVM求解

现在求得了基本型。现在可以来进一步优化这个最小化问题。但是首当其冲的问题便是,如何处理这个约束条件。这里用到的方法是拉格朗日乘子法。将约束条件以αiαi的权重加入到优化问题中,所以可以得到:
Loss(w,b,α)=12||w||2+∑mi=1αi(1−yi(wTxi+b))Loss(w,b,α)=12||w||2+∑i=1mαi(1−yi(wTxi+b))

  • 这里的loss就是我们要最小化的对象;
  • 这里的m就是支持向量的数量。

为了最小化这个问题,对w和b求偏导数,可以得到:
w=∑mi=1αiyixiw=∑i=1mαiyixi
0=∑mi=1αiyi0=∑i=1mαiyi

然后把这两个公式代入到:
Loss(w,b,α)=12||w||2+∑mi=1αi(1−yi(wTxi+b))Loss(w,b,α)=12||w||2+∑i=1mαi(1−yi(wTxi+b))

可以消掉w和b,得到:

约束条件为:

从而根据这个计算出αiαi的取值,然后得到w和b的取值。

【到底如何求解αα?】
上面说的最后一部求解alpha,都是理论可以求解,但是实际中如何做到呢?其实这里如何求解αα要用到另外一个条件。

就是上述过程要满足一个叫做KKT的条件(KKT具体是什么有点复杂,就不多说了):

  • 想要第三个公式成立,要么αiαi等于0,要么yif(xi)−1=0yif(xi)−1=0.如果alpha=0,那么意味着这个样本不是支持向量,不应该对SVM超平面起到任何影响,所以是不可能的。所以只有yif(xi)−1=0yif(xi)−1=0。

加上了这个条件,我们可以求解出来αiαi的具体数值,然后求解w和b的数值。

假设有3个支持向量,那么就会有三个α1,α2,α3α1,α2,α3 ,然后根据yif(xi)−1=0yif(xi)−1=0可以列出3个关于α1,α2,α3α1,α2,α3的三元一次方程组,然后得到唯一解。

《 Java学习、面试;文档、视频资源免费获取

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值