1.严格的支持向量机
支持向量机要解决的问题
对于前面学的决策树来说分得开,分的纯就可以。而对于支持向量机来说还要分的好才行。
从图中可以看出这条直线越胖越好
2支持向量机求解目标
image.png
image.png
要求x到平面的距离,方法是先求x到x'的距离d,d的映射就是x到平面的距离。
wT(法向量)/w的模=单位方向-----映射方式
image.png
图上的公式是把绝对值打开的结果
svm解决二分类问题不用0和1 表示,而是用+1和-1表示
seita(x)是数据,它是已知的,w和b 是未知的。所以svm的核心是:先找到最近的点min,然后找出来这个点对应的到这条直线的距离最远。 image.png
凸函数求极大值不好求,但求极小值好求,所以转换成求极小值的问题
image.png image.png
image.png
对偶问题中最大值中的最小值一定大于最小值中的最大值,所以原始问题的解转换成对偶问题中的解,因为对偶问题中的解包含在原始问题解里面。
image.pngimage.png
image.png
3.支持向量机求解例子
image.png
image.png
image.png
image.png
image.png
b是根据yi(wx+b)=1带入其中的任何一个支持向量机的点取出来的。
从图上可以看出x2对于求解超平面没有作用,没有参与其中。所以引出支持向量机中的支持向量的含义:找出什么向量支撑超平面(在本题中是找出x1和x3这2个向量支撑超平面)x1和x3作为支撑向量。通过支撑向量求解超平面。
4.软间隔支持向量(支持向量机更严格些)
image.png
image.png
因为有一些离群点,所以引入了松弛因子
5.核函数变换(核心)
(决策树是一刀一刀的 切)现在就是要做一个分类器,把红色和蓝色分开来,在前面学的决策树是一刀一刀的切分,切分的多了肯定切得开、但是一旦有一个模型分的越细,枝叶就会庞大,就会出现过拟合的风险,过拟合的风险就大。一般来说,通常要避免过拟合现象,解决的方法就是:把低维的转换成高维的。在本例中是把二维的转化成3维的,然后红色往上推点,蓝色往下一点,但是红蓝色在x,y轴上没有变化,再拿一个平面去切,就可以把两者分开了。那么问题是低维的怎么转换成高维的呢?
这里引入内积 image.png
image.png
image.png
image.png
严格的支持向量机经过变换变成软间隔支持向量机,再经过变换成核函数
先转换成高维的再做内积,如果是更高维的话计算量太大,所以这里转换成子先内积再做平方项,两者结果是一样的。
所以有的时候面试官会计算量那么大为什么还要引入支持向量机呢?因为支持向量机可以做一个巧妙的变换,现在低维做内积,用内积的结果做转换相当于把数据先转换成高维再做内积,最终结果是一样的。
支持向量机的核心的内容 也是牛逼的地方是:可以使用核函数,通过f(x)映射成高维的,如图的分布。在图中通过高斯核函数把每个点都映射成高斯分布,把数据带进去,对于每一个样本做个往下和往上的划分,具体几维不好说,多大维都可以。
参考资料:
通俗易懂的支持向量机SVM
支持向量机(SVM)的详细推导过程及注解
支持向量机(SVM)入门理解与推导
机器学习实战教程(八):支持向量机原理篇之手撕线性SVM
机器学习实战(六)——支持向量机
SVM支持向量机入门及数学原理
机器学习实战(六)——支持向量机
类别预测 深入解析python版SVM源码系列(三)——计算样本的预测类别
Python3机器学习实践:支持向量机理论与实例
(alpha(1)和alpha(2)的迭代公式弄懂啦)SMO算法最通俗易懂的解释
(2个alpha完整解读)支持向量机原理(四)SMO算法原理
SMO算法精解
网友评论