[ML] 提升方法

基本思想: 改变训练样本的权重, 学习多个分类器, 将分类器进行线性组合, 提高分类的性能.—”三个臭皮匠顶个诸葛亮”.


1. 提升方法AdaBoost算法

1.1 提升方法的思路

强可学习: 一个类, 存在一个多项式的学习算法能够学习它, 并且正确率高.
弱可学习: 一个类, 存在一个多项式的学习算法能够学习它, 正确率仅比随机猜测略好.
强可学习和弱可学习是等价的: 一个概念是强可学习的充要条件是该概念是弱可学习的.

1.1.1 Adaboost算法概述

先得到弱分类器, 然后用它们组成强分类器.
(1) 每一轮都要改变训练数据的权值分布: 提高前一轮被弱分类器错误分类的样本的权值, 使他们在下一轮得到更高的重视.
(2) 将弱分类器组合成强分类器: 给误差率小的弱分类器更高的权值, 使他们在分类中有更强的话语权.

1.2 Adaboost算法

使用二类分类的训练数据集 T={(x1,y1),...,(xN,yN)} T = { ( x 1 , y 1 ) , . . . , ( x N , y N ) } .
输入: 训练数据集T和弱分类算法.
输出: 最终分类器G(x).
(1) 初始化训练数据的权值分布(每个样本的权值相同):
D1=(w11,...,w1N) D 1 = ( w 11 , . . . , w 1 N ) 其中, w1i=1N w 1 i = 1 N
(2) 对于 m=1,...,M m = 1 , . . . , M
(a) 使用具有权值分布为D_m的数据集进行学习, 得到基本分类器:
Gm(x):X{1,+1} G m ( x ) : X → { − 1 , + 1 }
(b) 计算 Gm(x) G m ( x ) 的分类误差率:
em=i=1NwmiI(Gm(x)yi) e m = ∑ i = 1 N w m i I ( G m ( x ) ≠ y i )
(c) 计算 Gm(x) G m ( x ) 的系数:
αm=12ln1emem α m = 1 2 ln ⁡ 1 − e m e m , 明显可以看到 em e m ↑, αm α m
(d) 更新训练数据集的权值分布:
Dm+1=(wm+1,1,...,wm1,N) D m + 1 = ( w m + 1 , 1 , . . . , w m 1 , N )
wm+1,i=wmiexp(αmyiGm(xi))i=1Nwmiexp(αmyiGm(xi)) w m + 1 , i = w m i exp ⁡ ( − α m y i G m ( x i ) ) ∑ i = 1 N w m i exp ⁡ ( − α m y i G m ( x i ) ) , 该式调整的其实是 wm+1,i w m + 1 , i 之间的相对大小.
(3) 构建分类器的线性组合
f(x)=i=1NαmGm(x) f ( x ) = ∑ i = 1 N α m G m ( x )
得到最终分类器
G(x)=sign(f(x)) G ( x ) = s i g n ( f ( x ) )


2. Adaboost算法的训练误差分析

Adaboost最基本的性质是它可以在学习的过程中不断减少训练误差.
Adaboost具有适应性, 能适应弱分类器各自的训练误差率, 这也是它名字的由来(适应的提升).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值