支持向量机篇(连载中 6)
Posted 爱看书的卡卡西
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支持向量机篇(连载中 6)相关的知识,希望对你有一定的参考价值。
本篇介绍
本篇介绍支持向量机的基础内存,向量机也是用于处理分类问题中用到的一个模型,用对于训练数据,可以分为线性可分,线性不可分,非线性数据,这时候就需要对应线性可分支持向量机,线性支持向量机和非线性支持向量机,本篇还不讨论非线性支持向量机,下一篇会讨论,所以本篇会比较简单
线性可分支持向量机
首先区分一下输入空间和特征空间,很多时候直接输入的数据不太好处理,可以将输入的数据做一个映射,映射到另外一个空间中,就是特征空间,支持向量机的学习就是基于特征空间进行的。
对于一个特征空间上的训练数据集,,x是特征向量,y是类标记,取值为1或-1,假设训练数据集是线性可分的。这时候要选出一个可以区分它们的超平面有无数个选择,线性可分支持向量机就是选择这样的一个超平面,, 他可以将正例和反例划分开,而且正例和反例距离该超平面距离最远(函数间隔/几何间隔)。此时对应的分类决策函数就是:
函数间隔与几何间隔
在超平面确定的情况下,可以表示点x距离超平面的距离,而wx+b和y的符号是否一致可以表示分类是否正确,所以可以用y(wx+b)开标时分类的正确性和确定度也就是函数间隔。那训练数据集的函数间隔就是所有训练点中函数间隔的最小值。
看到这儿,可能会产生一个问题,这个函数间隔也太不确定了吧,只要我按比例放大或者函数的参数,那么超平面不变,可是函数间隔照样都变了啊? 是的,这时候就出现了几何间隔,因为我们会按比例放大和缩小w,b,那我们让函数间隔除以w的泛数,这不就可以确定唯一性了吗?几何间隔就是
同样,训练集T的几何间隔不就是训练点中几何间隔的最小值了吗?
间隔最大化
支持向量机学习的基本思想就是寻找可以正确划分训练数集,而且几何间隔最大的分离超平面,这儿的几何间隔最大化又称为硬间隔最大化(近似线性可分的间隔最大化又称为软间隔最大化)。
将该问题表示成数学的形式:
这个是一个凸二次规划问题
这样求解后就可以得到分离超平面wx+b=0,此时分类决策函数是. 而且该分离超平面存在并且唯一。
支持向量和间隔边界
不知道是否好奇过支持向量机名字是怎样来的呢?训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量,也就是满足约束条件式的点y(w*x+b)-1=0。此时距离分离超平面的距离就是。 这儿提一下点到直线的距离公式吧:
(此时强迫症们又想推导一下这个怎么来的话,借助于余弦公式就可以,我自己推导了一下,很容易的)
对偶算法
现在介绍下如何求解上述的不等式,也就是分割超平面,我们使用下拉格朗日对偶性,通过求解对偶问题获取原始问题的最优解。首先引进拉格朗日乘子ai, i=1,2,..N。定义拉格朗日函数:
求偏导后,会得到下面的结果:
这时候对应的分离超平面就是:
线性支持向量机
我们之前讨论的是线性可分的场景,可是现实中很多场景都是线性不可分的,那这时候怎么用向量机呢?这时候就要修改原来的几何间隔表达形式了,允许少量的几个样本点可以小于最小几何间隔, ,这时候的硬间隔最大化就变成了软间隔最大化。
这时候的线性支持向量机问题就变成了如下凸二次规划问题:
这时候w是唯一的,b就不是唯一的了。
这时候的分离超平面和决策函数是:
对偶算法
采用拉格朗日函数,可以同样获取到线性支持向量机的对偶问题:
支持向量
此时的支持向量比较复杂一些,包含了位于软间隔边界上的点,还有软间隔边界到超平面的点,还有误分类的点。
合页损失函数
线性支持向量机还有另外一种解释,就是最小化下面的目标函数
看一下合页损失的图像
横轴是y(wx+b), 第一条是感知器损失函数,第二条是合页损失函数,会发现对于向量机,不仅分类正确,还需要确信度高时损失函数才会是0。
本篇总结
本篇介绍了支持向量机的线性可分,线性不可分下的模型,核心思想就是寻找一个分割超平面,可以保证训练数据到该分割超平面的几何距离最大。非线性支持向量机需要涉及到核函数和核技巧,这块我们下一篇介绍。
以上是关于支持向量机篇(连载中 6)的主要内容,如果未能解决你的问题,请参考以下文章