码迷,mamicode.com
首页 > 其他好文 > 详细

基于单决策树的AdaBoost

时间:2015-02-22 06:44:38      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

①起源:Boosting算法

Boosting算法的目的是每次基于全部数据集,通过使用同一种分类器不同的抽取参数方法(如决策树,每次都可以抽取不同的特征维度来剖分数据集)

训练一些不同弱分类器(单次分类错误率>0.5),然后将其组合起来,综合评估(默认认为每个分类器权重等价)进行分类。

AdaBoost算法进行了对其进行了改进。

一、每次训练分类器时,给予每条数据用于计算误差的不同权重D。

二、每个分类器,给予用于分类的不同权重alpha。

两种权的使用,使得AdaBoost在组合分类器时,能够根据当前的训练情况做一些调整。

 

②弱分类器:单决策树

单决策树应该是AdaBoost中使用最多的弱分类器。硬伤是单决策树是个0/1二类分类器。(实际是-1/+1二类)

一般决策树是通过DFS,连续选择不同维度多深度划分数据集。

单决策树就是一般决策树的1维版本,只搜dep=1就结束。

单决策树有两个好处:

一、单次分类效果很差(满足弱分类器定义)

二、只要选择维度不同,即便重复使用单决策树,也可以诞生出分类效果不同的分类器。

单决策树对于连续型数据,采用阀值(threshold)分类法。

首先确定所有数据中某个特征维度里的min/max范围。

然后采用步进的方法(每次阀值=min+当前步数*步长)来确定阀值。

基于同一个阀值,又可以把小于/大于阀值的分到不同类(2种分法)。

所以单决策树最多有【D*步数*2】种变形分类器。

 

②双权问题

一、分类器权alpha

 

基于单决策树的AdaBoost

标签:

原文地址:http://www.cnblogs.com/neopenx/p/4297289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!