在机器学习中,随机森林是一个包含多个决策树的分类器。要说随机森林,必须先讲决策树。决策树是一种基本的分类器,一般是将特征分为两类。构建好的决策树呈树形结构,可以认为是if-then规则的集合,主要优点是模型具有可读性,分类速度快。决策树的主要工作,就是选取特征对数据集进行划分,最后把数据贴上两类不同的标签。如何选取最好的特征呢?在现实应用中,我们用不同的准则衡量特征的贡献程度。主流准则的列举3个:ID3算法,采用信息增益最大的特征;C4.5算法采用信息增益比选择特征;CART算法利用基尼指数最小化准则进行特征选择。
决策树相当于一个大师,通过自己在数据集中学到的知识对于新的数据进行分类。但是俗话说得好,一个诸葛亮,玩不过三个臭皮匠。随机森林就是希望构建多个臭皮匠,希望最终的分类效果能够超过单个大师的一种算法。
那随机森林具体如何构建呢?有两个方面:数据的随机性选取,以及待选特征的随机选取。
数据的随机选择:
首先,从原始的数据集中采取有放回的抽样,构造子数据集,子数据集的数据量是和原始数据集相同的。不同子数据集的元素可以重复,同一个子数据集中的元素也可以重复。第二,利用子数据集来构建子决策树,将这个数据放到每个子决策树中,每个子决策树输出一个结果。最后,如果有了新的数据需要通过随机森林得到分类结果,就可以通过对子决策树的判断结果的投票,得到随机森林的输出结果了。假设随机森林中有3棵子决策树,2棵子树的分类结果是A类,1棵子树的分类结果是B类,那么随机森林的分类结果就是A类。、
待选特征的选择:
与数据集的随机选取类似,随机森林中的子树的每一个分裂过程并未用到所有的待选特征(意思:不是从所有的待选特征中选择最有优的),而是从所有的待选特征中随机选取一定的特征(随机选择现有待选特征中的几个),之后再在随机选取的特征中选取最优的特征。这样能够使得随机森林中的决策树都能够彼此不同,提升系统的多样性,从而提升分类性能。