Boosting 原理及在分类上的应用

32
Boosting 原原原原原原原原原原 原原原原原 原原 2002 原 12 原 9 原

description

Boosting 原理及在分类上的应用. 电子工程系 刘辉 2002 年 12 月 9 日. Outline. 背景 Boosting 原理 Boosting 算法 Boosting 应用 总结. 背景. 游戏理论( Game theory ) R P S 锤子 布 剪子 锤子 ½ 1 0 布 0 ½ 1 剪子 1 0 ½ 游戏者 1 ( row player) : RSPPSRS… (损失最小化) - PowerPoint PPT Presentation

Transcript of Boosting 原理及在分类上的应用

Page 1: Boosting 原理及在分类上的应用

Boosting 原理及在分类上的应用

电子工程系 刘辉2002 年 12 月 9 日

Page 2: Boosting 原理及在分类上的应用

Outline

背景 Boosting 原理 Boosting 算法 Boosting 应用 总结

Page 3: Boosting 原理及在分类上的应用

背景 游戏理论( Game theory )

R P S锤子 布 剪子

锤子 ½ 1 0 布 0 ½ 1

剪子 1 0 ½

游戏者 1( row player) : RSPPSRS… (损失最小化)游戏者 2( column player ): SRRPSRP… (损失最大化)

Page 4: Boosting 原理及在分类上的应用

背景 在线学习( On-line learning)

马以往的表现马当前的状态马的主人场地安排……..

以上种种因素,如何综合考虑?

选哪个呢?

Page 5: Boosting 原理及在分类上的应用

背景 Boosting 思想源于

三个臭皮匠,胜过诸葛亮Finding many rough rules of thumb can be a lot easier and more effective than finding a single, highly prediction rule.

Page 6: Boosting 原理及在分类上的应用

原理引入 天气预报

预测明天是晴是雨?

传统观念:依赖于专家系统( A perfect Expert)

Page 7: Boosting 原理及在分类上的应用

原理引入 A perfect expert

Reality

CNN(Perfect!)

ABC

CBS

XXX

Page 8: Boosting 原理及在分类上的应用

原理引入 Boosting: based on “Nobody is perfect”, combine

common reporter to obtain perfect expert

更加符合自然界的现实

CNN ABC CBS Reality

X XXX X

Page 9: Boosting 原理及在分类上的应用

原理引入MON TUE WED THU

REALITY

MAJORITY

CNN

ABC

CBS

FOX

TOTAL 32/8 28/8 26/8 15/8

33 7/47/4

X XX

XX

XX

11

11

11

11

1/21/2

11

11

11

11

1/41/4

1/21/2

11

1/41/4

1/21/2

1/81/8

11

22 11 X

X

Page 10: Boosting 原理及在分类上的应用

Boosting—concepts(1) 机器学习( Machine Learning) :将一些已知的并已被成功解决的问题作为范例输入计

算机 , 机器通过学习这些范例总结并生成相应的规则 , 这些规则具有通用性 , 使用它们可以解决某一类的问题 。人脸识别 文本分类 网络安全 生物信息工程

学习机( learner) :机器学习得到的规则或者模型。 样本:所研究问题的实例,一般在训练集中包括正样本和负样本。

一张人脸图像,一篇文章,一个病毒代码,一个生物的遗传编码 训练:采用某种方法,用已知属性的样本作为输入,得到相应规则的过程。 训练集:由已知属性的样本组成的集合,作为训练过程的输入数据。 测试集:由已知属性的样本组成的集合,作为测试过程的输入数据。 假设:学习机对样本做出的判断,即是否符合需要判定的事实。

某张脸是否是张三的,某篇文章是否属于新闻类别

Page 11: Boosting 原理及在分类上的应用

Boosting—concepts(2) 特征选取:从实际数据中抽取反映其本质规律的属性。

人脸图像向量做 PCA 变换得到特征向量的投影系数 对文本进行语法分析后表示成关于词的特征向量

机器学习系统结构表示

训练集

测试集

特征选取 训练

特征选取

学习机

学习机 测试结果

训练过程

测试过程

Page 12: Boosting 原理及在分类上的应用

