第6章 支持向量机

本文详细介绍了支持向量机(SVM)的概念,包括分类器的优化问题、SVM的一般流程。重点讲解了SMO(Sequential Minimal Optimization)算法,包括简化版和完整Platt SMO算法,以及它们如何处理小规模数据集和加速优化过程。SVM通过寻找最大间隔的分隔超平面来实现高效分类,SMO算法则是求解SVM模型中α参数的有效方法。
摘要由CSDN通过智能技术生成

目录

一.本章专业词汇: 

 二.支持向量机

1.分类器求解的优化问题

2.SVM的一般流程

三、SMO高效优化算法 

1.应用简化版SMO算法处理小规模数据集

2.简化版SMO算法

 3 利用完整Plat  SMO算法加速优化


一.本章专业词汇: 

支持向量机(Support Vector Machines,SVM):是一个现成的分类器,“现成”是指分类器不加修改即可直接使用。SVM能够对训练集之外的数据点做出很好的分类决策。
序列最小优化(Sequential Minimal Optimization,SMO)算法:实现SVM的一个算法。
核函数(kernel):使用核函数可以将SVM扩展到更多数据集上
线性可分(linearly separable)数据:两组数据之间已经分隔得足够开,很容易就可以画出一条直线将两组数据点分开。
分隔超平面(separating hyperplane):将线性可分的数据集分隔开来的直线称为分隔超平面。
超平面(hyperplane):分类的决策边界。如果数据点离决策边界越远,那么其最后的预测结果也就越可信。
间隔(margin):点到分割面的距离被称为间隔。我们希望间隔尽可能的大。
支持向量(support vector):就是离分隔超平面最近的那些点。我们需要试着最大化支持向量到分隔面的距离。
松弛变量(slack variable):允许有些数据点可以处于分割面的错误一侧。
数组过滤(array filtering):数组过滤只对Numpy类型有用,不适用于python中的正则表(regular list)。例如:print(alphas[alphas > 0])
核函数(kernel):可以将数据转换成易于分类器理解的形式
径向基函数(radial basis function):核函数中的一种
内积(inner product)(也称点积):指两个向量相乘,之后得到单个标量或者数值的运算。
核技巧(kernel trick):将内积替换成核函数的方式被称为核技巧或者核“变电”(kernel substation)
 

支持向量机的基本思想:支持向量机从模型的思想上来说并不难理解,如下图所示,平面中有两种类型的点,一种是红色的X点,一种是蓝色的原点。我们现在要将这两种类型的点分开,存在这多种划分方法,我们可以从两类样本的中间化一条红色的直线,但是我们会发现两类样本点离分界线都很近,这样如果我们新输入一个样本点,可能会造成分错类的现象,所以我们的分界线不能随意的取。我们要取一条最优的分界线,既能把两类样本点分开,而且还要使得两类样本点中离分界线最近的点离分界线的距离尽可能的远。结合图像来说一下。如下图中我们圈起来的四个点x1,x2,x3,x4,我们在选取最优的分界线的时候,我们不可能去考虑x3和x4两个点,因为两个点之前的距离太大了,即使选取了分界线把这两个点很好的分开,但是不一定能把离得比较近的两类点分开。所以应该考虑两类点中离得最近的点,一方面只要保证这些点分开,那么其他离得远的点也很容易分开;另一方面,为了使分类的效果尽可能的好,又要保证这些最近的点离分界线的距离尽可能的远,如图中的x1,x2两点,是离得比较近的点,如果我们以红色的线作为分界面,那么样本点x1,x2到分界线的距离明显要小于x1,x2到图中最优分界线的距离。所以我们的目标就是找到如图中最有分界线这样的一条分界线。

 二.支持向量机

  • 优点:泛化错误率低,计算开销不大,结果易解释。
  • 缺点:对参数调节和核函数的选择敏感,原始分类器不加修改仅适用于处理二类问题。
  • 适用数据类型:数值型和标称型数据

1.分类器求解的优化问题

分类,使用类似于海维赛德阶跃函数(即单位阶跃函数)的函数对:

                                                          wTx+b

    wTx+b作用得到:
                                                    f ( u ) , u = w T x + b 

其中,当u < 0时,f(u)输出-1,反之输出+1。

当计算数据点到分隔面的距离并确定分隔面的放置位置时,计算间隔通过:

                                                           label∗(wTx+b)

这时就能体现出-1和+1类的好处了,如果数据点处于正上方(即+1类),并且离分隔超平面很远的位置时,u会是一个很大的正数,同时 label * u 也会是一个很大的正数,而如果数据点处于负方向(-1类)并且离分隔超平面很远的位置时,此时由

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值