支持向量机(SVM)--(4)

回忆:在上一篇文章中我们谈到为了使支持向量机能够处理非线性问题,进而引进核函数,将输入空间的输入数据集通过一个满足Mercer核条件的核函数映射到更高维或者无线维的希尔伯特再生核空间,将线性不可分转化成 线性可分的情况,如下图所示:

但是数据看似的非线性并非完全是有于数据本身的非线性导致的,例如可能并不是因为数据本身是非线性结构的,而只是因为数据有噪音。对于这种偏离正常位置很远的数据点,我们称之为离群点Outlier ,在我们原来的支持向量机模型里,离群点的存在有可能造成很大的影响,因为超平面本身就是只有少数几个支持向量组成的,如果这些支持向量里又存在离群点的话,其影响就很大了。

如图所示,用黑圈圈起来的那个蓝点是一个离群点,它偏离了自己原本所应该在的那个半空间,如果直接忽略掉它的话,原来的分隔超平面还是挺好的,但是由于这个离群点的出现,导致分隔超平面不得不被挤歪了,变成途中黑色虚线所示(这只是一个示意图,并没有严格计算精确坐标),同时间隔也相应变小了。当然,更严重的情况是,如果这个离群点再往右上移动一些距离的话,我们将无法构造出能将数据分开的超平面来。

为了处理这种情况,支持向量机允许数据点在一定程度上偏离一下超平面。例如上图中,黑色实线所对应的距离,就是该离群点偏离的距离,如果把它移动回来,就刚好落在原来的超平面上,而不会使得超平面发生变形了。

换言之,在有松弛的情况下,离群点也属于支持向量,同时,对于不同的支持向量,Lagrange 参数的值也不同,如此篇论文“Large Scale Machine Learning”中图所示(图下图),对于远离分类平面的点值为0;对于边缘上的点值在[0, 1/L] 之间,其中,L 为训练数据集个数,即数据集大小;对于离群点和内部的数据值为1/L。

我们,原来的约束条件为:

我们,原来的约束条件为:

其中ξi (i = 1, 2, · · · , n) 称为松弛变量Slack Variable ,对应数据点xi 允许偏离的函数间隔的量。当然,如果我们允许ξi 任意大的话,那任意的超平面都是符合条件的了。所以,我们在原来的目标函数后面加上一项,使得这些ξi 的总和也要最小,新的优化目标为:

其中C 是一个参数,用于控制目标函数中两项(“寻找间隔最大的超平面”和“保证数据点偏差量最小”)之间的权重。注意,其中 是需要优化的变量(之一),而C 是一个事先确定好的常量。

和前面类似,采用Lagrange 乘数法进行求解,可以写出:

求偏导之后令偏导数为0 可以分别得到:

将w 回代L 并化简,即得到和原来一样的目标函数:

对偶问题可以写作:

引入松弛变量之后的原问题和对偶问题如下图所示

可以看到唯一的区别就是现在对偶变量 多了一个上限C。而核化的非线性形式也是一样的,只要把(xi, xj) 换成κ(xi, xj) 即可。这样一来,一个完整的,可以处理线性和非线性并能容忍噪音和离群点的支持向量机才终于介绍完毕了。

到这儿一共写了四篇文章了,可以做个小结,不准确的说,支持向量机它本质上即是一个分类方法,用wT + b 定义分类函数,于是求w 和b,为寻最大间隔,引出 1/2* ∥w∥^2,继而引入Lagrange 乘子,化为对 的求解(求解过程中会涉及到一系列最优化或凸二次规划等问题),如此,求求w 和b 与求 等价,而 的求解可以用一种快速学习算法SMO,至于核函数,是为处理非线性可分的情况,若直接映射到高维计算可能出现维数灾难问题,故在低维计算,等效高维表现。

到这儿未知,支持向量机的基本理论已经基本说完了,但是学习svm也是为了应用,所以建议大家去斯坦福大学的UCI数据库下载一些分类数据做一些尝试。接下来的几天还会更新一些支持向量机的证明,里面会涵盖较多的公式,需要比较清晰地逻辑,由于svm有严格数理统计的含义,器公式的推导会牵涉较多的数理统计、概率论等数学的概念~~~~~~

原文发布于微信公众号 - 机器学习算法与Python学习(guodongwei1991)

原文发表时间:2016-05-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏瓜大三哥

图像分割(三) 之基于FPGA的局部自适应分割

图像分割(三) 之基于FPGA的局部自适应分割 在前面讲的自适应分割的原理如下: ? 由公式可以看出,窗口的分割值是对图像进行开窗,并计算窗口内的像素均值和标准...

2487
来自专栏计算机视觉战队

分割算法——可以分割一切目标(各种分割总结)

周末应该是一个好好休息的时间,但是一定会有在默默努力科研的你,由于最近是开学季,很多关注的朋友一直会问“计算机视觉战队平台有基础性的内容吗?”,今天我和大家说一...

5194
来自专栏机器之心

教程 | 无需反向传播的深度学习:DeepMind的合成梯度

选自GitHub 作者:iamtrask 机器之心编译 参与:王宇欣、Ellen Han 在这篇博文中,我们将从起点(从零开始)学习 DeepMind 最近提...

34110
来自专栏深度学习入门与实践

【深度学习系列】CNN模型的可视化

前面几篇文章讲到了卷积神经网络CNN,但是对于它在每一层提取到的特征以及训练的过程可能还是不太明白,所以这节主要通过模型的可视化来神经网络在每一层中是如何训练...

5856
来自专栏marsggbo

论文笔记系列-Efficient Neural Architecture Search via Parameter Sharing

本文提出超越神经架构搜索(NAS)的高效神经架构搜索(ENAS),这是一种经济的自动化模型设计方法,通过强制所有子模型共享权重从而提升了NAS的效率,克服了NA...

4391
来自专栏深度学习自然语言处理

【机器学习】今天想跟大家聊聊SVM

之前我在自己的简书上写过SVM,可是当时写的只是皮毛(主要是现在忘了O.O),那么现在想再次拾起的原因是什么呢?

1093
来自专栏决胜机器学习

机器学习(十五) ——logistic回归实践

机器学习(十五)——logistic回归实践 (原创内容,转载请注明来源,谢谢) 一、概述 logistic回归的核心是sigmoid函数,以...

36910

如何使用统计显着性检验来解释机器学习结果

在比较两种不同的机器学习算法或比较相同的算法与不同的配置时,收集一组结果是一个好习惯。

61210
来自专栏一棹烟波

引导图滤波(Guided Image Filtering)原理以及OpenCV实现

引导图滤波器是一种自适应权重滤波器,能够在平滑图像的同时起到保持边界的作用,具体公式推导请查阅原文献《Guided Image Filtering》以及matl...

5005
来自专栏Python数据科学

【机器学习笔记】:逻辑回归实战练习(二)

前几篇介绍了逻辑回归在机器学习中的重要性:5个原因告诉你:为什么在成为数据科学家之前,“逻辑回归”是第一个需要学习的

1352

扫码关注云+社区

领取腾讯云代金券