王小草【机器学习】笔记--支持向量机SVM

本文详细介绍了支持向量机(SVM)的原理,包括分割超平面、线性可分支持向量机的构建,以及软间隔最大化的目标函数。讲解了SVM的计算过程,包括目标函数的推导、转换和求解,并引入了核函数的概念,特别是高斯核的作用。最后简要提及了SMO算法用于求解SVM的优化问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标签(空格分隔): 王小草机器学习笔记


1.SVM的原理与目标

1.1 分割超平面

QQ截图20161119153254.png-19.9kB

来看上图,假设C和D是两个不想交的凸集,则存在一个超平面P,这个P可以将C和D分离。

image_1b1to6btfmb7160310if21ilam12.png-7.2kB

这两个集合的距离,定义为两个集合间元素的最短距离。

做集合C和集合D最短线段的垂直平分线。这条垂直平分线就是分割超平面。

在两个集合之间,可以有无数条分割超平面,使其将两个集合分离,但是如何定义与找出两个集合的“最优”分割超平面呢?

可以这样做:
找到集合“边界”上的若干点,以这些点为基础计算超平面的方向,以两个集合 边界上的这些点的平均作为超平面的“截距”
因为超平面是通过这些点(向量)来支撑形成的,所以我们叫这些吃撑了超平面产生的向量叫做支持向量,support vector.

那么如果两个集合有部分相交,如何定义超平面,从而使得两个集合尽量分开呢?

如下图,在两个集合之间可以画出无数条超平面,到底哪条是最好的,到底哪些是支持向量呢?
image_1b1topoibt2839d5qjdo4rr1f.png-140.6kB

1.2 定义输入数据

假设给定一个特征空间上的训练集为:

image_1b1tp0330v6o1kune981ebn14a93g.png-6.3kB

其中,image_1b1tpatp911ct1li9t4e8vop513t.png-4.3kB

xi为第i个实例(样本),若n>1,则xi为向量。

yi为xi的标记:
当yi=1时,xi为正例
当yi=-1时,xi为负例
(至于为什么正负用(-1,1)表示呢?这个问题也许从来没有想过。其实这里没有太多原理,就是一个标记,你也可以用正2,负-3来标记。只是为了方便,yi/yj=yi*yj的过程中刚好可以相等,便于之后的计算。)

(xi,yi)称为样本点。

1.3 线性可分支持向量机

给定了上面提出的线性可分训练数据集,通过间隔最大化得到分离超平面为
image_1b1tporci1e53sa81lh9189lh0u9.png-3.3kB

相应的分类决策函数为:
image_1b1tppmtabnr1m1rnlj96kaskm.png-4.7kB

以上决策函数就称为线性可分支持向量机。

这里解释一下image_1b1tq1o9fscb5jjdl7avfidq13.png-1.3kB这个东东。
这是某个确定的特征空间转换函数,它的作用是将x映射到更高的维度。
比如我们看到的特征有2个:x1,x2,组成最见到的线性函数可以是w1x1,w2x2.但也许这两个特征并不能很好地描述数据,于是我们进行维度的转化,变成了w1x1+w2x2+w3x1x2+w4x1^2+w5x2^2.于是我们多了三个特征。而这个image_1b1tq8f2ja1nb81m8vi591aiq1g.png-1.3kB就是笼统地描述x的映射的。
最简单直接的就是:image_1b1tq9ortstg7ra1oedop81iae1t.png-2.3kB

以上就是线性可分支持向量机的模型表达式。我们要去求出这样一个模型,或者说这样一个超平面y(x),它能够最优地分离两个集合。
其实也就是我们要去一组参数(w,b),使其构建的超平面函数能够最优地分离两个集合。

如下就是一个最优超平面:
image_1b1tqf5qo1s6r1hhq14ct1dfu5d12a.png-231.8kB

又比如说这样:
image_1b1tqguiaj4p1i7m1u9j10t11mds2n.png-69.3kB

阴影部分是一个“过渡带”,“过渡带”的边界是集合中离超平面最近的样本点落在的地方。

2.SVM的计算过程与算法步骤

2.1 推导目标函数

我们知道了支持向量机是个什么东东了。现在我们要去寻找这个支持向量机,也就是寻找一个最优的超平面。

于是我们要建立一个目标函数。那么如何建立呢?

再来看一下我们的超平面表达式:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值