我是靠谱客的博主 羞涩乐曲,最近开发中收集的这篇文章主要介绍数据分析算法学习(1):SVM一、模型引入 二、工作原理三、参考文献,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、模型引入

下面有这样一些分类任务:

分类图1       分类图2

                                        图1                                                                                   图2

        左边很容易分,在中间画一条线即可,但是右边呢?这时有人提出一种思路:把这些点放入更高维度,从数学的角度来看,空间维度越高,点在空间中的分布就越稀疏,也就越线性可分,这样就可以用一个切面(可能是任意维的)把这些点切分。数学上可证明存在n,当这些点如果扩张到n维,一定有且仅有一个n-1维的平面可把它们切分开,这个平面就是超平面

图3
图3

        图3为一个具体例子,把图2放到图3所示的三维空间中,可看出有一个二维平面可把它们切分开,该平面为超平面。

 

、工作原理

 

     1、SVM的定义

        用 SVM 计算的过程就是帮我们找到那个超平面的过程,这个超平面就是我们的 SVM 分类器。

        SVM是常见的一种分类方法,是有监督的学习模型。何为有监督?指的是数据事先就带有标签,比如数据x1,x2,x3都为第k类,又比如在图3中明确知道了哪些小球是蓝色类,哪些是红色类。这样有监督训练之后,SVM可以帮我们进行模式识别、分类以及回归分析。

图4
图4

        由图4可以看出来,直线A和C之间有无数条曲线能线性切分红蓝数据点,但其中最优的只有一个,直线C。因为直线C位于A和B的中间,能最大限度地避免误差,即鲁棒性更强。因此寻找切分平面C就是SVM的目标。

        为了寻找切分平面C,需要定义几个概念:

      (1)超平面的表达式:

                                                                        large g(x)=omega ^{t}x+b, quad omega ,xepsilon r^{n}

      (2)分类间隔:A,B分别到C的距离

                                                                             large d_{i} = frac{omega x^{_{i}}+b}{left | omega right |}

      (3)硬间隔:假如数据是完全的线性可分的,那么学习到的模型可以称为硬间隔支持向量机

      (4)软间隔:由于数据噪声,允许一定量的样本分类错误,则称为软间隔支持向量机

        SVM的目标帮我们找到一个超平面,这个超平面能将不同的样本划分开,同时使得样本集中的点到这个分类超平面的最小距离(即分类间隔)最大化。

 

     2、多分类SVM

       原本SVM只是一个二分类器,现在要拓展到多分类可以用两种方法,“一对多法”和“一对一法”。

  •   一对多法

        假设我们要把物体分成 A、B、C、D 四种分类,那么我们可以先把其中的一类作为分类 1,其他类统一归为分类 2。这样我们可以构造 4 种 SVM,分别为以下的情况:

      (1)样本 A 作为正集,B,C,D 作为负集;

      (2)样本 B 作为正集,A,C,D 作为负集;

      (3)样本 C 作为正集,A,B,D 作为负集;

      (4)样本 D 作为正集,A,B,C 作为负集。

        这种方法,针对 K 个分类,需要训练 K 个分类器,分类速度较快,但训练速度较慢,因为每个分类器都需要对全部样本进行训练,而且负样本数量远大于正样本数量,会造成样本不对称的情况,而且当增加新的分类,比如第 K+1 类时,需要重新对分类器进行构造。

  •   一对一法

        一对一法的初衷是想在训练的时候更加灵活。我们可以在任意两类样本之间构造一个 SVM,这样针对 K 类的样本,就会有 C(k,2) 类分类器。比如我们想要划分 A、B、C 三个类,可以构造 3 个分类器:

     (1)分类器 1:A、B;

     (2)分类器 2:A、C;

     (3)分类器 3:B、C。

       当对一个未知样本进行分类时,每一个分类器都会有一个分类结果,即为 1 票,最终得票最多的类别就是整个未知样本的类别。

       优点:如果新增一类,不需要重新训练所有的 SVM,只需要训练和新增这一类样本的分类器。而且这种方式在训练单个 SVM 模型的时候,训练速度快。

       缺点:分类器的个数与 K 的平方成正比,所以当 K 较大时,训练和测试的时间会比较慢

 

 


 

三、参考文献

1、周志华《机器学习》

2、陈旸《数据分析实战45讲》

最后

以上就是羞涩乐曲为你收集整理的数据分析算法学习(1):SVM一、模型引入 二、工作原理三、参考文献的全部内容,希望文章能够帮你解决数据分析算法学习(1):SVM一、模型引入 二、工作原理三、参考文献所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部