OpenCV-Python教程:52.理解SVM

理论

线性可分离数据

设想下面的图片,有两种类型的数据,红色和蓝色。在kNN里,对于测试数据,我们对所有训练样本测量他们的距离,并取最小距离的那个。这需要很多时间来测量所有距离并且需要很多内存来存所有的训练样本。但是对于图像里的数据,我们需要那么多么?

考虑另外一个想法,我们找到一根线,f(x) = ax1 + bx2 + c把数据分成两个区域。当我们得到一个新的测试数据 X,只要在f(x)里替换它,如果f(X) > 0, 它属于蓝组,否则它属于红组。我们叫这个线判别边界。这个方法很简单并且省内存。数据可以被直线分成两组(或者高维的超平面)被称作线性可分离

所以在上面的图像里,你可以看到很多这样的直线。我们应该用哪个?直观上我们可以说直线应该离所有点越远越好。为什么?因为输入数据可能有噪音。这种数据不应该影响分类准确性。所以取最远的直线会让噪音影响不了。那么SVM做了什么让它找到一根直线(或者超平面)让直线到所有训练数据的最近距离是最大的。看下面图像里穿过中心的粗线

所以要找到这个判别边界,你需要训练数据,你需要所有的数据么?不,值需要和相对组接近的就很有效了。在我们的图像里,它们是蓝实心圆圈和红色实心方块。我们叫他们支持向量,穿过他们的直线被叫做支持平面,他们足够找到我们的判别平面。我们不需要考虑所有数据。

实际发生的是,找到的前两个超平面最能表现数据。比如蓝色数据由

表示,红色数据由

表示,w是权重向量,x是特征向量。b0是偏置。权重向量决定判别边界的方向,偏置点决定它的位置。现在判别边界被定义为这些超平面中间,表达为

从支持向量到判别边界的最小距离由

给出。边缘是这个距离的两倍,我们需要最大化这个边缘。我们需要最小化一个新的函数L(w.b0)

ti是每个类的标签,ti ∈[-1, 1].

非线性可分离数据

考虑某些数据无法通过直线被分离成两组的情况。比如,一个一维数据'X' 是属于-3 和 +3 ,'O' 是 -1 和 +1。很显然他无法被线性分离。但是有方法可以解决这类问题。如果我们把这个数据通过函数映射,f(x) = x的平方,我们可以得到'X' 是9, 'O'是1,可以线性分离了。

否则我们可以转换这个一维数据到二维。我们可以使用

函数来映射数据,这样'X' 变成(-3, 9)和(3, 9)而'O'变成(-1, 1)和(1, 1)。这也是线性可分离的。简单来说,对于低维空间的非线性可分离的数据在高维空间会很有机会变成线性可分离的。

一般来说,是可以把一个d维的空间映射到D维空间(D > d)来检查是否可能线性分离。在低维(特征)空间执行计算可以帮助在高维(核)空间计算点积。

假设有两个点在二维空间中,p = (p1, p2)和q = (q1, q2)。让φ为二维点到三维空间的映射函数:

让我们定义一个核函数K(p, q)在两点间做点积

这表示,一个三维空间的点积可以是二维空间的点积的平方。这可以被应用到更高维空间。所以我们可以计算低维空间来得到高维特征。当我们映射了他们,我们可以得到高维的空间。

除了这个概念,还有可能分类错误,只是找到最大边缘的判别边界并不是十分有效。我们需要考虑分类误差。有时候,了可能可以用少的边缘找到判别边界,但是可以减小分类错误,不过我们需要修改模型这样它可以用最大边缘来找判别边界。但是更少的分类错误。


下面的图像展示了这个修正,对于训练数据里的每个样本定义了一个新的参数ξi。它是从它对应的训练样本到他们正确的判别区域的距离。对于那些没有分类错误的,他们落在对应的支持平面,所以他们的距离是0.

所以新的优化的问题是:

参数C应该怎么选呢?很显然回答要依赖训练数据是怎么分布的。虽然没有通用答案,但是考虑如下的规则还是有用的:

·C取大值可以解决分类错误较少但是边缘较小的问题。这种情况下要制造分类错误会比较难,因为优化的目标是最小化参数,值循序更少的分类错误。

·C取小值解决较大边缘且更多分类误差的。这种情况不用考虑那么多最小化,所以聚焦在找到有更大边缘的超平面上。

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

推荐阅读更多精彩内容