机器学习:随机森林(Random Forest)

来源:互联网 发布:万恶的资本主义 知乎 编辑:程序博客网 时间:2024/04/28 07:25

本博客参考邹博机器学习课件以及周志华的《机器学习》,仅用于督促自己学习使用,如有错误,欢迎大家提出更正。ps:前面几篇主要关注的是机器学习理论部分,后续博文会写一些相关的实践内容。


随机森林(Random Forest)是在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。首先,来了解一下Bagging的内容。

1、Bagging

Bagging是一种并行式集成学习(ensemble learning)方法。Bagging的策略是自助采样法(bootstrap sampling),即从样本集中重采样(有重复的/有放回的)选出m个样本。采样集的大小和原始样本大小相等。由于是对原始数据集的有放回采样,同一个采样集中可能出现多次同一个样本数据。

假设我们将上述过程重复T次,我们就获得了T个含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合,这就是Bagging的基本流程。在进行预测输出时,是如何进行结合呢?Bagging通常对分类问题使用简单投票法(两个类同票数时,可随机选择一个),对于回归问题采用简单平均法。

注:Bagging主要关注降低方差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效果更为明显。

2、随机森林

如前面所说,随机森林是在Bagging基础上做了修改。

  • 从样本集中用Bootstrap采样选出m个样本;
  • 从所有属性中随机选择k个属性,选择最佳分割属性作为节点建立CART决策树;
  • 重复以上两步T次,即建立了T棵CART决策树;
  • 这T棵CART树形成随机森林,通过投票表决结果来决定数据属于哪一类。

随机森林/Bagging和决策树的关系
随机森林可以使用决策树作为及分类器,但也可以使用SVM、Logistic回归等其他分类器,习惯上,这些分类器组成的“总分类器”,仍然叫做随机森林。

在文中提到的投票机制有哪些方法,可以看下图:
这里写图片描述

顺便搭车贴一下样本不均衡问题的常用处理方法

这里写图片描述

0 0