机器学习(11)——非线性SVM

前言:
上一篇介绍了线性SVM还有一些尾巴没有处理,就是异常值的问题。

软间隔

线性可分SVM中要求数据必须是线性可分的,才可以找到分类的超平面,但是有的时候线性数据集中存在少量的异常点,由于这些异常点导致了数据集不能够线性划分;直白来讲就是:正常数据本身是线性可分的,但是由于存在异常点数据,导致数据集不能够线性可分。
我们需要对上一章的SVM算法模型就行改进,对于每个样本只需要引入松弛因子η,使得样本到超平面的函数距离放松了。当然松弛因子的引入是有成本的,可能会导致模型的分类错误。为此我们需要在松弛因子前面加入惩罚项系数,来约束松弛因子的过大行为。通常情况下,惩罚项系数需要调参得到。
异常值在模型中表示如图所示:

image.png

然后按照上一篇的公式进行计算就可以了,这里就不重新推导了,计算步骤分方法可以参见上一章
软间隔小结
(1)可以解决线性数据中携带异常点的分类模型构建的问题;
(2).通过引入惩罚项系数(松弛因子),可以增加模型的泛化能力,即鲁棒性;
(3)如果给定的惩罚项系数越小,表示在模型构建的时候,就允许存在越多的分类错误的样本,也就表示此时模型的准确率会比较低;如果惩罚项系数越大,表示在模型构建的时候,就越不允许存在分类错误的样本,也就表示此时模型的准确率会比较高。
不管是线性可分SⅥM还是加入惩罚系数后的软间隔线性可分SⅥM其实都要求数据本身是线性可分的,对于完全不可以线性可分的数据,这两种算法模型就没法解决这个问题了。类似于下面如图的数据:

多项式扩展

在线性回归中,我们可以通过多项式扩展将低维度的数据扩展成为高维度的数据,从而可以使用线性回归模型来解决问题。也就是说对于二维空间中不是线性可分的数据,将其映射到高维空间中后,变成了线性可分的数据。

例如:两维线性模型:

表现为一条直线,如下图所示:

对其进行多形式扩展为:

二维可以变为五维,函数可以写作为:

在图像上表示为:

多项式扩展主要的作用是把线性不可分的数据,通过向高维空间做一个映射,使得存在一个超平面对数据进行线性分割。

映射函数

结合多项式回归在处理非线性可分数据时候的作用,在SVM的线性不可分的数据上,如果将数据映射到高维空间中,那么数据就会变成线性可分的,从而就可以使用线性可分SVM模型或者软门隔线性可分SVM模型。

也就是说,对于线性不可分SVM模型来讲,重点在于低维特征数据到高维特征数据之间的映射。

问题:怎么找到这个映射呢?也就是按照什么规则进行映射呢?

例如:对于分布两个圆环上的二维空间向量,只需要加上半径为第三空间的值就可以把二维向量映射到三维空间了,如下图所示:

所以映射函数非常多,只要找到能把数据进行线性分开即可。

定义一个从低维特征空间到高维特征空间的映射函数Φ,非线性可分SVM的优化目标函数我们在前面已经给出:

可以看到的是,只需要将原来的低维空间中的两个向量的点积转换为高维空间中两个向量的点积即可。

思考如下:

这样一来问题就解决了吗?似乎是的:拿到非线性数据,就找一个映射,然后一股脑把原来的数据映射到新空间中,再做线性SVM即可。不过事实上没有这么简单!其实刚才的方法稍想一下就会发现有问题:在最初的例子里做了一个二阶多项式的转换,对一个二维空间做映射,选择的新空间是原始空间的所有一阶和二阶的组合,得到了5个维度;如果原始空间是三维,那么我们会得到9维的新空间;如果原始空间是n维,那么我们会得到一个n(n+3)/2维的新空间;这个数目是呈爆炸性增长的,这给计算带来了非常大的困难,而且如果遇到无穷维的情况,就根本无从计算空间恐怖的内积计算量。

能不能找到一个简单的方法解决上述的额问题呢?下面引出核函数

核函数

核函数在解决线性不可分问题的时候,采取的方式是:使用低维特征空间上的计算来避免在高维特征空间中向量內积的恐怖计算量;也就是说此时SVM模型可以应用在高维特征空间中数据可线性分割的优点,同时又避免了引入这个高维特征。

假设函数Φ是一个从低维特征空间到高维特征空间的一个映射,那么如果存在函数K(X,z),对于任意的低维特征向量X和z,都有

称函数K(x,z)为核函数( kernal function);

常用的核函数有线性核函数、多项式核函数和高斯核函数还有sigmoid核函数,比较常用的有多项式核函数和高斯核函数。其中多项式核函数公式如下:


其中γ 、r、d为超参

下面以一个简单的例子来介绍一下多项式核函数的思想,以便增加对核函数的理解:

设两个向量a,b:

映射到五维空间后得到:

image.png

则他们的内积:

我们发现原本的二维空间积也可以得到类似的式子:

可以发现两者之间非常相似,所以我们只要乘上一个相关的系数,就可以让这两个式子的值相等,这样不就将五维空间的一个内积转换为两维空间的内积的运算。也就是多项式函数中的系数。

高斯核函数公式如下:

image.png

由于高斯函数只有一个参数,且能处理包括多项核函数的空间映射,所以实际应用中还是高斯核函数用的比较多。

高斯核函数分割数据的效果如图所示:

image.png

关于高斯核函数的证明,具体思想就是证明出高斯函数可以表示为两个映射函数的乘积,具体证明可以参照:

https://blog.csdn.net/u010551462/article/details/41748807

核函数的总结:

(1)核函数可以自定义;核函数必须是正定核函数,即Gram矩阵是半正定矩阵;

(2)核函数的价值在于它虽然也是将特征进行从低维到高维的转换,但核函数它事先在低维上进行计算,而将实质上的分类效果表现在了高维上,也就如上文所说的避免了直接在高维空间中的复杂计算

(3).通过核函数,可以将非线性可分的数据转换为线性可分数据

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,717评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,501评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,311评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,417评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,500评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,538评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,557评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,310评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,759评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,065评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,233评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,909评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,548评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,172评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,420评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,103评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,098评论 2 352

推荐阅读更多精彩内容

  • 注:题中所指的『机器学习』不包括『深度学习』。本篇文章以理论推导为主,不涉及代码实现。 前些日子定下了未来三年左右...
    我偏笑_NSNirvana阅读 39,955评论 12 145
  • 机器学习是做NLP和计算机视觉这类应用算法的基础,虽然现在深度学习模型大行其道,但是懂一些传统算法的原理和它们之间...
    在河之简阅读 20,497评论 4 65
  • 本章涉及到的知识点清单:1、决策面方程2、函数间隔和几何间隔3、不等式约束条件4、SVM最优化模型的数学描述(凸二...
    PrivateEye_zzy阅读 13,231评论 3 10
  • 二、核函数 上一节我们说到,在引入对偶问题与KKT条件以后,此时的w为 于是此时的模型从wx+b转换成了另一个形式...
    小碧小琳阅读 750评论 0 1
  • 本文参考整理了Coursera上由NTU的林轩田讲授的《机器学习技法》课程的第三章的内容,主要介绍了Kernel ...
    sonack阅读 18,059评论 2 10