Slide 1

Slide 1 text

支持向量机简明介绍 及SVM在字符识别中的应用

Slide 2

Slide 2 text

Contents ● 为什么要选择 SVM ● 究竟什么是 SVM ● SVM的使用 a. 如何找到分类用的函数 b. 如何保证分类函数是最优的 c. 如果找不到怎么办 ● SVM的多类分类

Slide 3

Slide 3 text

为什么使用SVM ● 主要针对小样本情况 ● 有严格的理论和数学基础,避免了实现中的经验成分 ● 是基于结构风险最小化原则,保证学习机器具有良好的泛化能力 ● 在高维情况中同样适用(这点比KNN好很多) ● 训练和识别速度快(每个类别平均20多个字符,训练时间50s不到,单个 字符识别1s以内)

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

定义 Support Vector Machines(SVM) are learning systems that use a hypothesis space of linear function in a high dimensional feature space, trained with a learning algorithm from optimisation theory that implements a learning bias derived from statistical learning theory.

Slide 6

Slide 6 text

high dimension version 为什么要扩展到高维? linear function(Hyperplane) g(x)=ωx+b

Slide 7

Slide 7 text

怎么知道找到的线性函数是最优的?

Slide 8

Slide 8 text

下面是最枯燥的一张幻灯 片,请做好准备!!!

Slide 9

Slide 9 text

几何间隔和函数间隔 超平面wx+b=0确定的情况下,|wx+b|能表示点x距离超平面的远近,结果y表示 分类类别,所以用y(wx+b)表示分类的正确性和确信度,这就是函数间隔 (functional margin)。 当成比例的改变w和b时候,超平面并没有变,函数间隔却变为原来两 倍!!! 我们规定分隔超平面的法向量w为1,即||w||=1时,函数间隔就变成了几何间 隔。(显而易见,几何间隔=函数间隔/||w||)

Slide 10

Slide 10 text

||ω|| 目标:要找到最大的 ||ω|| 等价于:就是找到最大的1/2||ω||2 关于ω:ω是由样本确定的。 ω = α 1 x 1 +α 2 x 2 +α 3 x 3 +... +α n x n α i 是一个个数,称作拉格朗日乘子 如果把一个蓝点换成红点呢? ω和类别有关!! ω = α 1 x 1 y 1 +α 2 x 2 y 2 +α 3 x 2 y 2 +... +α n x 2 y 2 这些拉格朗日乘子,大部分都等于0, 少部分不等于0的(落在红蓝线上),就 是对ω有用的,唯一确定了分类函数, 就是支持向量。

Slide 11

Slide 11 text

怎么找线性分类函数? 若存在K(ω,x),使得: g(x)=K(ω,x)+b 等价与 f(x')=<ω',x'>+b ( ' 表示原有向量的高维向量,通过函数映射) 这样的函数K就被称作核函数。 不同的核函数有不同的特点,二类分类用线性 核,多类分类用高斯核,文本分类适合径向核... ... 如果用了各种核函数,仍然线性不可分呢?

Slide 12

Slide 12 text

如果找不到核函数怎么办? 1. 样本根本就没有规律,是无法分类的 2. 收集样本的同学喝多了,出现失误,存在错误的样本点 找最小的1/2||ω||2 ========> 找最小的 C被称作惩罚因子(cost),越大,允许的错误偏差越多 怎么说的都是二类分类啊,多类分类呢?

Slide 13

Slide 13 text

SVM的多类分类 ● 一类对其余 ● 一对一单挑 1 2 3 4 5 前面几张图都是二类分类,SVM实际上也是一种典型的两 类分类器。字符识别有几十个类,如何破? 如果有k类的话,岂不是要 k(k-1)个SVM?O(N2)不能 忍!

Slide 14

Slide 14 text

完了 如果有什么问题,等会 可以问张金辉同学,谢 谢