量子位SVM原理详细图文教程!一行代码自动选择核函数,还有实用工具
贾浩楠 发自 凹非寺
量子位 报道 | 公众号 QbitAI
SVM?老分类算法了 , 轻松拿下 。
然而 , 每一次老板让你讲解SVM , 或每一次面试被问到SVM , 却总是结结巴巴漏洞百出 。
「这些人怎么总能精准发现我的盲点?」
简直让人怀疑自己掌握的是假SVM 。
如果你有这样的问题 , 那这篇SVM数学原理对你会有很大帮助 , 一起来看看吧 。
SVM 由线性分类开始
理解SVM , 咱们必须先弄清楚一个概念:线性分类器 。
给定一些数据点 , 它们分别属于两个不同的类 , 现在要找到一个线性分类器把这些数据分成两类 。
如果用x表示数据点 , 用y表示类别(y可以取1或者-1 , 分别代表两个不同的类) , 一个线性分类器的目标是要在n维的数据空间中找到一个超平面(hyper plane) , 将x的数据点分成两类 , 且超平面距离两边的数据的间隔最大 。
本文插图
这个超平面的方程可以表示为( wT中的T代表转置):
本文插图
本文插图
△2维坐标系中 , 超平面是一条直线
当f(x)等于0的时候 , x便是位于超平面上的点 , 而f(x)大于0的点对应 y=1 的数据点 , f(x)小于0的点对应y=-1的点 。
SVM 想要的就是找到各类样本点到超平面的距离最远 , 也就是找到最大间隔超平面 。 任意超平面可以用下面这个线性方程来描述:
本文插图
二维空间点(x , y)到直线Ax+By+C=0的距离公式是:
本文插图
扩展到n维空间后 , 点x=(x1 , x2……xn)到直线wTx+b=0的距离为:
本文插图
其中 :
根据支持向量的定义 , 支持向量到超平面的距离为d , 其他点到超平面的距离大于d 。
于是有:
本文插图
||w||d是正数 , 令它为 1(之所以令它等于 1 , 是为了方便推导和优化 , 且这样做对目标函数的优化没有影响) , 于是:
将两个方程合并 , 有:
至此 , 就得到了最大间隔超平面的上下两个超平面 。
本文插图
每个支持向量到超平面的距离可以写为:
本文插图
由 y(wTx+b)>1>0 可以得到 y(wTx+b)=|wTx+b| , 所以可以将支持向量到超平面距离改写为:
本文插图
最大化这个距离:
本文插图
这里乘上 2 倍是为了后面推导方便 , 对目标函数没有影响 。
带入一个支持向量 , 可以得到:
所以得到的最优化问题是:
处理异常值
有时 , 对于某些点(x(i) , y(i)) , 分类器可能会做出错误操作 。
推荐阅读
- 诸葛小武|全程不需消耗一度电,到底是什么原理?,印度人发明蜂巢状土空调
- 以及到底能不能提升电脑的整体性能,别闹了,RGB的发光原理其实与显示器是一样的
- 阻燃板|阻燃板的阻燃原理是什么?
- 量子技术我国量子领域重大突破,解决1250对原子高保真纠缠态,踏入新阶段
- Array|创造出11维量子态,量子加密通信,共享密码的创纪录量子协议!
- 铭成输送带专家|输送带的工作原理
- 历史那点事儿|海底火山的形成原理是什么?海底火山为何不会被海水熄灭?
- 创意+|20天一准生根,多肉服盆难?上盆后不长根系?了解生根原理
- 军事之窗|这结构可靠才怪,为什么说M1加兰德的枪口集气式原理没人用
- 量子计算机|巨大飞跃!比超级计算机快15亿倍的量子计算机,1万年的计算问题仅需200秒
