(一):随机森林算法梳理

1. 集成学习概念

集成学习的是先通过一定的规则生成多个学习器,再采用某种集成策略进行组合,最后综合判断输出最终结果。一般而言,通常所说的集成学习中的多个学习器都是同质的"弱学习器"。基于该弱学习器,通过样本集扰动、输入特征扰动、输出表示扰动、算法参数扰动等方式生成多个学习器,进行集成后获得一个精度较好的"强学习器"。

2.个体学习器概念

个体学习器通常由一个现有的学习算法从训练数据产生,是为了集成学习而产生的个体,通常有以下几种:

  • 只包含同种类型的个体学习器,这样的集成是“同质”的(homogeneous)。同质集成中的个体学习器亦称为”基学习器“(base learning)。
  • 集成也可包含不同类型的个体学习器,这样集成是”异质“的(heterogeneous)。相应的个体学习器,常称为”组件学习器“(component learning)或直接称为个体学习器。

3.Boosting & Bagging

根据个体学习器的生成方式,目前集成学习的方法大致可分为两大类:

  • 个体学习器间存在强依赖关系、必须串行生成的序列化方法,代表是Boosting;
  • 个体学习器间不存在强依赖关系、可同时生成的并行化方法,代表是Baggig和“随机森林”(Random Forest);

3.1 Boosting

什么是 Boosting 算法呢?
    Boosting 算法是集成算法中的一种,同时也是一类算法的总称。这类算法先从初始训练集训练出一个弱学习器,然后根据弱学习器的表现对训练样本分布进行调整,不断训练出多个弱学习器,最后将它们进行加权组合成一个强分类器,为什么要这么做呢?因为弱学习器好训练,强学习器不好得。因此要打造一个好的强学习器,最好的方式就是训练多个弱学习器,然后让这些弱学习器组合起来,这样往往可以得到很好的效果。这就是 Boosting 算法的原理。
    Boosting 最著名的算法是 AdaBoost算法。

3.2 Bagging

Bagging是并行式集成学习方法的代表,是一种基于自助采样法(bootstrap sampling)发展而来的算法。
    假定有m个训练集,我们采用自助采样法,每次随机抽取一个放入采样集中,然后再把样本放回训练集,一共抽取m次,获得一个用于训练的采样集(里面有m个样本)。根据需要我们一共抽取T个采样集,学习出T个基学习器。
在进行预测时,对于分类任务采用简单投票法,回归任务采用简单平均法。

总结:
    Boosting 的含义是提升,它的作用是每一次训练的时候都对上一次的训练进行改进提升,在训练的过程中这 K 个“专家”之间是有依赖性的,当引入第 K 个“专家”(第 K 个分类器)的时候,实际上是对前 K-1 个专家的优化。而 Bagging 在做投票选举的时候可以并行计算,也就是 K 个“专家”在做判断的时候是相互独立的,不存在依赖性。

4结合策略(平均法,投票法,学习法)

平均法:简单平均、加权平均
适用范围:

  • 规模大的集成,学习的权重较多,加权平均法易导致过拟合
  • 个体学习器性能相差较大时宜使用加权平均法,相近用简单平均法。

投票法:

  • 绝对多数投票法:某标记超过半数,也就是我们常说的要票过半数,否则就当会拒绝预测;
  • 相对多数投票法:预测为得票最多的标记,若同时有多个标记的票最高,则从中随机选取一个,也就是所谓的“少数服从多数”。
  • 加权投票法:提供了预测结果,与加权平均法类似。

学习法:
    对于学习法,代表方法是stacking,当使用stacking的结合策略时, 我们不是对弱学习器的结果做简单的逻辑处理,而是再加上一层学习器,也就是说,我们将训练集弱学习器的学习结果作为输入,将训练集的输出作为输出,重新训练一个学习器来得到最终结果。
    在这种情况下,我们将弱学习器称为初级学习器,将用于结合的学习器称为次级学习器。对于测试集,我们首先用初级学习器预测一次,得到次级学习器的输入样本,再用次级学习器预测一次,得到最终的预测结果。

5随机森林思想

随机森林的英文是 Random Forest,英文简写是 RF。它实际上是一个包含多个决策树的分类器,每一个子分类器都是一棵 CART 分类回归树。所以随机森林既可以做分类,又可以做回归。当它做分类的时候,输出结果是每个子分类器的分类结果中最多的那个。你可以理解是每个分类器都做投票,取投票最多的那个结果。当它做回归的时候,输出结果是每棵 CART 树的回归结果的平均值。

6随机森林的推广

6.1extra trees

extra trees是RF的一个变种, 原理几乎和RF一模一样,仅有区别有:

1) 对于每个决策树的训练集,RF采用的是随机采样bootstrap来选择采样集作为每个决策树的训练集,而extra trees一般不采用随机采样,即每个决策树采用原始训练集。

2) 在选定了划分特征后,RF的决策树会基于信息增益,基尼系数,均方差之类的原则,选择一个最优的特征值划分点,这和传统的决策树相同。但是extra trees比较的激进,他会随机的选择一个特征值来划分决策树。
    从第二点可以看出,由于随机选择了特征值的划分点位,而不是最优点位,这样会导致生成的决策树的规模一般会大于RF所生成的决策树。也就是说,模型的方差相对于RF进一步减少,但是bias相对于RF进一步增大。在某些时候,extra trees的泛化能力比RF更好

6.2 Totally Random Trees Embedding

