我们想把蓝色点和红色点分开,有很多种分开方式,但是SVM要那个最好的。但是什么是最好的呢?我们可以想象,找一条马路,将这两类点分开,而且这条马路越宽越好,最宽的那条马路就是最好的。
但是为什么叫支持向量呢?
我们可以把每个点看做是从原点出发的向量,终点是分界平面上的每个点。这个模型就是支持向量机。
下面从支持向量机和逻辑回归损失函数角度分析它们的区别
从边界来看右边的边界分得更宽一些,符合SVM模型。
逻辑回归尝试将所有点远离边界;支持向量机尝试将支持向量推得更开。
加了两个异常点后的效果
逻辑回归很想将这两个点分类正确,左边图符合逻辑回归。支持向量对这两个点的态度是错就错了,只是想要让这个边界更宽。
从损失函数角度分析,逻辑回归对异常点的容忍比较小,而支持向量机对异常点容忍较大,它更难受的是这个边界变窄。
核
无法划线怎么办?像下面的图。
此时可以利用高斯核,我们把一个数据集二维升到三维,在三维空间可以对二维数据进行降维打击。
下面简单介绍一下高斯核,方差越大越胖,方差越小越细。
模型调参
要求马路更宽,
C很小则模型不够严厉,马路就会越宽,如果C很大则模型就会很严厉,马路就会越窄,容易发生过拟合。
gamma越大,很胆怯,势力范围就会越小,不敢跨出自己的势力范围一步,不敢去干预红色两点,容易导师过拟合;gamma越小,就没那么胆怯,势力范围就会越大。