【机器学习】决策树学习上篇(详解)

引言

在当今的数据驱动时代,机器学习已成为从海量数据中提取价值的关键技术之一。其中,决策树学习作为一种简单而强大的机器学习方法,因其易于理解和实现,以及在处理分类问题上的有效性而广受欢迎。本文旨在深入探讨决策树学习的基础知识、核心算法及其面临的主要挑战,尤其是过拟合问题。

一、决策树学习基础

决策树的定义和结构

决策树是一种树形结构,其中每个非叶节点表示一个特征/属性的测试,每个分支代表测试的结果,而每个叶节点存储一个类别。使用决策树进行决策就像从根节点开始,基于特征测试的结果沿着树向下移动,直到达到叶节点,该叶节点即表示最终的决策结果。

经典目标问题

决策树特别适用于带有非数值特征的分类问题。这些问题的特点包括特征的离散性缺乏相似度概念以及特征间的无序性。例如,在决定是否出门运动的场景中,天气(晴、雨)、温度(高、低)和湿度(高、低)等特征都是离散的,并且这些特征之间不存在明显的序列或相似度。

实例讲解

以“享受运动”为例,决策树通过分析天气、温度、湿度和风力等特征来预测一个人是否会享受户外运动。通过构建一个决策树,我们可以根据历史数据学习到,在晴朗、温暖且风力适中的日子,人们更倾向于外出运动。

决策树发展历史里程碑

1966 ,由 Hunt 首先提出
1970 s~1980 s
        • CART Friedman, Breiman 提出
        • ID3 由 Quinlan 提出
1990 s 以来
        • 对比研究、算法改进 (Mingers, Dietterich, Quinlan, etc.)
        • 最广泛使用的决策树算法 : C4.5 Quinlan 1993 年提出

二、经典决策树算法

ID3算法

ID3算法特点和步骤:

1. 自顶向下,贪心搜索:
   - 从根节点开始,逐步向下展开树的结构。

2. 递归算法:
   - 使用递归方法逐层构建决策树。

3. 核心循环:
   - 选择下一步最佳决策属性(A)。
   - 将A作为当前节点的决策属性。
   - 对属性A的每个值(vi),创建与其对应的新的子节点。
   - 根据属性值将训练样本分配到各个子节点。
   - 如果训练样本在任一子节点上被完美分类,则停止该节点的进一步分裂。
   - 否则,继续对尚未完美分类的子节点进行下探分裂,创建新的叶节点。
 

ID3算法是一种典型的决策树算法,它从顶部开始构建树,通过贪心算法在每一步选择能最好地分类数据的特征。这种选择依据是信息增益——选取的特征应当使得根据该特征分裂后的子集的熵(即不确定性)最小。

属性选择

在ID3算法中,属性的选择基于简洁原则,即趋向于构建更简单、节点更少的树。通过计算信息增益,算法可以识别哪个属性在当前步骤是最佳的分裂属性。

在每个节点 N 上,我们选择一个属性 T ,使得到达当
前派生节点的数据 尽可能

纯度(purity) – 混杂度(impurity),那么如何衡量混杂度呢?

(Entropy) (广泛使用)

定义 : 0log0=0
在信息理论中,熵度量了信息的 纯度 / 混杂度 ,或者信息的 不确定性
正态分布 具有最大的熵值

除了熵以外的其他混杂度度量
Gini 混杂度 ( Duda 倾向于使用 Gini 混杂度 )

错分类混杂度

度量混杂度的变化ΔI(N)信息增益(IG) ,例如
由于对 A 的排序整理带来的 熵的期望减少量

CART (分类和回归树)
一个通用的框架 :
根据训练数据构建一棵决策树
决策树会逐渐把训练集合分成越来越小的子集
当子集纯净后不再分裂
或者接受一个不完美的决策
许多决策树算法都在这个框架下,包括 ID3 C4.5 等等。

算法限制

ID3算法在实践中表现出一些限制,例如,当某个节点的所有样本都属于同一类别时,就不再进一步分裂这个节点。此外,如果所有属性的信息增益为零,即无法基于任何属性进一步区分样本,算法也会停止。

三、过拟合问题

决策树过拟合的一个极端例子:
每个叶节点都对应单个训练样本 —— 每个训练样本都被完美地分类
整个树相当于仅仅是一个数据查表算法的简单实现

过拟合是机器学习中的一个常见问题,指的是模型在训练数据上表现得过于完美,但在未见过的数据上表现不佳。在决策树学习中,过拟合可能发生在树过于复杂,每个叶节点对应单个训练样本的极端情况下。为了避免过拟合,可以采用剪枝策略,简化决策树的结构,以改善其在未知数据上的泛化能力。

总结

决策树学习是机器学习中的一种基本方法,以其简单性、易理解和实现性著称。通过本文的讨论,我们深入了解了决策树的基本概念、ID3等经典算法及其面临的过拟合问题。尽管存在一些局限性和挑战,但决策树依然是解决分类问题的有力工具。随着算法的不断改进和发展,决策树学习将在未来的数据分析和机器学习应用中发挥更大的作用。

  • 32
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

X.AI666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值