Totally Random Trees Embedding(以下简称 TRTE)是一种非监督学习的数据转化方法。它将低维的数据集映射到高维,从而让映射到高维的数据更好的运用于分类回归模型。我们知道,在支持向量机中运用了核方法来将低维的数据集映射到高维,此处TRTE提供了另外一种方法。
    TRTE在数据转化的过程也使用了类似于RF的方法,建立T个决策树来拟合数据。当决策树建立完毕以后,数据集里的每个数据在T个决策树中叶子节点的位置也定下来了。比如我们有3颗决策树,每个决策树有5个叶子节点,某个数据特征划分到第一个决策树的第2个叶子节点,第二个决策树的第3个叶子节点,第三个决策树的第5个叶子节点。则x映射后的特征编码为(0,1,0,0,0, 0,0,1,0,0, 0,0,0,0,1), 有15维的高维特征。这里特征维度之间加上空格是为了强调三颗决策树各自的子编码。
    映射到高维特征后,可以继续使用监督学习的各种分类回归算法了。

6.3 Isolation Forest

Isolation Forest(以下简称IForest)是一种异常点检测的方法。它也使用了类似于RF的方法来检测异常点。
    对于在T个决策树的样本集,IForest也会对训练集进行随机采样,但是采样个数不需要和RF一样,对于RF,需要采样到采样集样本个数等于训练集个数。但是IForest不需要采样这么多,一般来说,采样个数要远远小于训练集个数?为什么呢?因为我们的目的是异常点检测,只需要部分的样本我们一般就可以将异常点区别出来了。
    对于每一个决策树的建立, IForest采用随机选择一个划分特征,对划分特征随机选择一个划分阈值。这点也和RF不同。
    另外,IForest一般会选择一个比较小的最大决策树深度max_depth,原因同样本采集,用少量的异常点检测一般不需要这么大规模的决策树。

对于异常点的判断,则是将测试样本点x拟合到T颗决策树。计算在每颗决策树上该样本的叶子节点的深度ht(x)。,从而可以计算出平均高度h(x)。此时我们用下面的公式计算样本点x的异常概率:
s(x,m)=2−h(x)c(m)
    其中,m为样本个数。c(m)的表达式为:
c(m)=2ln(m−1)+ξ−2m−1m,ξ为欧拉常数
    s(x,m)的取值范围是[0,1],取值越接近于1,则是异常点的概率也越大。

7.优缺点

随机森林的优缺点

优点:

1)随机森林算法能解决分类与回归两种类型的问题,表现良好,由于是集成学习,采用了随机采样,训练出的模型的方差和偏差都比较小,泛化性能优越;
2)随机森林对于高维数据集的处理能力很好,它可以处理成千上万的输入变量,并确定最重要的变量,因此被认为是一个不错的降维方法。此外,该模型能够输出特征的重要性程度,这是一个非常实用的功能。

  1. 可以应对缺失数据;
    4)当存在分类不平衡的情况时,随机森林能够提供平衡数据集误差的有效方法;
  2. 高度并行化,易于分布式实现,对于大数据时代的大样本训练速度有优势。
  3. 由于是树模型 ,不需要归一化即可之间使用
    7)相对于Boosting系列的Adaboost和GBDT, RF实现比较简单。

缺点:

a)随机森林在解决回归问题时并没有像它在分类中表现的那么好,这是因为它并不能给出一个连续型的输出。当进行回归时,随机森林不能够作出超越训练集数据范围的预测,这可能导致在对某些还有特定噪声的数据进行建模时出现过度拟合。
b)对于许多统计建模者来说,随机森林给人的感觉像是一个黑盒子——你几乎无法控制模型内部的运行,只能在不同的参数和随机种子之间进行尝试。
c) 忽略属性之间的相关性

8.sklearn参数

在 sklearn 中,我们使用 RandomForestClassifier() 构造随机森林模型,函数里有一些常用的构造参数:


image.png

当我们创建好之后,就可以使用 fit 函数拟合,使用 predict函数预测

9. 应用场景

数据维度相对低(几十维,在初学者的我来说,感觉不低了。。),同时对准确性有较高要求时。
因为不需要很多参数调整就可以达到不错的效果,基本上不知道用什么方法的时候都可以先试一下随机森林。

参考资料:

  1. EddyLiu2017 的《机器学习》笔记-集成学习(8)https://www.jianshu.com/p/2424fa91534b
  2. loveitlovelife 的 集成学习三结合策略及(平均、投票、stacking)与多样性https://blog.csdn.net/loveitlovelife/article/details/79398745
  3. 刘建平Pinard 的 集成学习原理小结 https://www.cnblogs.com/pinard/p/6131423.html 和 Bagging与随机森林算法原理小结
    https://www.cnblogs.com/pinard/p/6156009.html
  4. KongQingQing29 的 随机森林,GBDT,XGBoost的对比https://blog.csdn.net/yingfengfeixiang/article/details/80210145
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容

  • (第一部分 机器学习基础)第01章 机器学习概览第02章 一个完整的机器学习项目(上)第02章 一个完整的机器学习...
    SeanCheney阅读 5,164评论 0 17
  • 假设你去随机问很多人一个很复杂的问题,然后把它们的答案合并起来。通常情况下你会发现这个合并的答案比一个专家的答案要...
    城市中迷途小书童阅读 2,476评论 0 1
  • 1.集成学习的概念 集成学习通过建立几个模型组合的来解决单一预测问题,有时也被称作多分类系统(multi-clas...
    Acapella_Zhang阅读 2,867评论 0 4
  • 幕启,上海龙华中路地铁站。早高峰,一堆一堆的人在各个地铁门口挤着,大部分低头看着手机,一部分看上去睡眼惺忪。人群中...
    荀天才阅读 30,925评论 0 0
  • 虾:我们可以去曲阜唱歌,估计很便宜,上次我们在山西才一块钱blabla.... 时间倒回两千年....... 孔子...
    一位贵宾狗阅读 280评论 0 0