【西瓜书学习笔记】随机森林

决策树

一颗决策树包含一个根结点、若干个内部节点和若干个叶结点。叶结点对应于决策结果,其他每个结点对应于一个属性测试。每个结点包含的样本集合根据属性测试的结果划分到子结点中,根结点包含样本全集。

决策树的学习目的是为了产生一颗泛化能力强的树,其基本流程遵循“分而治之”(divide-and-conquer)策略。

决策树算法中最重要的部分就是划分最优属性。

划分最优属性的准则

1.信息增益
用信息熵度量样本集合纯度:
在这里插入图片描述
然后计算属性a对样本集D进行划分所获得的信息增益(information gain):
在这里插入图片描述
然后选择信息增益最大的属性为划分最优属性。但是信息增益准则对可取值数目较多的属性有所偏好,为了减少这种偏好带来的不利影响,不直接使用信息增益,而是使用增益率来划分属性。
2.增益率
在这里插入图片描述
其中
在这里插入图片描述
称为属性a的固有值。但是增益率准则对可取值数目较少的属性有所偏好,因此不直接选择增益率最大的候选划分属性,而是使用一个启发式方法:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。
3.基尼指数
数据集D的纯度用基尼值来度量:
【西瓜书学习笔记】随机森林_第1张图片
Gini(D)反映了从数据集D 中随机抽取两个样本,类别标记不一致的概率,因此Gini(D)越小,集合纯度越高。属性a的基尼指数定义为:
在这里插入图片描述

剪枝处理

处理过拟合问题。

预剪枝是在决策树生成过程中,对每个结点划分前进行估计,若该结点的划分不能带来泛化性能的提升,则停止划分并将此结点标记为叶结点。
有些结点的展开当前没有提升泛化性能,但后续分划却可能带来提升。预剪枝基于“贪心”本质禁止某些分枝展开,带来了欠拟合的风险。

后剪枝是先生成一棵决策树然后自底向上考察非叶结点,若将该结点的子树变为叶结点可以提升决策树的泛化性能则剪枝。泛化性能可用预留的验证集进行评估。相比于预剪枝,后剪枝保留的分支更多,欠拟合风险小,泛化性能往往高于预剪枝。但训练时间开销高于预剪枝和不剪枝。

随机森林

随机森林是一种“同质”的集成学习,同质集成学习中的个体学习器也成为“基学习器”,相应的算法称为“基学习算法”。集成学习的很多理论研究是针对弱学习器进行的,基学习器有时直接被称为弱学习器。

假如基分类器的错误率相互独立,则随着基分类器的数目增大,集成学习的错误率将呈指数下降,直到趋于0。但个体学习器是同一组数据训练出来的,其错误率不可能相互独立。虽然不能相互独立,但可以使基学习器之间有较大差异,可以从总的数据集中分别采样,然后用不同的采样数据训练各个基学习器。但这样又不能使每个基学习器进行有效学习,可以考虑采用相互有交叠的采样子集。

如何产生并结合“好而不同”的个体学习器是集成学习研究的核心。随机森林和Bagging的个体学习器间不存在强依赖关系,可同时生成。

随机森林在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择

你可能感兴趣的:(机器学习,机器学习)