学习随机森林之前得先了解决策树,可以看我这篇关于决策树的文章:机器学习笔记——决策树
随机森林是什么?
随机森林是非常常用又简单的监督学习算法,它可以分成“随机”和“森林”来理解,随机即树的生成伴随着随机性,这在后面会详细讲到;森林也就是很多的树在一起形成了森林。在这里我们可以猜到随机森林就是将很多的随机生成的树整合在一起进行投票决策的算法。好比当我们要判断一只动物的时候森林里面每棵树都会发表自己的看法,然后这些意见中最多的那个就会是判断的结果。这就属于集成学习的思想,而在集成学习中随机森林又属于bagging,即有放回采样n个样本建立分类器。
生成决策树
在我们建立我们的随机森林之前,我们得有足够多的决策树,在生成决策树的时候就伴随着随机性。假设我们有X个样本,每次抽取一个样本出来然后放回去继续抽,就这样重复X次我们就会得到一个新的数据集含有X个样本,我们再用这个数据集去训练一棵决策树。这时后随机性就体现在随机抽样,会有大约三分之一的样本不在新的数据集里面,同时对于每个节点的分裂数据集所参考的样本属性我们也会随机选取,假设每个样本有N个属性,n<<N 我们会从N个属性里选取n个属性,接着再用一种方法如信息增益来选取其中的一个属性作为这个节点的分裂属性。接着在写一个节点重复这一步骤使得决策树尽可能的生长,没有剪枝过程,最后重复上述步骤来生成更多的决策树。