如何推导“支持向量机”
0.前言
本文只讲述支持向量机(svm)的基础,不涉及任何高深东西。
1. 支持向量机 作用
先看一图:
我们第一直觉就是在两堆点中间画一根线,分开两类点。2. 如何判断好坏
下面问题来了,能够区分两堆点的线有好多,怎么区分哪个好?这就引出了**街宽(margin)**的概念:
上面两条曲线,我们可以用下面的两个公式表达:此处我们为什么选择常数1?因为如果假设是常数k,我们总可以通过两边同时除以k,对w和b进行缩放,让等式右边变为1.
上面两个式子可以统一为:
下面我们来计算街宽:
我们通过下面公式来计算街宽。3. 优化街宽
我们现在知道街宽只和w相关,下面是我们的优化目标:
此时所有(x,y)满足:
4. 最优解
总结下目前的优化目标:
我们通过拉格朗日可以将其转换为下面的求极值问题:推导到这里,我们可以通过一些数学的工具包解出来。当我们求出后,我么就能将w,b带回原来的式子,得到:5. 支持向量
支持向量机中中一个很重要的概念就是支持向量,让我们来看上面推导中的式子:
上面红色部分,对于那些不在“站街”上的点,其值肯定是大于0的,因此为了取得最大值,最好的方式就是让,因此我们在判断式子中,只需要计算的那些和新加入点x的点积即可。一个形象说明:6. 核函数
线性空间到非线性空间变化,从而使得数据线性可分:
核函数的意义在于:我们不需要知道具体的映射函数是什么[由于太复杂我们也求不出相关推荐
mogigo00 2020-05-21
rein0 2020-05-03
jhshanyu00 2020-05-03
winmeanyoung 2020-05-01
chenfei0 2020-02-24
seekerhit 2020-01-30
sxyhetao 2019-12-03
卖小孩的咖啡 2019-11-07
卖小孩的咖啡 2019-11-01
luozaifei 2016-06-13
AmbiRF 2019-07-01
刘利新西安 2015-12-17
雅言敦行 2019-06-27
yonezcy 2019-06-27
不系之舟讨论群0 2019-06-18
itaquestion 2019-06-15
HandsomeFuHS 2019-05-07
SystemArchitect 2018-08-13