SVM总结

作者: 博士伦2014 | 来源:发表于2019-07-20 21:54 被阅读101次

1. 请说一下SVM的原理/简要介绍SVM

SVM 是一种二分类模型。它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器

  • 当训练样本线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机
  • 当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,即线性支持向量机
  • 当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机

以上各种情况下的数学推导应当掌握,硬间隔最大化(几何间隔)、学习的对偶问题、软间隔最大化(引入松弛变量)、非线性支持向量机(核技巧)。


SVM

2. SVM 为什么采用间隔最大化

  • 当训练数据线性可分时,就会存在无数个分离超平面可以将训练数据正确的分开。
  • 线性可分支持向量机利用间隔最大化求得最优分离超平面,这时,解是唯一的。
  • 另一方面,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。


    间隔最大化

可以借此机会阐述一下几何间隔以及函数间隔的关系。

3. 为什么要将求解 SVM 的原始问题转换为其对偶问题

  • 一是对偶问题往往更易求解,当我们寻找约束存在时的最优点的时候,约束的存在虽然减小了需要搜寻的范围,但是却使问题变得更加复杂。为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点。
  • 二是可以自然引入核函数,进而推广到非线性分类问题。

4. 为什么 SVM 要引入核函数

  • 当样本在原始空间线性不可分时,可将样本从原始空间映射到一个更高维的特征空间,使得样本在高维特征空间内线性可分。
  • 而引入这样的映射后,所要求解的对偶问题的求解中,无需求解真正的映射函数,而只需要知道其核函数。
  • 核函数的定义:K(x,y)=<ϕ(x),ϕ(y)>,即在特征空间的内积等于它们在原始样本空间中通过核函数 K 计算的结果。
    • 一方面数据变成了高维空间中线性可分的数据,
    • 另一方面不需要求解具体的映射函数,只需要给定具体的核函数即可,这样使得求解的难度大大降低。


      为什么引入核函数
      特征映射

5. SVM 不同核函数之间的区别

一般选择线性核和高斯核,也就是线性核与 RBF 核。

  • 线性核:主要用于线性可分的情形,参数少,速度快,对于一般数据,分类效果已经很理想了。
  • RBF 核:主要用于线性不可分的情形,参数多,分类结果非常依赖于参数。
  • 如果 Feature 的数量很大,跟样本数量差不多,这时候选用线性核的 SVM。
  • 如果 Feature 的数量比较小,样本数量一般,不算大也不算小,选用高斯核的 SVM。

其他的还有

  • Sigmoid 核 Sigmoid 核
  • Cosin 核 Cosin 核
  • Chi-squared 核 Chi-squared 核

6. 扩展SVM到支持多个类别

两种方法

  1. OVR (one versus rest): 对于K个类别的情况, 训练K个SVM, 第j个SVM用于判读任意条数据是属于类别j还是属于类别非j. 预测的时候, 具有最大值的 𝜃_i^𝑇 𝒙表示给定的数据 x 属于类别i.

  2. OVO (one versus one), 对于K个类别的情况, 训练K * (K-1) /2个SVM, 每一个SVM只用于判读任意条数据是属于K中的特定两个类别. 预测的时候, 使用K * (K-1) /2个SVM做 K * (K-1) /2次预测, 使用计票的方式决定数据被分类为哪个类别的次数最多, 就认为数据x属于此类别.

举例

7. 支持向量机的优势

  • 泛化性能比较好, 不容易过拟合
  • 可以在较少的数据下取得好的性能
  • 存在全局最优解
  • 存在高效实现的训练算法
  • 可以使用kernel trick处理非线性的问题

8. 缺点

  • 大规模训练样本(m阶矩阵计算) 速度慢
  • 传统的SVM不适合多分类
  • 对缺失数据、参数、核函数敏感

9. 为什么SVM对缺失数据敏感

  • 这里说的缺失数据是指缺失某些特征数据,向量数据不完整。
  • 因为SVM 没有处理缺失值的策略。而 SVM 希望样本在特征空间中线性可分,所以特征空间的好坏对SVM的性能很重要。缺失特征数据将影响训练结果的好坏

