SVM 学习笔记

1、简介

SVM:支持向量机(Support Vector Machines),通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。

目的:SVM 是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同的数据分隔开

大佬简易通俗理解SVM,强烈推荐看

SVM具体实现和推导

2、关键名词

  • 函数间隔(Functional margin):实际上是人为定义的一个间隔度量
  • 几何间隔(Geometrical margin):是直观上点到平面的距离
  • 最大间隔分类器(Maximum Margin Classifier):
  1. 对于数据点进行分类,当超平面离数据点的“间隔”越大,分类的确信度(confidence)也就越大
  2. 为了使分类的确信度尽量高,需要让所选择的超平面能够最大化这个“间隔”值
  3. 函数间隔不适合作用来最大化间隔值,因为在超平面固定以后,可以等比列地缩放w的长度和b的值
  4. 最大间隔分类超平面的“间隔”指的是几何间隔,因为缩放w和b的时候,它只是随着超平面的变动而变动,函数值是不变的
  • 线性可分
  1. 通过求解对偶问题得到最优解,线性可分条件下支持向量机的对偶算法;
  2. 采用对偶算法优点:一者对偶问题往往更容易求解;二者可以自然的引入核函数,进而推广到非线性分类问题”
  • 线性不可分
  1. 实际情况中大部分数据都不是线性可分的,这个时候满足最大间隔分类的超平面不存在
  2. 一则一个核函数(kernel)κ(⋅,⋅),通过将数据映射到高维空间,来解决原始空间中线性不可分的情况
  3. 具体来说,在线性不可分的情况下,支持向量机首先在低维空间中完成计算,然后通过核函数输入空间映射到高维特征空间,最终在高维特征空间中构造出最优分离超平面,从而把平面上本身不好分的非线性数据分开
  • 建立非线性学习器步骤
  1. 首先使用一个非线性映射将数据变换到一个特征空间F
  2. 然后在特征空间使用线性学习器分类
  • 核函数的本质
  1. 实际中,我们会经常遇到线性不可分的样例,此时,我们常用做法是把特征映射到高维空间中去
  2. 但进一步,若果凡是遇到线性不可分的样例,一律映射到高维空间,那么这个维度大小是会高到可怕
  3. 此时,核函数就隆重登场了,核函数的价值在于它虽然也是将特征进行从低维到高维的转化,但是核函数的绝就绝在它事先在低维进行计算,而将实质上的分类效果表现在了高维上,也就是如上文所说的避免了直接在高维空间中的复杂计算。

猜你喜欢

转载自blog.csdn.net/u012089823/article/details/83578097