随机森林是一种由多个决策树构成的、且不同决策树之间没有关联的集成算法。随机森林是常用的机器学习算法,既可以用于分类问题,也可用于回归问题。
1.决策树
首先,决策树是个超简单结构,我们每天都在头脑中使用它。它代表了我们如何做出决策的表现形式之一,类似if-this-then-that。决策树有多种算法,最常用的是ID3(ID代表“迭代二分法”)和CART(CART代表“分类和回归树”)。这些算法中的每一个都使用不同的度量来决定何时分割。ID3树使用信息增益 ,而CART树使用基尼指数 。
ID3所采用的的信息增益的方法:从技术上讲,信息增益是使用熵作为杂质测量的标准。好吧。我们先来了解一下熵。 简单地说,熵是(dis)顺序的衡量标准,它能够表示信息的缺失流量,或者数据的混乱程度。缺失大量信息的东西被认为是无序的(即具有高度熵),反之则是低度熵。
CART采用的基尼指数的方法:从技术上讲,基尼指数可以表示数据集中随机选择的数据点可能被错误分类的频率。 由于我们总是希望最小化错误标记数据可能性,因此CART的目的就是最小化基尼指数。
2.随机森林
随机森林可以说是初学数据科学家最受欢迎的集合模型,集合模型顾名思义。是许多其他模型的集合。像随机森林这样的集合模型,旨在通过使用引导聚集算法(装袋算法)来减少过度拟合和方差。
进一步,我们思考:为何要随机森林呢?不就是决策树的堆砌吗?其实不然,单个决策树可以很好地找到特定问题的解决方案,但如果应用于以前从未见过的问题则非常糟糕。因此,如果采用多个决策树,也就是说构成的随机森林相比决策树单一的树而言,可以应对多个不同场景,也就是应了那句俗话“三个臭皮匠赛过诸葛亮”。
(1)随机森林可以在很多地方使用:
①对离散值的分类②对连续值的回归③无监督学习聚类④异常点检测
(2)随机森林方法有四个步骤,
①对于一个样本容量为N的样本,我们做有放回的抽取N次,每次抽取1个样本,那么最终就形成了N个样本。用这N个样本训练,得到一个决策树,这一个决策树就作为决策树根节点处的样本。
②当每个样本有M个属性时,在决策树的每个节点需要分裂时,随机从这M个属性中选取出m个属性,满足条件m << M。然后从这m个属性中采用某种策略(比如说信息增益)来选择1个属性作为该节点的分裂属性。
③重复步骤②,持续分裂属性到无法再继续分裂为止,也就是说到达了叶子节点。注意整个决策树形成过程中没有进行剪枝。
④按照步骤1~3建立大量的决策树,这样就构成了随机森林了。