支持向量机,Support Vector Machine,简称SVM,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,学习策略便是间隔最大化,核心思想如下图所示

9分钟学会支持向量机!

支持向量机(SVM)理解起来也并不复杂。众所周知萝莉有三好:身娇、腰柔、易推倒;御姐有三好:啤酒、洗澡、吃嫩草;SVM也有三好:间隔、对偶、核技巧。能够理解这三宝就能快速掌握支持向量机,配合代码就能进行仿真实验,熟练掌握机器学习不再是什么难事。下面我就从三好开始详细解读一下支持向量机。

1、间隔(Margin)

                                                    9分钟学会支持向量机!

如上图所示,是一个典型的线性二分问题,可以很轻松的找到一条直线 y=w*x+b 来分开这两种不同的点。从图中红色点中随意找到一个点 X,它到达直线 y  的距离为 M ,垂点为 X’。距离 M 即为 间隔。根据高中数学所学的点到直线公式,可以推导出间隔M 的表达式,同理也可以推导出坐标原点 O 到直线 y 的距离。

下面给出具体的推导公式:

                                                                9分钟学会支持向量机!

根据点到直线公式推导出了间隔 M 的表达式  9分钟学会支持向量机!。接下来在平面中找到一条线 w*x+b=0,从而可以很轻松的找到 w*x+b=1 和w*x+b=-1 这两条线,间隔 M 的表达式就可以写作 9分钟学会支持向量机!。如下图所示:

                                  9分钟学会支持向量机!

支持向量机的核心思想就是找到一个分类线,能够分开两种数据点,同时使得点到直线的最小距离最大化,也就是间隔最大化问题。在寻找分类线的过程中,不是每一个数据点都被用到,而是只有距离分类线最近的几个点被用到,而距离直线最近的几个点被称为 支持向量。如下图所示:

                          9分钟学会支持向量机!

 

2、对偶

                                 9分钟学会支持向量机! 

根据以上公式,把求解分类线问题转化成了求解最值的问题,也就是二次优化问题。利用拉格朗日数乘法,将以上公式带入展开。 

  9分钟学会支持向量机!

从而就可以求解出直线 y=w*x+b 中的 w和b 这两个值,从而求解出分类直线 y 。

                             9分钟学会支持向量机!

但是在实际问题中,数据点的分布往往会出现一些特殊情况,不会出现上面这种完全能够二分的理想状态,这时就需要引入一些松弛因子,松弛因子的作用就是允许存在一定的误差,举个例子,就像考试的时候,规定分数到达60分为及格,但是老师在计算成绩的时候引入了松弛因子,允许只要分数达到50分就算是及格。

引入松弛因子以后,求解的方法依然是拉格朗日数乘法,公式如下:

                 9分钟学会支持向量机!

3、核技巧

如果单纯是线性二分问题,不用支持向量机也可以求解。而支持向量机要解决的是非线性二分问题。 

                                       9分钟学会支持向量机!

核技巧是指通过引入一个核函数可以把n维低维非线性问题变成m维高维线性问题求解,只需进行n次乘积,再加和,最后整体求i次方即可,核函数的作用是将m维高维内积运算转化为n维低维空间核函数运算,减少了大量的计算。 

         9分钟学会支持向量机!

                                    9分钟学会支持向量机! 

核函数的类型有很多,常用的核函数包括Gaussian和Polynomial。

           9分钟学会支持向量机!

4、总结 

最后再来总结一下SVM的三好:间隔、对偶、核技巧。

                             9分钟学会支持向量机!

相关文章:

  • 2022-02-13
  • 2021-06-10
  • 2022-12-23
  • 2021-04-20
  • 2021-09-16
  • 2021-11-19
猜你喜欢
  • 2021-04-02
  • 2022-12-23
  • 2021-06-30
  • 2021-12-02
  • 2021-12-31
  • 2022-12-23
相关资源
相似解决方案