前言
在学习支持向量机过程中,始终不太理解核函数的功能与作用。只记得老师课件中草草带过的一句避免直接求非线性映射, 由核函数替代内积运算。但这句话太抽象了,始终没能理解,于是在网上查阅资料,发现了这篇文章中的一个非常简单易懂的描述,搬运过来,防止以后忘记找不到了。
正文:支持向量机
想象以下情景:
在桌子上有两种颜色的球要分类:
拿根木棍放到桌子上,成功分开了
一个捣蛋鬼在桌子上放了更多的球,导致有一个球放错了边
SVM 通过在棍子两侧留出尽可能大的空隙,将棍子放在最佳位置。(对应最大间隔)
现在,捣蛋鬼放更多的球,木棍还是可以很好地分类
现在,捣蛋鬼把它们放的更乱了
世界上没有一根棍子能让你很好地劈开这些球,那么你该怎么办呢?(掀桌!)球被抛向空中。 然后,用你的忍者技能,抓起一张纸,滑到球中间。(即升高维度进行划分)
现在小球在桌面上来看就是被一条曲线分开了,但在空中是一张纸。
无聊的成年人把球叫做数据,把棍子叫做分类器,把最大的差距叫做优化,把翻桌子叫做核函数,把纸片叫做超平面。
进一步说明
因此,核函数就是一种映射,将低维映射到高维,在高维中进行简单的划分,即可使用线性决策,避免了在低维中的“曲线”。
除此之外,还有一个东西叫做支持向量,在课件中是这样定义的:支撑最小距离最大化的样本
其实,它就是到木棍距离最近的小球们。
经过支持向量且平行于超平面的平面,被称为支持超平面。
更加清晰地总结上述内容:
- 球 —— 数据 [data]
- 棍子 —— 分类器 [classifier]
- 最大间隙 —— 最优化 [optimization]
- 拍桌子 —— 核方法 [kernelling]
- 纸 —— 超平面 [hyperplane]
总结
以上,就是关于支持向量机的全部概念啦!恭喜你,已经对支持向量机有了初步的认识!更深层的对理论的理解可以期待作者下一篇文章。
悄悄放个链接,这个对理论公式的说明也相当清晰!支持向量机公式推导
着急的小朋友先去自己摸索吧!😃