熟悉算法--支持向量机

  |   0 评论   |   198 浏览

    最简单的方式理解支持向量机(SVM)。

    什么是SVM?

    当然首先看一下wiki.
    Support Vector Machines are learning models used for classification: which individuals in a population belong where? So… how do SVM and the mysterious “kernel” work?

    好吧,故事是这样子的:

    在很久以前的情人节,大侠要去救他的爱人,但魔鬼和他玩了一个游戏。

    魔鬼在桌子上似乎有规律放了两种颜色的球,说:“你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。”

    0315b82192924fcfa0f947247efd4bf7-image.png

    于是大侠这样放,干的不错?

    269981fbb93048eabf77c8848e068059-image.png

    然后魔鬼,又在桌上放了更多的球,似乎有一个球站错了阵营。

    a08b8431cc8642bc8b640257a9b6c60e-image.png

    SVM就是试图把棍放在最佳位置,好让在棍的两边有尽可能大的间隙。

    6cda8d89baf944c4b2e3d9d8c8a4031e-image.png

    现在即使魔鬼放了更多的球,棍仍然是一个好的分界线。

    64ebd370dd7c4916af5a643cefd67b16-image.png

    然后,在SVM 工具箱中有另一个更加重要的 trick。 魔鬼看到大侠已经学会了一个trick,于是魔鬼给了大侠一个新的挑战。

    5683729624c74d5087e6bf0afaf56e7e-image.png

    现在,大侠没有棍可以很好帮他分开两种球了,现在怎么办呢?当然像所有武侠片中一样大侠桌子一拍,球飞到空中。然后,凭借大侠的轻功,大侠抓起一张纸,插到了两种球的中间。

    a436e206021b4e5abe0654a3a804b96c-image.png

    现在,从魔鬼的角度看这些球,这些球看起来像是被一条曲线分开了。

    8f3554f2b66942908565d549d20e90a4-image.png

    再之后,无聊的大人们,把这些球叫做 「data」,把棍子 叫做 「classifier」, 最大间隙trick 叫做「optimization」, 拍桌子叫做「kernelling」, 那张纸叫做「hyperplane」。

    直观感受看:https://www.youtube.com/watch?v=3liCbRZPrZA

    2b020681c16b442caeef24ef5c300a69-image.png

    aefae39433f2427e872f2791534bb398-image.png

    821b2a37f9a74576ae174e77639300f8-image.png

    9a02b58dd89f488ea2d52e0b9dacbde7-image.png

    90b87bb233bc4f5eb1f696cd74664c17-image.png

    作者:简之
    链接:https://www.zhihu.com/question/21094489/answer/86273196
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    评论

    发表评论

    validate