10. SVM推导

函数间隔—>几何间隔—>几何间隔最大化—>函数间隔最大化—>令r^=1—> max 变 min—->拉格朗日函数—->求解对偶问题的3个步骤
(1)线性可分 (2)线性近似可分 (3)线性不可分

SVM和LR的不同

1、样本点对模型的作用不同。SVM中,只有关键的样本点(支持向量)对模型结果有影响,而LR中,每一个样本点都对模型有影响。
2、损失函数不同。SVM是hinge损失函数,LR是log损失函数
3、理论基础不同。SVM基于严格的数学推导,LR基于统计。
4、输出不同。LR可以对每个样本点给出类别判断的概率值,SVM无法做到。
5、可处理的特征空间维度不同。LR在特征空间维度很高时,表现较差。SVM则可以通过对偶求解高效应对这一挑战。
6、防止过拟合能力不同。SVM模型中内含了L2正则,可有效防止过拟合。LR要自己添加正则项。
7、处理非线性分类问题能力不同。SVM可通过核函数灵活地将非线性问题转化为线性分类问题。LR如果要做到这一点,需要自己手动地进行特征转换。
8、处理分类问题能力不同。SVM只能处理二类分类问题,如果要处理多类别分类,需要进行 one VS one 或one VS all建模。LR可以直接进行多类别分类。
9、计算复杂度不同。对于海量数据,SVM的效率较低,LR效率比较高。
10、对数据要求不同。SVM依赖于数据表达出的距离测度,所以需要对数据进行标准化处理,而LR不需要。
11、能力范围不同。 SVM拓展后,可解决回归问题,LR不能。
12、可解释性不同。LR基于统计,可解释性比SVM好。
13、抗噪声数据能力不同。SVM的损失函数基于距离测度,抗噪声能力要强于LR。

参考:
https://cloud.tencent.com/developer/user/1478933
BAT面试题1:请简要介绍下SVM
机器学习面试篇:蚂蚁金服电话面试二
数据挖掘面试题之SVM和LR的不同
SVM 高频面试题
这样一步一步推导支持向量机,谁还看不懂
机器学习岗位面试问题汇总 之 SVM

相关文章

  • SVM原理与Sklearn参数详解

    目录 1、SVM(Support Vector Machines)原理 2、SVM参数/属性/接口详解 3、总结 ...

  • 13 SVM - SVR(回归问题的SVM)

    12 SVM - SMO - 初始β变量的选择、总结 十七、SVR 回归问题的SVM SVM和决策树一样,可以将模...

  • SVM总结

    前言 分类就像用刀切一样,要想尽量把两类完全切开这就是分类器追求的目标。SVM是一个通用的分类器。 找刀 其实就是...

  • SVM总结

    1. 请说一下SVM的原理/简要介绍SVM SVM 是一种二分类模型。它的基本模型是在特征空间中寻找间隔最大化的分...

  • 支持向量机(SVM)基本原理

    SVM 看了很多关于SVM的博客,但是常常只能保存书签之后看,有时候有的博客就突然没了,这里就作为搬运工总结一下之...

  • 通俗易懂的支持向量机SVM

    SVM 的原理和目标 几个基本概念 线性可分SVM——线性 SVM——非线性 SVM1、线性可分SVM,表示可以用...

  • 机器学习入门(十六):SVM——线性 SVM,间隔由硬到软

    从线性可分 SVM 到线性 SVM 从现实情况引出线性 SVM 线性可分 SVM,这种 SVM 学习的训练数据本身...

  • Test

    总结-基于新浪财经数据的关系抽取的多分类模型构建 @(Relation Extraction)[svm|jinto...

  • 第7章 SVM的三层理解

    内容 一、了解SVM 二、深入SVM 三、证明SVM(暂时不懂) ########################...

  • 05 SVM - 支持向量机 - 概念、线性可分

    04 SVM - 感知器模型 一、SVM概念 支持向量机(Support Vector Machine, SVM)...

网友评论

    本文标题:SVM总结

    本文链接:https://www.haomeiwen.com/subject/luxplctx.html