Boosting—concepts(3) 弱学习机( weak learner): 对一定分布的训练样本给出假设(仅仅强于随机猜测)

根据有云猜测可能会下雨 强学习机( strong learner): 根据得到的弱学习机和相应的权重给出假设(最大程度上符合实际情况: almost

perfect expert)根据 CNN,ABC,CBS 以往的预测表现及实际天气情况作出综合准确的天气预测

弱学习机 强学习机Boosting

Page 13: Boosting 原理及在分类上的应用

Boosting 流程 (loop1)

强学习机弱学习机原始训练集加权后的训练集

加权后的假设X>1?1:-1

弱假设

Page 14: Boosting 原理及在分类上的应用

Boosting 流程 (loop2)

强学习机弱学习机原始训练集加权后的训练集

加权后的假设Y>3?1:-1

弱假设

Page 15: Boosting 原理及在分类上的应用

Boosting 流程 (loop3)

强学习机弱学习机原始训练集加权后的训练集

加权后的假设Z>7?1:-1

弱假设

Page 16: Boosting 原理及在分类上的应用

流程描述 Step1: 原始训练集输入,带有原始分布 Step2: 给出训练集中各样本的权重 Step3: 将改变分布后的训练集输入已知的弱学习机,弱

学习机对每个样本给出假设 Step4: 对此次的弱学习机给出权重 Step5: 转到 Step2, 直到循环到达一定次数或者某度量标

准符合要求 Step6: 将弱学习机按其相应的权重加权组合形成强学习

Page 17: Boosting 原理及在分类上的应用

核心思想 样本的权重

没有先验知识的情况下,初始的分布应为等概分布,也就是训练集如果有 N 个样本,每个样本的分布概率为 1/N 每次循环一后提高错误样本的分布概率,分错样本在训练集中所占权重增大, 使得下一次循环的弱学习机能够集中力量对这些错误样本进行判断。

弱学习机的权重 准确率越高的弱学习机权重越高

循环控制:损失函数达到最小 在强学习机的组合中增加一个加权的弱学习机,使准确率提高,损失函数值减小。

Page 18: Boosting 原理及在分类上的应用

简单问题演示( Boosting 训练过程)

+

+

--

+

+-

-+

+-

-

+

+

--

+

+

--

+

+-

-l oop1

Weak l earner1(y=0. 5)

l oop2Weak l earner2

(x=0. 7)

l oop3Weak l earner3

(y=0. 4)

l oop4Weak l earner4

(x=0. 6)

trai ni ng set等概分布

strong l earnerw1*(y>0. 5?1: -1) + w2*(x<0. 7?1: -1) + w3*(y<0. 4?1: -1) + w4*(x>0. 6?1: -1)

Page 19: Boosting 原理及在分类上的应用

算法—问题描述 训练集 { (x1,y1), (x2,y2),…, (xN,yN) }

xi Rm, yi {-1,+1}

Dt 为第 t次循环时的训练样本分布(每个样本在训练集中所占的概率, Dt 总和应该为 1 ) ht:X{-1,+1} 为第 t次循环时的 Weak learner ,对每个样本给出相应的假设,应该满足强于随机猜测:

wt为 ht 的权重 为 t次循环得到的 Strong learner

