机器学习—选择拆分信息增益

构建决策树时,我们需要决定在节点上拆分什么特性,将根据什么特征选择减少熵,最大减少熵或减少杂质,或在决策树中最大化纯度,学习熵的减少称为信息增益,因此,选择在决策树中的每一个节点上使用什么特性进行拆分。

如何选择信息增益?

在决策树的根节点上,建立识别猫和不识别猫的能力,如果我们使用根节点的耳朵形状特征,这就是我们会得到的五个左边例子和五个右边例子,在左边我们有四只猫,所以P1=4/5=0.8,在右边,只有一只猫,P1=1/5=0.2,如果将熵公式应用于数据的左侧子集和右侧子集,将会发现左边的杂质程度H(0.8)=0.72,在右边H(0.2)=0.72,这就是左右分支的熵,这是在耳朵形状特征上分开。如果在脸型上进行分类,然后圆脸的数据有七个,其中有四只猫,所以P1=4/7=0.57,右边1/3是猫,P1=0.33,所以H(0.57)=0.99,H(0.33)=0.92,所以左右两侧的杂质程度似乎要高得多。最后,在根节点上使用第三个可能的特性选择,胡须的特征,在这种情况下,根据胡须是否存在来分类,左边的P1=3/4=0.75,右边的P1=2/6=0.33,熵值如下H(0.75)=0.81,H(0.33)=0.92,所以在根节点使用的特性的这三个选项,哪一种更有效,事实证明,与其看这些熵数并将它们进行比较,不如对它们进行加权平均是有用的。

有一个节点,里面有很多例子,熵很高,这会很糟糕,因为熵是杂质的度量 ,如果你有一个非常大和不纯净的数据集与有几个例子和一个非常不纯净的数据集相比,所以关键的决定是这三种可能的特征选择,在根节点中使用,我们想使用哪一个与这些分类中每一个相关联的是两个数字,左边分支上的熵和右边分支上的熵,为了从这些中挑选,我们可以把两个数字组合成一个数字,所以,我们可以只做这三个选择,把这两个数字组合起来的方法是用加权平均数,因为在左分支和右分支中,低熵是非常重要的,也取决于有多少例子进入了左右分支,因为如果有很多例子进入了左分支,更重要的是要确保熵值低,在本例中,十个例子有五个例子去了左分支,所以我们可以计算加权平均数(5/10H(0.8)+5/10H(0.2)),中间和右边例子同上,我们选择拆分的方法是通过计算这三个数字哪个最低,得出哪个杂质最少,纯度最高,因为这给了我们平均加权熵最低的左右分支。

在构建决策树的过程中,我们实际上要对这些公式再做一个修改,与其计算加权平均熵,我们要计算熵的减少,所以,如果我们去根节点,在根节点上,已经从所有十个示例开始,有五只猫和五只狗,所以在根节点,我们得到P1=5/10=0.5,所以根节点的熵值H(0.5)=1,这是最大的纯度,因为是五只猫和五只狗,所以我们实际上要用来选择分类的公式不是左右分支的加权熵,取而代之的是根节点的熵,计算得到三个数字:0.28、0.03、0.12,这些被称为信息增益 。他测量的是你在树上得到的熵的减少,由分类产生的,因为熵原本是在根节点通过分类,最终得到的熵值较低,这两个值之间的差异是熵的减少,在耳朵形状分类的情况下,信息增益为0.28.

为什么要计算信息增益?

事实证明,决定何时停止的标准之一,如果熵的减少量太小在这种情况下,你可以决定你只是不必要的增加了树的大小,冒着过度拥挤的风险,决定不再费心,如果熵的减少在阈值以下太小,在这个特殊的例子中,在耳朵形状上的分类导致熵的最大减少,所以我们会选择在根节点的耳朵形状特征上分类。

以耳朵特征为例,定义,左分支为P1left=左边子集中具有正标签的示例的分数,有四只猫所以=4/5,把W定义为例子的分数,在所有到左边分支的根节点的例子,=5/10,类似的,右分支定义为P1right,作为正例的分数,只有一个是猫,即为1/5,同样Wriget=5/10,P1root=0.5,所以公式如下所示,所以有了熵的定义,可以计算与选择任何特定特性相关联的信息增益,在节点上拆分,然后在所有可能的功能中,可以选择分类,然后选择一个给你最高的信息增益,这将提高数据子集的纯度。在决策树的左右分支上,这将导致一个特性的分类,增加了数据子集的纯度。

相关推荐
隔壁大炮1 分钟前
09.PyTorch_创建全0_1_指定值张量&&创建线性和随机张量
人工智能·pytorch·深度学习
人机与认知实验室3 分钟前
神经网络与态势感知
人工智能·深度学习·神经网络·机器学习
云烟成雨TD4 分钟前
Spring AI Alibaba 1.x 系列【39】四大多智能体(Multi-agent)架构
java·人工智能·spring
搞科研的小刘选手10 分钟前
【机器人方向研讨会】第五届控制工程与机器人技术国际研讨会(ISCER 2026)
人工智能·机器学习·机器人·自动化·人机交互·无人机·控制工程
knight_9___11 分钟前
RAG面试篇6
人工智能·python·机器学习·agent·rag
阿杰学AI11 分钟前
AI核心知识138—大语言模型之 数据墙危机(简洁且通俗易懂版)
人工智能·机器学习·ai·语言模型·合成数据·数据墙危机·data wall
我的世界洛天依14 分钟前
洛天依讲编程:调音教学・高级班网易云音乐工作室专篇|声线绘制 + 音频转 MIDI 实操
人工智能
陶陶然Yay18 分钟前
神经网络常见层Numpy封装参考(6):卷积层
人工智能·神经网络·numpy
Raink老师30 分钟前
【AI面试临阵磨枪】OpenClaw Skill 如何嵌入 Harness 约束:参数校验、超时、权限、熔断?
人工智能·ai 面试
GISer_Jing33 分钟前
《Claude Code Hooks:AI编程工具的高级控制指南》
前端·人工智能·microsoft·ai编程