SVM支持向量机 Support vector machine
像逻辑回归,解决的是二分类问题
(先讲解线性的 , 后面是非线性的)
SVM想要找的是能把两类数据分的最开的“胖边界”——也就是最好的决策边界
如上图,哪个边界才是最好的呢
同时我们把两类数据分成1 和-1 ,在边界上面的(红色点)视为1 ,下面的点(黄色点)视为-1
(逻辑回归是视为1和0,但是我们可以这样认为,我们的决策边界需要两者都要考虑,因此一个是1 另一个是-1)
那么我们把数据看成地雷,也就是要找出一条最安全的路
那么这条路当然是离雷越远越好
比起左边,我们更想要右边的边界对吧
那么从图上我们可以看到,影响这个边界的会是离我们最近的雷,也就是支持向量
支持向量机,也就是支持向量和决策边界
而在支持向量(离我们最近的雷)后面的雷(数量、分布)是不会对我们的决策边界有影响的
所以现在我们需要得到的是雷对我们边界的距离
假设现在的决策边界就是这个hyper plane ,有两个点符合在决策边界上的就符合1式
那么就可以用二式来表达法向量和平面垂直,
之后就可以有三式,用(x-x')表示求解点向量,和法向量的单位向量的内积就是将前者向量投影到法向量上的长度
而同时
如果等比放大缩小w b 看起来决策边界并没有变化,但是决策间隔却是改变了
例如,2w ,2b,决策边界没有改变但是间隔却是之前的两倍
就需要我们/ w的长度
那么这个也就是我们想要求的点到决策边界的距离
而对于有绝对值的直接求解是比较麻烦的,因此我们需要利用前面说到的将数据分为1和-1这个性质
可以看到 label和实际值(数值