随机森林和adaboost对比

随机森林和adaboost都是集成学习比较经典的模型

随机森林和adaboost所使用的思想不同

随机森林运用bagging的思想,相当于并行,利用随机的方式将许多决策树组合成一个森林,每个决策树在分类的时候决定测试样本的最终类别

adaboost运用boosting的思想,是一种迭代算法,针对同一个训练集训练不同的分类器并加权累加到总模型中,将不同的学习器线性组合得到最终的强学习器

学习器训练使用的样本不同

随机森林使用bagging思想,采取随机有放回抽样的方式,重新选择出s个新数据集来分别训练s个分类器的集成技术,模型的训练数据中允许存在重复数据,每个新数据集的样本数量必须和原始数据集的样本数量一致(不同的数据集训练不同的学习器)

adaboost使用boosting的思想,使用所有样本,为每个样本赋予一个权重(样本加权),每次用训练好的学习器标注/预测各个样本,如果某个样本点被预测的越正确,则将其权重降低;否则提高样本的权重。权重越高的样本在下一个迭代训练中所占的比重越大,也就是说越难区分的样本在训练过程中会变得越重要(相同的数据集训练不同的学习器)

构建过程

随机森林

从样本集中用Bootstrap采样选出n个样本;、

从所有属性中随机选择K个属性,选择出最佳分割属性作为节点创建决策树;

重复以上两步m次,即建立m棵决策树;

这m个决策树形成随机森林,通过投票表决结果决定数据属于那一类

Adaboost

  1. 假设训练数据集

  2. 初始化训练数据权重分布

  3. 使用具有权值分布Dm的训练数据集学习,得到基本分类器

  4. 计算Gm(x)在训练集上的分类误差

  5. 计算Gm(x)模型的权重系数αm

  6. 权重训练数据集的权值分布

  7. 权重归一化

  8. 构建基本分类器的线性组合

优缺点

 随机森林

RF的主要优点:

  1. 训练可以并行化,对于大规模样本的训练具有速度的优势;

  2. 由于进行随机选择决策树划分特征列表,这样在样本维度比较高的时候,仍然具有比较高的训练性能;

  1. 给以给出各个特征的重要性列表;

  2. 由于存在随机抽样,训练出来的模型方差小,泛化能力强;

  3. RF实现简单;

  4. 对于部分特征的缺失不敏感。

RF的主要缺点:

  1. 在某些噪音比较大的特征上,RF模型容易陷入过拟合;

  2. 取值比较多的划分特征对RF的决策会产生更大的影响,从而有可能影响模型的效果

Adaboost 算法优缺点

优点:

1)Adaboost 是一种有很高精度的分类器

2)可以使用各种方法构建子分类器,Adaboost 算法提供的是框架

3)当使用简单分类器时,计算出的结果是可以理解的,而弱分类器构造极其简单

4)简单,不用做特征筛选

AdaBoost的优点如下:

  • 可以处理连续值和离散值;

  • 解释强,结构简单。

AdaBoost的缺点如下:

  • 对异常样本敏感,异常样本可能会在迭代过程中获得较高的权重值,最终影响模型效果。

应用场景

RF算法

实际应用中具有比较好的特性,应用也比较广泛,主要应用在:分类、 回归、特征转换、异常点检测等

Adaboost 算法应用场景

1)用于二分类应用场景

2)用于做分类任务的 baseline--无脑化,简单,不用调分类器

3)Boosting 框架用于对 badcase 的修正--只需要增加新的分类器,不需要变动原有分类器

猜你喜欢

转载自www.cnblogs.com/hive617/p/12499710.html