写在前面
本文粗略地介绍了 决策树 & 随机森林 & boosting & bagging 。如它们的原理,之间的关系,适用场景,优缺点等。
一个小小的吐槽:我也不太理解树在ML中为什么这么火,相比之下似乎我花了大量的精力在各种复杂的回归模型之中。之前老师讲到 分类 相关内容时,covid-19爆发,也就停课了,只有自学,学的很差。
正文1-树
- 树形结构
使用决策树决策的过程即从根节点开始,选择一个特征作为当前节点的分裂标准,自上而下生成子节点,直到到达叶子节点得出分类决策的结果。
- 内部结点: 一个特征或属性,与该特征相连的有向边则表示该特征属性在某个值阈的输出。
- 叶子节点:所属类别。
- 根节点:最初的分裂点。
- 如何构建决策树
特征即为决策节点(分叉点),是组成树的关键部分。生成决策树就是在使用某特征对数据集合进行划分后,使得不确定性较划分前降低,即划分后数据集的纯度较划分前更高。那么,如何度量数据集的纯度?最常使用的度量方法:信息增益、信息增益率和基尼系数。而他们对应算法分别是 ID3、C4.5和CART 算法。
选择适合当前数据集的划分标准,递归的对数据集进行划分,直到样本点都能划分到各自类别为止,完整的树构造完毕。然而,当决策树按照上述准则将子集划分到各自分类时,往往会遇到该决策树在训练集上表现良好,在测试集则表现不佳的问题,这即是通常所说的模型过拟合,解决过拟合问题,我们需要对树进行剪枝,而我们将剪之后的树称之为子树,剪枝的目的就是要选择一条最佳的子树作为最终的决策模型。
- 决策树的构建关键三部分
- 特征选择
- 决策树生成
- 决策树剪枝
- 熵
将热力学的熵引入到信息论中,用信息熵表征系统有序化程度,记为所有可能发生情况的数学期望。
熵用于表征系统混乱程度,系统越混乱(熵越大),数据集越不纯
了解什么是熵,我们就可以进一步了解如何选择特征才能使决策树生成过程更高效。
- 信息增益 ID3
决策树的生成