机器学习总结(四)——随机森林与GBDT(梯度提升决策树)
1. 随机森林简介
随机森林采用的是bagging的思想,bagging即:通过在训练样本集中进行有放回的采样得到多个采样集,基于每个采样集训练出一个基学习器,再将基学习器结合起来共同实现分类或者回归。随机森林在对决策树进行bagging的基础上,在决策树的训练过程中引入了随机属性选择。传统决策树在选择划分属性的时候是在当前节点属性集合中选择最优属性,而随机森林则是对结点先随机选择包含k个属性的子集,再选择最优属性,k作为一个参数控制了随机性的引入程度。
总结起来包括2个:
- 有放回的采集多个采样集,训练多个基分类器;
- 每个基分类器随机选择一些属性而不是全部属性;
特点:可以很好的避免过拟合
2. 随机森林怎么取最后的结果
对于分类问题:可以对多个基分类器进行投票表决的方式;
对于回归问题:对于预测的值可以简单的平均处理计算;
3. GBDT(梯度提升决策树)对比随机森林
相同点:
- 都是由多棵树组成;最终结果都是由多棵树共同决定;
不同点:
- 随机森林可以是分类树也可以是回归树;GBDT只能是回归树;
- 随机森林对异常值不敏感,而GBDT对异常值很敏感;
- 随机森林对训练集一视同仁,GBDT是基于权值的弱分类器的集成;
- 随机森林采用多数投票等,BDT则是将所有结果累加起来,或者加权累加起来。
4. 随机森林优缺点
- 数据集表现良好;
- 不容易过拟合;
- 既可以处理离散数据也可以处理连续数据,且数据不需要归一化处理;
- 可以很好处理缺失数据(随机森林可以选择特定维度进行,所有某些维度去掉依然可行);5.容易并行化;