美文网首页
SVM原理(2)

SVM原理(2)

作者: 时间里的小恶魔 | 来源:发表于2018-09-03 22:30 被阅读6次

1,SVM特性

  • 1.1 训练好的模型的算法复杂度是由支持向量的个数决定的,而不是由数据的维度决定的。所以SVM不太容易产生overfitting

  • 1.2 SVM训练出来的模型完全依赖于支持向量(Support Vectors), 即使训练集里面所有非支持向量的点都被去除,重复训练过程,结果仍然会得到完全一样的模型。

  • 1.3 一个SVM如果训练得出的支持向量个数比较小,SVM训练出的模型比较容易被泛化

2. 线性不可分的情况 (linearly inseparable case)

2.1 数据集在空间中对应的向量不可被一个超平面区分开

2.2 两个步骤来解决:

  • 2.2.1 利用一个非线性的映射把原数据集中的向量点转化到一个更高维度的空间中
  • 2.2.2 在这个高维度的空间中找一个线性的超平面来根据线性可分的情况处理
    main-qimg-de8f2ca9c807ee184e2509639fce066d.jpg
    2.3 如何利用非线性映射把原始数据转化到高维中?

2.3.1 例子:

3维输入向量:


Image [2].png

转化到6维空间 Z 中去:


Image [3].png Image [4].png

新的决策超平面:


Image [5].png

其中W和Z是向量,这个超平面是线性的

解出W和b之后,并且带入回原方程:

Image [6].png
2.3.2 思考问题:
2.3.2.1: 如何选择合理的非线性转化把数据转到高纬度中?
2.3.2.2: 如何解决计算内积时算法复杂度非常高的问题?

2.3.3 使用核方法(kernel trick)

3. 核方法(kernel trick)

3.1 动机

在线性SVM中转化为最优化问题时求解的公式计算都是以内积(dot product)的形式出现的

Image [7].png

,其中


Image [8].png

是把训练集中的向量点转化到高维的非线性映射函数,因为内积的算法复杂 度非常大,所以我们利用核函数来取代计算非线性映射函数的内积

3.1 以下核函数和非线性映射函数的内积等同

Image [9].png

3.2 常用的核函数(kernel functions)

h度多项式核函数(polynomial kernel of degree h):

Image [10].png

高斯径向基核函数(Gaussian radial basis function kernel):


Image [11].png

S型核函数(Sigmoid function kernel):

Image [12].png

如何选择使用哪个kernel?

根据先验知识,比如图像分类,通常使用RBF,文字不使用RBF
尝试不同的kernel,根据结果准确度而定

3.3 核函数举例:
假设定义两个向量: x = (x1, x2, x3); y = (y1, y2, y3)
定义方程:f(x) = (x1x1, x1x2, x1x3, x2x1, x2x2, x2x3, x3x1, x3x2, x3x3)
K(x, y ) = (<x, y>)^2
假设x = (1, 2, 3); y = (4, 5, 6).
f(x) = (1, 2, 3, 2, 4, 6, 3, 6, 9)
f(y) = (16, 20, 24, 20, 25, 36, 24, 30, 36)
<f(x), f(y)> = 16 + 40 + 72 + 40 + 100+ 180 + 72 + 180 + 324 = 1024
K(x, y) = (4 + 10 + 18 ) ^2 = 32^2 = 1024
同样的结果,使用kernel方法计算容易很多

4. SVM扩展可解决多个类别分类问题

对于每个类,有一个当前类和其他类的二类分类器(one-vs-rest)

相关文章

  • SVM原理与Sklearn参数详解

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

  • SVM原理(2)

    1,SVM特性 1.1 训练好的模型的算法复杂度是由支持向量的个数决定的,而不是由数据的维度决定的。所以SVM不太...

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

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

  • Task5 朴素贝叶斯、SVM、LDA主题模型

    任务 朴素贝叶斯 朴素贝叶斯的原理 利用朴素贝叶斯模型进行文本分类 SVM模型 SVM的原理 利用SVM模型进行文...

  • Task5 svm

    学习内容 SVM 硬间隔原理 SVM 软间隔 SMO 求解SVM 代码设计 1、硬间隔 本文是需要一定基础才可以看...

  • 机器学习小组第十周打卡

    学习目标 知识点描述:致敬真神:支持向量机 学习目标: SVM算法原理及数学推导 SVM算法中的核函数 SVM算法...

  • 支持向量机SVM(Support Vector Machine)

    from sklearn.svm import SVC 原理:SVM的解决问题的思路是找到离超平面的最近点,通过其...

  • SVM原理(1)

    1. 背景: 1.1, 最早是由 Vladimir N. Vapnik 和 Alexey Ya. Chervone...

  • SVM算法原理

    本章涉及到的知识点清单:1、决策面方程2、函数间隔和几何间隔3、不等式约束条件4、SVM最优化模型的数学描述(凸二...

  • SVM原理详解

    看了该作者的文章,瞬间膜拜了!讲得太好了! 转自:http://www.blogjava.net/zhenanda...

网友评论

      本文标题:SVM原理(2)

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