超简单理解随机森林算法

2009/08/03 program 共 1797 字,约 6 分钟

简单理解

故事案例:

小星准备到杭州游玩,由于时间有限只能挑选1个景点游玩,于是他打算问问几个在杭州的朋友的意见,来决定最终游玩的景点。最后,小星选择了被朋友们推荐次数最多的景点。

解读理解:小星想要决定该游玩的景点,这需要「决策」或者「算法」。小星的办法(决策算法)是:通过朋友们帮他决策,每一个朋友的推荐都是一个决策树,不管他们用了什么办法,最终得到一个结果(推荐的景点)。这些朋友们的决策树放在一起,看上去就像是一个森林,谓之:随机森林(决策森林)。

如下图所示,可能有的朋友推荐了红色(河坊街),有的朋友推荐了绿色(西湖),由于最终绿色(西湖)的得票数最多,因此小星最终决定去游玩西湖。

从上面的景点推荐的故事案例再举一反三,推而广之:

  • 择偶
  • 买房买车
  • 找工作
  • 投票选举

以上的介绍只是为了以最简单的方法理解「随机森林」这个概念。对于比较复杂的事情(数据量大,特征属性多,不太容易归类的场景),比如医院里大量的病人数据,是不是可以通过大数据分析进行归类总结,甚至预测疾病呢?其实是可以的。

病人数据中,除了有大量的病人(行),每个病人又都有很多的特征属性(列),这些特征属性哪些会影响最终的结果(是否有某方面的疾病),很难通过人工分析。这个时候就可以使用随机森林算法。

这里对随机森林的算法概念再整理收集了一些,方便理解:

  • 多棵决策树组成森林
  • 多棵树,也是随机森林中“森林”二字之由来!
  • 多棵树同时进行判断,并以少数服从多数的方式输出最后结果,以此提高准确度!
  • 民主的投票表决比独裁的判断,犯错的概率要小很多!
  • 每棵树训练的时候,随机有放回地取全部数据的一部分进行学习。
  • 每棵树之所以学习一部分而非全部的数据,是为了防止学习数据相同导致所有树的判断结果类似,而这将失去民主投票的意义! 此亦是“随机”二字之由来!
  • 每一棵决策树就是一个精通于某一个窄领域 的专家(因为我们从M个feature中选择m让每一棵决策树进行学习),这样在随机森林中就有了很多个精通不同领域的专家,对一个新的问题(新的输入数 据),可以用不同的角度去看待它,最终由各个专家,投票得到结果。
  • 随机森林的效果取决于多个分类树要相互独立

正式概念

随机森林(Random Forest,简称RF),专业术语及算法过程,网上自行搜索,此处略。

倒推

延展:随机森林(random forest)是一种利用多个分类树对数据进行判别与分类的方法,它在对数据进行分类的同时,还可以给出各个变量(基因)的重要性评分,评估各个变量在分类中所起的作用。

倒推能力,举例:女性找对象倒推其看中的特点,发病关联的维度。

例如这篇文章里,有介绍如何反推找出女性更关注异性的哪些特征:随机森林通俗演义,有一定参考意义。

泛化能力

再延展:随机森林算法适合跨领域的数据分析及应用,例如不需要医学专业的可以通过大数据分析发病,不需要安全专业的可以分析恶意病毒。

应用

应用场景非常广泛。

  • 疾病判断工程:疾病易感性,提前发现心脏病高发人群,……
  • 统计客户来源,保留和流失
  • 利用某一个人的年龄(Age)、性别(Gender)、教育情况(Highest Educational Qualification)、工作领域(Industry)以及住宅地(Residence)共5个字段来预测他的收入层次。
  • 其他跨学科的大数据分析,多维度特征属性的数据分析

特点

  • 能够处理很高维度(feature很多)的数据,并且不用做特征选择,对数据集的适应能力强:既能处理离散型数据,也能处理连续型数据,数据集无需规范化
  • 两个随机性的引入,使得随机森林具有很好的抗噪声能力
  • 在数据集上表现良好,两个随机性的引入,使得随机森林不容易陷入过拟合
  • 训练速度快,可以得到变量重要性排序
  • 在训练过程中,能够检测到feature间的互相影响
  • 容易做成并行化方法
  • 实现比较简单
  • 随机森林(random forest)是一种利用多个分类树对数据进行判别与分类的方法,它在对数据进行分类的同时,还可以给出各个变量(基因)的重要性评分,评估各个变量在分类中所起的作用。
  • 随机森林算法得到的随机森林中的每一棵都是很弱的,但是大家组合起来就很厉害了。
  • 随机森林非常稳定,即使数据集中出现了一个新的数据点,整个算法也不会受到过多影响,它只会影响到一颗决策树,很难对所有决策树产生影响。
  • 随机森林预测精度高,泛化能力强,原理易于理解且易于并行计算,因此深受广大用户喜爱!

文档信息

Search

    Table of Contents