随机森林算法——Random Forest(RF)

Bagging和Boosting 概念及区别随机森林属于集成学习(Ensemble Learning)中的bagging算法。在集成学习中,主要分为bagging算法和boosting算法。我们先看看这两种方法的特点和区别。Baggingbagging的算法过程如下:从原始样本集中使用Bootstraping方法随机抽取n个训练样本,共进行k轮抽取,得到k个训练集。(k个训练...
摘要由CSDN通过智能技术生成

Bagging和Boosting 概念及区别

随机森林属于集成学习(Ensemble Learning)中的bagging算法。在集成学习中,主要分为bagging算法和boosting算法。我们先看看这两种方法的特点和区别。

Bagging

bagging的算法过程如下:

  1. 从原始样本集中使用Bootstraping方法随机抽取n个训练样本,共进行k轮抽取,得到k个训练集。(k个训练集之间相互独立,元素可以有重复)
  2. 对于k个训练集,我们训练k个模型(这k个模型可以根据具体问题而定,比如决策树,knn等)
  3. 对于分类问题:由投票表决产生分类结果;对于回归问题:由k个模型预测结果的均值作为最后预测结果。(所有模型的重要性相同)

Boosting

boosting的算法过程如下:

  1. 对于训练集中的每个样本建立权值wi,表示对每个样本的关注度。当某个样本被误分类的概率很高时,需要加大对该样本的权值。
  2. 进行迭代的过程中,每一步迭代都是一个弱分类器。我们需要用某种策略将其组合,作为最终模型。(例如AdaBoost给每个弱分类器一个权值,将其线性组合最为最终分类器。误差越小的弱分类器,权值越大)

Bagging,Boosting的主要区别

  1. 样本选择上:Bagging采用的是Bootstrap随机有放回抽样;而Boosting每一轮的训练集是不变的,改变的只是每一个样本的权重。
  2. 样本权重:Bagging使用的是均匀取样,每个样本权重相等;Boosting根据错误率调整样本权重,错误率越大的样本权重越大。
  3. 预测函数:Bagging所有的预测函数的权重相等;Boosting中误差越小的预测函数其权重越大。
  4. 并行计算:Bagging各个预测函数可以并行生成;Boosting各个预测函数必须按顺序迭代生成。

下面是将决策树与这些算法框架进行结合所得到的新的算法:

  1. Bagging + 决策树 = 随机森林
  2. AdaBoost + 决策树 = 提升树
  3. Gradient Boosting + 决策树 = GBDT

决策树

常用的决策树分为ID3,C4.5,CART三种。决策树模型的构建如下:

决策树的生成

输入:训练集D,特征集A,阈值eps
输出:决策树T

  1. 若D中所有样本属于同一类Ck,则T为单节点树,将类Ck作为该结点的类标记,返回T
  2. 若A为空集,即没有特征作为划分依据,则T为单节点树,并将D中实例数最大的类Ck作为该结点的类标记,返回T
  3. 否则,计算A中各特征对D的信息增益(ID3)/信息增益比(C4.5),选择信息增益最大的特征Ag
  4. 若Ag的信息增益(比)小于阈值eps,则置T为单节点树,并将D中实例数最大的类Ck作为该结点的类标记,返回T
  5. 否则,依照特征Ag将D划分为若干非空子集Di,将Di中实例数最大的类作为标记,构建子节点,由结点及其子节点构成树T,返回T
  6. 对第i个子节点,以Di为训练集,以A-{Ag}为特征集,递归地调用1~5,得到子树Ti,返回Ti

ID3,C4.5决策树的区别

  1. ID3以信息增益为准则划分属性,递归构建决策树。一般而言,信息增益越大,意味着使用属性进行划分所获得的“纯度提升越大”
  2. C4.5以增益率为准则划分属性。信息增益准则对取值数目较多的属性有所偏好,增益率对取值数目较少的属性有所偏好,C4.5不是直接选择增益率最大的候选划分属性,而使用一种启发式:先从候选划分属性中找到信息增益高于平均水平的属性,再从中选择增益率最高的

CART

分类与回归树(CART)同样由特征选择、树的生成和剪枝组成。但CART还在给定输入随机变量X条件下输出随机变量Y的条件概率分布的学习方法。

CART假设决策树是二叉树,递归地二分每个特征,将输入空间划分为有限个单元,并在这些单元上预测概率分布。
CART由两步组成:

  1. 树生成:基于训练集生成决策树,生成决策树尽量地大。
  2. 树的剪枝:用验证集对已生成的树进行剪枝并选择最优子树。

CART决策树的生成(分类)

输入:训练数据集D,特征值集A
输出:CART决策树
停止计算条件:结点中的样本个数小于预定阈值,样本集的Gini系数小于预定阈值(样本基本属于同一类),或者没有更多特征。

根据训练数据集,从根结点开始,递归地对每个结点进行以下操作,构建二叉决策树:

  1. 设结点的训练数据集为D,计算现有属性对该数据集的Gini系数。此时,对每一个特征A,对其可能取的每个值a,根据样本点对A=a的测试为“是”或“否”将D分割成D1和D2两部分,计算A=a时的Gini系数。
  2. 所有可能的特征A以及它们所有可能的切分点a中,选择Gini系数最小的特征及其对应的切分点作为最优特征与最优切分点。依最优特征与最优切分点,从现结点生成两个子结点,将训练数据集依特征分配到两个子结点中去。
  3. 对两个子结点递归地调用步骤l~2,直至满足停止条件。
  4. 生成CART决策树。

CART决策树的生成(回归)
输入:训练数据集D
输出:回归数f(x)
在训练数据所在输入空间中,递归地将每个区域划分为两个子区域并决定每个子区域的输出值,构建二叉决策树。

  1. 选择最优切分变量j和切分点s,求解
    minj,s[minc1xiR1(j,s)(yic1)2+min
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值