前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习|支持向量机(SVM)

机器学习|支持向量机(SVM)

作者头像
数据山谷
发布2020-07-21 11:53:15
4370
发布2020-07-21 11:53:15
举报
文章被收录于专栏:数据山谷数据山谷

01

基础的SVM

了解SVM之前,先让我们来思考一个问题,有下图所示的两类样本点,我们需要找到一条直线(一个平面)来把这两类样本点区分开,在图中可以看到有很多条直线都满足条件,但是哪条直线的分类效果更好呢?

此时该函数我们就可以称之为线性可分支持向量机。sign函数的图像表示如下:

这就是我们简单的线性SVM的思想,那么我们又如何通过间隔最大化来确定分离超平面呢?让我们再来看一下下面的间隔问题。

02

间隔问题

函数间隔

上图中是一个简单的圆与三角的分类问题,我们来讨论一下圆这个类,图中有框出的红、绿、蓝三种颜色的圆,他们都落在圆类的一侧,但是红球距离超平面的距离较远,如果我们把红圆预测为圆类,就比较确信我们的预测是正确的;同理,相对于蓝色的圆,我们就不是很确信;而对于绿色的圆,我们可以认为确信度在二者之间。

几何间隔

03

间隔最大化

在一种我们提到过间隔最大化得到的分类超平面经过sign函数后可以得到线性可分支持向量机,下面我们来说一下间隔最大化具体是怎么回事。

第二节中我们提到了确信度的问题,为了保证更高的确信度我们是不是应该尽量让每一个点到分类超平面的几何间隔都达到最大化,这样做的目的是对于新的数据点,我们不仅能将它分到正负类别中,同时离分类超平面很近的点我们也可以将它很好的分类,并且能够保证有很大的确信度,我们就可以说这个超平面对新数据有很好的预测能力。

此时我们便转化成了一个凸二次规划问题:

凸优化我们可以看做是一个凸函数去找最低点的问题(例如梯度下降法的过程)。

而二次规划是指目标函数为变量的二次函数和约束条件为变量的线性函数。

为了便于求解此类问题我们可以通过求解对偶问题得到原始问题的最优解,这样既可以简单的求解又可以引入后续对非线性分类问题的讨论(后面我们将会讨论对偶问题的求解)。

04

支持向量

05

对偶问题求解

上面我们提到了间隔最大化的求解问题,本节让我们继续来讨论间隔最大化章节中转化为对偶问题的求解。

首先需要明确一下对偶问题的由来,对偶问题是一种应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解。

原始问题:

求极小

求极大

slater的条件规则如下:

06

引入松弛变量的SVM

上文中我们讲述的内容全都是在样本分类很均匀的情况下,而实际问题中这种状况经常是不存在的,那么有噪声点存在的时候应该怎么办呢?

07

损失函数

08

非线性SVM

核技巧

对于非线性支持向量机,我们需要用核技巧将线性支持向量机推广到非线性支持向量机,不仅是SVM其他的一些类似问题也可以用该方式来解答。

所谓核技巧其实就是使得在原空间内不可分的数据映射到更高维度的空间上,然后再使用线性的方法将他们分开的一种思想,用下图来表示一下:

可以看到图左的数据在二维空间内不能用一条直线将他们分开,我们将它映射到一个三维的空间内,此时就会存在一个平面(黄色的部分)将两类分离开来,对于这种思想我们就可以称之为核技巧。

核函数

常用的核函数

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据山谷 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档