素描svm

支持向量机是一个比较复杂的机器学习模型,之所以复杂,当然就是里面的数学知识多了。刚刚接触的时候浏览众多博客,发现很多都很写得细致,但是对运算的细致全面讲解很容易让基础不怎么好的人很难坚持看下去。这一篇博客简单阐述svm的思路(也是因为偶自己又一些地方也没弄懂啦~!)用来回顾或者面试倒是挺好的。


svm可以解决两类分类问题:线性可分数据及非线性可分数据。
对于线性可分数据,Svm企图找到划分两类最中间的平面,使每一类中离平面最近的点的距离最大。如下图中在旁边两条线上的点,他们就是所谓的支持向量

svm

定义平面为 y=mi=0wixi+b
将数据划分为{-1,1}两类,根据几何数学知识有:最近点与平面的距离为 d=iwixi+biw2=yi||w||
则总间距 margin=|d1|+|d2|=1||w||+|1|||w||=2||w||
所以我们的目标也可以说是 min||w|| (1)
同时该平面两边的数据满足:
y=mi=0wixi+b1fory=1
y=mi=0wixi+b1fory=1

即: yimi=0wixi+b1 (2)
由此,(1)和(2)就是我们要求解的

但是这样的方程,既有极值又有不等式的情况并不好求,接下来的转化就有点费脑筋了,有些比较细致的地方我也没有弄懂,只能写下大体的轮廓。
首先让我们去掉这些不等式!
该方程式的拉格朗日函数可以写作:
L(ω,b,x)=12||w||+mi=0α(1yi(wTw+b)) (3)
(α0)
注意后面部分其实也就是(2)的移项。

该转换必须满足KKT条件:
α0
1yi(wTw+b)0
α(1yi(wTW+b)=0

该拉格朗日函数与(1)(2)等价(唉这里我也不明白啦),再于(3)中求 wb 的偏导,使其值为0,代回(3)中,得到消去了 wb 的式子(4)。

再对式子4求其对偶函数(5)。(运筹学里学过对偶函数,对偶函数和原函数相当于事情的两个面,最小化对偶函数的最大值不会超过原函数的最小值,他们就像一个天,一个地,极限的情况就是两个函数有一个相同的点,该点是其中一个函数的最小值,是另一个函数的最大值)。这里边的数学很复杂,作为一个没高数课的孩子真的看的很头痛,我现在需要速成,所以很多地方一笔带过,以后有时间慢慢研究。对偶函数如下:
f(x)=mi=1αiyixTix+b (6)

那么对于一个新的数据,输入其特征 x 到(6)中,输出结果>0则为类别1,否则为-1。上式(xi,yi)是支持向量而非所有数据,也就是说svm划定的平面其实是由数据中的部分点确定的,即使其他数据有所改变,只要支持向量不变,模型就不会改变,因此该模型也比较稳定。


对于非线性的问题,先举几个简单的例子:像下面这些数据,明显的,用直线不能进行划分,也就是说,不能找到一个平面 y=iwixi 来划分他们,这时怎么办呢?
这里写图片描述

svm企图跳出平面的约束,展开丰富的想象力,畅想多维空间。

这里写图片描述

所以对于非线性分类,svm就把数据映射到高维空间,再在高维空间中找那一个平面,令 ϕ(x) 表示将 x 映射到后的特征向量,此时在特征空间的划分平面模型可以表示为:
f(x)=wTϕ(x)+b
yi(wTϕ(x)+b)1
其对偶函数为: mi=0αiyiϕ(xi)Tϕ(x)+b

其中,我们看到 ϕ(xi)Tϕ(x) ,这两个高维数据的点积将会带来很大的计算量。于是伟大又神奇的数学家们又探索出了核函数,一个表示既将数据映射到高维空间同时做了点积运算的函数(哎,数学真是神奇,科学家们真的什么都敢想。。。。)

定义核函数 k(xi,xj)=<ϕ(xi),ϕ(xj)>=ϕ(xi)Tϕ(xj)

是不是觉得很神奇,带着点意外不解不服气???

那我们来看一个例子:

数据x=(1,2,3), y=(4,5,6)
假设高维映射函数为:
f(x)=(x1x1,x1x2,x1x3,x2x1,x2x2,x2x3,x3x1,x3x2,x3x3)
那么,我们一般的求解过程就是:
f(x)=(1,2,3,2,4,6,3,6,9)
f(y)=(16,20,24,20,25,36,24,30,36)
点积:
f(x)Tf(y)=(16,40,72,40,100,180,72,180,324)
求和为:1024

如果又核函数: k(x,y)=<x,y>2
那么其计算过程为:
(14+25+36)2=1024
是不是,要简单很多呢?!这一个核函数就是实现了高维映射的内积运算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值