机器学习算法之集成学习:随机森林、GBDT、XGBoost(上)

一程序员家的水管坏了,他打电话叫来一个水管工修理。水管工鼓捣了一个小时,终于把管子修好了,他递给程序员一张600元的帐单。
“600元!”程序员愤怒地说:“我当程序员一天都赚不了这么多钱!”
“是啊。”水管工平静地说,“我当程序员的时候也是。”

在这里插入图片描述

随机森林
提升算法
GBDT(迭代决策树)
Adaboost

集成学习(Ensemble Learning)

集成学习的思想是将若干个学习器(分类器&回归器)组合之后产生一个新学习器。
弱分类器(weak learner)指那些分类准确率只稍微好于随机猜测的分类器(error
rate < 0.5);
集成算法的成功在于保证弱分类器的多样性(Diversity)。而且集成不稳定的算法
也能够得到一个比较明显的性能提升。
常见的集成学习思想有:
Bagging
Boosting
Stacking

在这里插入图片描述
Why need Ensemble Learning?
1. 弱分类器间存在一定的差异性,这会导致分类的边界不同,也就是说可能存在
错误。那么将多个弱分类器合并后,就可以得到更加合理的边界,减少整体的错
误率,实现更好的效果;
2. 对于数据集过大或者过小,可以分别进行划分和有放回的操作产生不同的数据
子集,然后使用数据子集训练不同的分类器,最终再合并成为一个大的分类器;
3. 如果数据的划分边界过于复杂,使用线性模型很难描述情况,那么可以训练多
个模型,然后再进行模型的融合;
4. 对于多个异构的特征集的时候,很难进行融合,那么可以考虑每个数据集构建
一个分类模型,然后将多个模型融合。

Bagging方法

Bagging方法又叫做自举汇聚法(Bootstrap Aggregating),思想是:在原始数
据集上通过有放回的抽样的方式,重新选择出S个新数据集来分别训练S个分类器
的集成技术。也就是说这些模型的训练数据中允许存在重复数据。
Bagging方法训练出来的模型在预测新样本分类的时候,会使用多数投票或者求
均值的方式来统计最终的分类结果。
Bagging方法的弱学习器可以是基本的算法模型,eg: Linear、Ridge、Lasso、
Logistic、Softmax、ID3、C4.5、CART、SVM、KNN等。
备注:Bagging方式是有放回的抽样,并且每个子集的样本数量必须和原始样本
数量一致,但是子集中允许存在重复数据。

Bagging方法_训练过程

在这里插入图片描述
在这里插入图片描述

随机森林

在Bagging策略的基础上进行修改后的一种算法
从样本集中用Bootstrap采样选出n个样本;
从所有属性中随机选择K个属性,选择出最佳分割属性作为节点创建决策树;
重复以上两步m次,即建立m棵决策树;
这m个决策树形成随机森林,通过投票表决结果决定数据属于那一类

在这里插入图片描述

RF的推广算法

RF算法在实际应用中具有比较好的特性,应用也比较广泛,主要应用在:分类、
回归、特征转换、异常点检测等。常见的RF变种算法如下:
Extra Tree
Totally Random Trees Embedding(TRTE)
Isolation Forest

Extra Tree

Extra Tree是RF的一个变种,原理基本和RF一样,区别如下:

  1. RF会随机采样来作为子决策树的训练集,而Extra Tree每个子决策树采用原始数
    据集训练;
  2. RF在选择划分特征点的时候会和传统决策树一样,会基于信息增益、信息增益率、
    基尼系数、均方差等原则来选择最优特征值;而Extra Tree会随机的选择一个特征值
    来划分决策树。
    Extra Tree因为是随机选择特征值的划分点,这样会导致决策树的规模一般大于
    RF所生成的决策树。也就是说Extra Tree模型的方差相对于RF进一步减少。在某
    些情况下,Extra Tree的泛化能力比RF的强。

Totally Random Trees Embedding(TRTE)

TRTE是一种非监督的数据转化方式。将低维的数据集映射到高维,从而让映射
到高维的数据更好的应用于分类回归模型。
TRTE算法的转换过程类似RF算法的方法,建立T个决策树来拟合数据。当决策
树构建完成后,数据集里的每个数据在T个决策树中叶子节点的位置就定下来了,
将位置信息转换为向量就完成了特征转换操作。
案例:有3棵决策树,每棵决策树有5个叶子节点,某个数据x划分到第一个决策
树的第3个叶子节点,第二个决策树的第一个叶子节点,第三个决策树的第第五
个叶子节点,那么最终的x映射特征编码为:(0,0,1,0,0, 1,0,0,0,0, 0,0,0,0,1)

Isolation Forest(IForest)

IForest是一种异常点检测算法,使用类似RF的方式来检测异常点;IForest算法
和RF算法的区别在于:

  1. 在随机采样的过程中,一般只需要少量数据即可;
  2. 在进行决策树构建过程中,IForest算法会随机选择一个划分特征,并对划分特征
    随机选择一个划分阈值;
  3. IForest算法构建的决策树一般深度max_depth是比较小的。
    区别原因:目的是异常点检测,所以只要能够区分异常的即可,不需要大量数据;
    另外在异常点检测的过程中,一般不需要太大规模的决策树。

对于异常点的判断,则是将测试样本x拟合到T棵决策树上。计算在每棵树上该
样本的叶子节点的深度ht(x)。从而计算出平均深度h(x);然后就可以使用下列公
式计算样本点x的异常概率值,p(s,m)的取值范围为[0,1],越接近于1,则是异常
点的概率越大。

在这里插入图片描述

RF随机森林总结

RF的主要优点:

  1. 训练可以并行化,对于大规模样本的训练具有速度的优势;
  2. 由于进行随机选择决策树划分特征列表,这样在样本维度比较高的时候,仍然具有比较高
    的训练性能;
  3. 给以给出各个特征的重要性列表;
  4. 由于存在随机抽样,训练出来的模型方差小,泛化能力强;
  5. RF实现简单;
  6. 对于部分特征的缺失不敏感。
    RF的主要缺点:
  7. 在某些噪音比较大的特征上,RF模型容易陷入过拟合;
  8. 取值比较多的划分特征对RF的决策会产生更大的影响,从而有可能影响模型的效果。

随机森林算法案例

使用随机森林算法API对乳腺癌数据进行分类操作,根据特征属性预测是否会得
乳腺癌的四个目标属性的值,并理解随机森林中决策树数量和决策树深度对模型
的影响
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr Robot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值