支持向量机中的函数距离的理解

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

SVM是通过超平面将样本分为两类。
在超平面w\cdot x+b=0确定的情况下,|w\cdot x+b|可以相对地表示点x距离超平面的远近。对于两类分类问题,如果w\cdot x+b>0,则x

的类别被判定为1;否则判定为-1。

所以如果y(w\cdot x+b)>0,则认为x的分类结果是正确的,否则是错误的。且y(w\cdot x+b)的值越大,分类结果的确信度越大。反之亦然。

所以样本点(x_{i}, y_{i})与超平面(w, b)之间的函数间隔定义为
\gamma_{i} = y_{i} (w\cdot x_{i} + b)

但是该定义存在问题:即wb同时缩小或放大M倍后,超平面并没有变化,但是函数间隔却变化了。所以,需要将w的大小固定,如||w||=1,使得函数间隔固定。这时的间隔也就是几何间隔 。

几何间隔的定义如下
\gamma_{i} = y_{i} (\frac{w}{||w||}\cdot x_{i} + \frac{b}{||w||})

实际上,几何间隔就是点到超平面的距离。想像下中学学习的点(x_i, y_i)到直线ax+by+c=0的距离公式
d(x_i, y_i) = \frac{|ax_i+by_i+c|}{\sqrt{a^2+b^2}}
所以在二维空间中,几何间隔就是点到直线的距离。在三维及以上空间中,就是点到超平面的距离。而函数距离,就是上述距离公式中的分子,即未归一化的距离。

定义训练集到超平面的最小几何间隔是
\gamma = min_{i=1,...,n} \gamma_{i}

SVM训练分类器的方法是寻找到超平面,使正负样本在超平面的两侧,且样本到超平面的几何间隔最大。
所以SVM可以表述为求解下列优化问题
\underset{w, b}{max} \;\;\;\;\;\; \gamma
s.t. \;\;\; y_{i} (\frac{w}{||w||}\cdot x_{i} + \frac{b}{||w||})\geq \gamma

以上内容在《统计学习方法》中,均有详细的讲解。

看到LZ在某评论中说《统计学习方法》详细的看不下去,多说一句。我个人认为这本书是非常容易上手的教材了,很多内容讲解的清晰又不啰嗦,至少比看很多英文原版轻松很多。而网络上很多博客的讲解,又过于散乱。想要深入的学习,还是得看书。
posted @   blcblc  阅读(570)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2017-03-05 gdb x查看二进制
2017-03-05 对于异常处理的深入解析
2017-03-05 决策树算法
2017-03-05 信号 signal sigaction补充
2017-03-05 实验了C++访问私有函数
2017-03-05 C++怎么访问私有变量和函数
2017-03-05 C++里面virtual函数及虚表大小
点击右上角即可分享
微信分享提示