什么是SVM?
当然首先看一下wiki.
Support Vector Machinesare learning models used for classification: which individuals in a population belong where? So… how do SVM and the mysterious “kernel” work?
好吧,故事是这样子的:
在很久以前的情人节,大侠要去救他的爱人,但魔鬼和他玩了一个游戏。
魔鬼在桌子上似乎有规律放了两种颜色的球,说:“你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。”
<img src="https://pic2.zhimg.com/5aff2bcdbe23a8c764a32b1b5fb13b71_b.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">
于是大侠这样放,干的不错?
<img src="https://pic2.zhimg.com/3dbf3ba8f940dfcdaf877de2d590ddd1_b.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">
然后魔鬼,又在桌上放了更多的球,似乎有一个球站错了阵营。
<img src="https://pic4.zhimg.com/0b2d0b26ec99ee40fd14760350e957af_b.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">
SVM就是试图把棍放在最佳位置,好让在棍的两边有尽可能大的间隙。
<img src="https://pic2.zhimg.com/4b9e8a8a87c7982c548505574c13dc05_b.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">
现在即使魔鬼放了更多的球,棍仍然是一个好的分界线。
<img src="https://pic4.zhimg.com/7befaafc45763b9c4469abf245dc98cb_b.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">
然后,在SVM 工具箱中有另一个更加重要的trick。 魔鬼看到大侠已经学会了一个trick,于是魔鬼给了大侠一个新的挑战。
<img src="https://pic4.zhimg.com/558161d10d1f0ffd2d7f9a46767de587_b.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">
现在,大侠没有棍可以很好帮他分开两种球了,现在怎么办呢?当然像所有武侠片中一样大侠桌子一拍,球飞到空中。然后,凭借大侠的轻功,大侠抓起一张纸,插到了两种球的中间。
<img src="https://pic4.zhimg.com/55d7ad2a6e23579b17aec0c3c9135eb3_b.png" data-rawwidth="300" data-rawheight="167" class="content_image" width="300">
现在,从魔鬼的角度看这些球,这些球看起来像是被一条曲线分开了。
<img src="https://pic3.zhimg.com/e5d5185561a4d5369f36a9737fc849c6_b.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">
再之后,无聊的大人们,把这些球叫做「data」,把棍子 叫做「classifier」, 最大间隙trick 叫做「optimization」, 拍桌子叫做「kernelling」, 那张纸叫做「hyperplane」。
图片来源:Support Vector Machines explained well
直观感受看:https://www.youtube.com/watch?v=3liCbRZPrZA
<img src="https://pic4.zhimg.com/3a05c21b8fbb9c4cb8198815ec6a3fd7_b.png" data-rawwidth="1280" data-rawheight="800" class="origin_image zh-lightbox-thumb" width="1280" data-original="https://pic4.zhimg.com/3a05c21b8fbb9c4cb8198815ec6a3fd7_r.png">
<img src="https://pic1.zhimg.com/dd8facea0b915fedf9c3690ce67f6cf8_b.png" data-rawwidth="2560" data-rawheight="1600" class="origin_image zh-lightbox-thumb" width="2560" data-original="https://pic1.zhimg.com/dd8facea0b915fedf9c3690ce67f6cf8_r.png">
<img src="https://pic4.zhimg.com/c76fafd31978db1744e6286e276fe25b_b.png" data-rawwidth="2560" data-rawheight="1600" class="origin_image zh-lightbox-thumb" width="2560" data-original="https://pic4.zhimg.com/c76fafd31978db1744e6286e276fe25b_r.png">
<img src="https://pic2.zhimg.com/71bd4dfd0a59b50fd1a06523dd281425_b.png" data-rawwidth="2560" data-rawheight="1600" class="origin_image zh-lightbox-thumb" width="2560" data-original="https://pic2.zhimg.com/71bd4dfd0a59b50fd1a06523dd281425_r.png">
<img src="https://pic3.zhimg.com/169230b78232b9e73780174bae2afa86_b.png" data-rawwidth="2560" data-rawheight="1600" class="origin_image zh-lightbox-thumb" width="2560" data-original="https://pic3.zhimg.com/169230b78232b9e73780174bae2afa86_r.png">
<img src="https://pic1.zhimg.com/c8f830648ec0a24419ff3c68e9b65484_b.png" data-rawwidth="2560" data-rawheight="1600" class="origin_image zh-lightbox-thumb" width="2560" data-original="https://pic1.zhimg.com/c8f830648ec0a24419ff3c68e9b65484_r.png">
<img src="https://pic2.zhimg.com/19236d74e67a4e1ea804f6f4d47e8dcd_b.png" data-rawwidth="2560" data-rawheight="1600" class="origin_image zh-lightbox-thumb" width="2560" data-original="https://pic2.zhimg.com/19236d74e67a4e1ea804f6f4d47e8dcd_r.png">
<img src="https://pic1.zhimg.com/c18864b0ecfe9bf8e9b8d6001b5bbf7c_b.png" data-rawwidth="2560" data-rawheight="1600" class="origin_image zh-lightbox-thumb" width="2560" data-original="https://pic1.zhimg.com/c18864b0ecfe9bf8e9b8d6001b5bbf7c_r.png">
<img src="https://pic4.zhimg.com/7c19253df763e678cd6377cbfdabc01f_b.png" data-rawwidth="2560" data-rawheight="1600" class="origin_image zh-lightbox-thumb" width="2560" data-original="https://pic4.zhimg.com/7c19253df763e678cd6377cbfdabc01f_r.png">
<img src="https://pic3.zhimg.com/87aa4bb4e046b75e37f05b369304b58a_b.png" data-rawwidth="2560" data-rawheight="1600" class="origin_image zh-lightbox-thumb" width="2560" data-original="https://pic3.zhimg.com/87aa4bb4e046b75e37f05b369304b58a_r.png">
<img src="https://pic3.zhimg.com/cc891d721ee902434f362821091bc496_b.png" data-rawwidth="2560" data-rawheight="1600" class="origin_image zh-lightbox-thumb" width="2560" data-original="https://pic3.zhimg.com/cc891d721ee902434f362821091bc496_r.png">
<img src="https://pic3.zhimg.com/474312c10e1f681f3ff9f928aa59dfaa_b.png" data-rawwidth="2560" data-rawheight="1600" class="origin_image zh-lightbox-thumb" width="2560" data-original="https://pic3.zhimg.com/474312c10e1f681f3ff9f928aa59dfaa_r.png">
参考:
Please explain Support Vector Machines (SVM) like I am a 5 year old. : MachineLearning
Support Vector Machines explained well
https://www.youtube.com/watch?v=3liCbRZPrZA