21

),( )]([ xhyP tDyx t

t

iitiit hwsignH

1

))(()(

Page 20: Boosting 原理及在分类上的应用

算法—样本权重 思想:提高分错样本的权重 反映了 strong learner 对样本的假设是否正确

采用什么样的函数形式?

)( iti Hy

wrongright

Hy iti 00

)(

)(exp iti Hy

Page 21: Boosting 原理及在分类上的应用

算法—弱学习机权重 思想:错误率越低,该学习机的权重应该越大 为学习机的错误概率

采用什么样的函数形式? 和指数函数遥相呼应:

)]([),( xhyP tDyxt t

t

ttw

1ln21

Page 22: Boosting 原理及在分类上的应用

算法 --Adaboost

T

ttt

t

t

ittitt

t

t

t

iiNN

xhwsignxH

ZZ

xhwyiDiD

wRh

DTt

NiD

yxyxyx

1

1

1

11

))(()(

:learner) (strongclassifier final Output thefactorion normalizat a is

))(exp()()( Update

Compute:learner Get weak

usinglearner Train weak:,1For

1)( Initialize

}1,1{, where),(,),,( :Given

Page 23: Boosting 原理及在分类上的应用

理论分析 -- 最优化 如何求弱学习机的权重? 最基本的损失函数表达形式

为了便于计算,采用以下的目标函数

Boosting 的循环过程就是沿着损失函数的负梯度方向进行最优化的过程。通过调整样本的分布 Dt 和选择弱学习机的权重 wt来达到这个目的。每循环一次,增加一项 ,使损失函数以最快速度下降。

N

iii xHy

1

)0:1?)((

N

iii xHy

1

))(exp(

ti hw

Page 24: Boosting 原理及在分类上的应用

理论分析—熵映射 给定当前分布和选定的弱学习机,如何求下一次的分布? Boosting 的设计思想:

改变分布,提高错误样本概率,使下一次的弱学习机能够集中精力针对那些困难样本。 调整分布后的训练集对当前学习机具有最大的随机性,正确率 50% (恰好为随机猜测)

wrongright

uuU

UD

tiNitit

tt

11

0

1

1

Page 25: Boosting 原理及在分类上的应用

理论分析—熵映射textDt

text

Dt+1

Rel ati veEntropy

Hyperpl ane:Dt+1 * Ut = 0

i iit xfxD )()(1

))(exp()()( 101 xfxDxD tt

相对熵原理(最小鉴别信息原理) 已知随机变量 X (样本集)的先验分布( Dt ),并且已知所求未知分布 Dt+1

满足条件 ( Dt+1*Ut = 0 ) ,那么所求得的未知分布估计值具有如下形式: 物理意义:在只掌握部分信息的情况下要对分布作出判断时,应该选取符合约束条件但熵值取得最大的概率分布。从先验分布到未知分布的计算应该取满足已知条件,不确定度(熵)变化最小的解。

Page 26: Boosting 原理及在分类上的应用

应用—人脸识别

Page 27: Boosting 原理及在分类上的应用

应用—人脸识别

16*16人脸图像

预处理归一化

直方图均衡Gamma变换

特征选择PCA( )特征脸小波变换

Boosting训练器

1 - -> 2 - -> 训练集特征向量输入( ) 直方图计算( ) 选择准确率最高的一3 - -> 4维作为弱学习机( ) 根据公式计算相应的权重,调整样本分布( )

- -> 3 - -> 转向( )直到到达规定的循环次数 输出加权组合后的分类器

Boost i ng训练器内部结构

Page 28: Boosting 原理及在分类上的应用

应用—文本分类

Page 29: Boosting 原理及在分类上的应用

应用—文本分类预处理

格式标准化中文切词过滤噪声词

特征选择词频法

最大增益法

表示成以词为特征的特征向量

1 - -> 2 - -> 训练集特征向量输入( ) 直方图计算( ) 选择准确率最高的一3 - -> 4维作为弱学习机( ) 根据公式计算相应的权重,调整样本分布( )

- -> 3 - -> 转向( )直到到达规定的循环次数 输出加权组合后的分类器

Boosti ng训练器内部结构

Page 30: Boosting 原理及在分类上的应用

总结 Boosting 的思想源泉:

三个臭皮匠,胜过诸葛亮 将一系列粗略的规则加权组合起来得到高度精确的规则。

Boosting 的数学实质: 对目标函数(损失函数)的最优化问题。

Boosting 的理论联系: 最优化 熵映射

Boosting 的应用 人脸识别 文本分类

Page 31: Boosting 原理及在分类上的应用

参考资料 Internet站点

www.boosting.org http://mathworld.wolfram.com

推荐论文 A Brief Introduction to Boosting Experiments with a New Boosting Algorithm Additive Logistic Regression: a Statistical View of Boosting The Boosting Approach to Machine Learning: an overview Game Theory, On-line Prediction and Boosting Boosting as Entropy Projection Logistic Regression, AdaBoost and Bregman Distances

以上论文均可在 www.boosting.org下载

Page 32: Boosting 原理及在分类上的应用

End

Thank you!Have a good supper!