机器学习-决策树

108 阅读6分钟

决策树是一种在机器学习中广泛应用的监督学习算法。决策树是一种常用的机器学习算法,它模仿人类决策过程,通过一系列的判断来对数据进行分类或回归。

一、基本概念

决策树通过对数据进行一系列的决策判断来进行分类或回归。它由节点和有向边组成。节点分为根节点、内部节点和叶节点。根节点是决策树的开始,内部节点代表对某个属性的测试,叶节点则代表最终的分类或回归结果。

二、工作原理

1. 特征选择

  • 在构建决策树时,首先需要选择一个最佳的特征来进行分裂。常用的特征选择标准有信息增益、信息增益比、基尼指数等。
  • 例如,信息增益选择具有最高信息增益的特征进行分裂,信息增益衡量了划分前后数据集的不确定性减少程度。

2. 树的构建

  • 从根节点开始,根据选择的特征进行分裂,将数据集划分为多个子集。
  • 对每个子集重复上述过程,直到满足停止条件,如所有样本属于同一类别、没有更多特征可供选择或达到预设的树的深度等。

3. 预测过程

  • 对于新的样本,从决策树的根节点开始,根据样本的特征值沿着相应的分支向下遍历,直到到达叶节点,叶节点的类别或回归值即为预测结果。

三、剪枝处理

在决策树中,剪枝处理是一种重要的技术,用于防止过拟合,提高决策树的泛化能力。

a.为什么需要剪枝

当决策树在训练数据上构建得过于复杂时,可能会过度拟合训练数据,即对训练数据的分类或回归效果非常好,但在新的未见过的数据上表现不佳。剪枝的目的就是在保持决策树一定准确性的前提下,简化决策树的结构,使其更具泛化能力。

b.剪枝的方法

1. 预剪枝

  • 在决策树构建过程中,对每个节点在划分前进行估计,如果当前的划分不能带来决策树泛化性能的提升,则停止划分并将当前节点标记为叶节点。
  • 例如,可以通过设定决策树的最大深度、最小样本数等参数来进行预剪枝。
  • 优点是计算开销小、效率高,能够有效降低过拟合风险。缺点是可能会因为过早停止划分而欠拟合,忽略了一些有价值的划分。

2. 后剪枝

  • 先让决策树充分生长,然后自底向上对非叶节点进行考察,若将该节点对应的子树替换为叶节点能带来决策树泛化性能的提升,则进行剪枝。
  • 常用的后剪枝方法有错误率降低剪枝(Reduced Error Pruning,REP)、悲观错误剪枝(Pessimistic Error Pruning,PEP)、代价复杂度剪枝(Cost Complexity Pruning,CCP)等。
  • 优点是通常比预剪枝能得到更优的决策树,不容易欠拟合。缺点是计算开销较大,因为需要先构建完整的决策树再进行剪枝。

c.剪枝的效果评估

通常使用验证集来评估剪枝的效果。将数据集分为训练集、验证集和测试集,在训练集上构建决策树,在验证集上进行剪枝操作,选择在验证集上表现最好的决策树,最后在测试集上评估最终决策树的泛化性能。

四、划分选择

在决策树中,划分选择是构建决策树的关键步骤,其目的是选择最佳的特征和划分点,以最大化地降低数据的不确定性或不纯性。

a.衡量指标

1. 信息增益

  • 信息增益基于信息论中的熵概念。熵表示数据的混乱程度,熵值越大,数据的不确定性越高。
  • 信息增益是划分前后数据集熵的减少量。选择信息增益最大的特征进行划分,意味着该特征能够最大程度地降低数据的不确定性。
  • 例如,在一个包含两类样本的数据集上,如果某个特征能够将数据集很好地分为两类,使得每一类中的样本纯度较高,那么该特征的信息增益就会较大。

2. 信息增益比

  • 信息增益偏向于选择取值较多的特征,为了克服这个问题,引入了信息增益比。
  • 信息增益比是信息增益与划分前数据集的熵之比,它在考虑信息增益的同时,也考虑了特征本身的熵,从而平衡了对取值较多特征的偏好。

3. 基尼指数

  • 基尼指数用于衡量数据集中样本被错误分类的可能性。

  • 选择基尼指数最小的特征进行划分,意味着该特征能够使划分后的数据集更加纯净,样本被错误分类的可能性更小。

b.选择过程

1. 对于每个特征,计算其可能的划分点。 2. 根据选定的衡量指标,计算每个特征在不同划分点下的得分。 3. 比较所有特征的得分,选择得分最高的特征和划分点进行实际的划分。

c.重要性

正确的划分选择能够构建出高效、准确的决策树模型。如果划分选择不当,可能会导致决策树过拟合或欠拟合,影响模型的性能和泛化能力。例如,过度依赖某个特定特征进行划分可能会使决策树对该特征的变化过于敏感,而忽略了其他潜在的重要特征。

五、优点

1. 易于理解和解释:决策树可以生成可视化的树结构,易于理解数据的决策过程。

2. 对数据类型不敏感:可以处理数值型和类别型数据。

3. 计算效率高:构建和预测过程相对简单,速度较快。

六、缺点

1. 容易过拟合:可能会对训练数据过度拟合,导致在新数据上的表现不佳。

2. 不稳定:对数据的微小变化可能会导致决策树结构的较大变化。

七、应用场景

1. 分类问题:如垃圾邮件分类、疾病诊断等。

2. 回归问题:如房价预测、销售预测等。

3. 特征选择:可以通过决策树确定哪些特征对目标变量的影响最大。