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

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

如何选择信息增益?

在决策树的根节点上,建立识别猫和不识别猫的能力,如果我们使用根节点的耳朵形状特征,这就是我们会得到的五个左边例子和五个右边例子,在左边我们有四只猫,所以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,所以公式如下所示,所以有了熵的定义,可以计算与选择任何特定特性相关联的信息增益,在节点上拆分,然后在所有可能的功能中,可以选择分类,然后选择一个给你最高的信息增益,这将提高数据子集的纯度。在决策树的左右分支上,这将导致一个特性的分类,增加了数据子集的纯度。

相关推荐
飞睿科技16 分钟前
乐鑫代理商飞睿科技,2025年AI智能语音助手市场发展趋势与乐鑫芯片解决方案分析
人工智能
许泽宇的技术分享18 分钟前
从新闻到知识图谱:用大模型和知识工程“八步成诗”打造科技并购大脑
人工智能·科技·知识图谱
坤坤爱学习2.032 分钟前
求医十年,病因不明,ChatGPT:你看起来有基因突变
人工智能·ai·chatgpt·程序员·大模型·ai编程·大模型学
蹦蹦跳跳真可爱5891 小时前
Python----循环神经网络(Transformer ----注意力机制)
人工智能·深度学习·nlp·transformer·循环神经网络
空中湖3 小时前
tensorflow武林志第二卷第九章:玄功九转
人工智能·python·tensorflow
lishaoan773 小时前
使用tensorflow的线性回归的例子(七)
人工智能·tensorflow·线性回归
千宇宙航6 小时前
闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
图像处理·人工智能·深度学习·神经网络·计算机视觉·fpga开发
IT古董6 小时前
【第二章:机器学习与神经网络概述】04.回归算法理论与实践 -(4)模型评价与调整(Model Evaluation & Tuning)
神经网络·机器学习·回归
onceco7 小时前
领域LLM九讲——第5讲 为什么选择OpenManus而不是QwenAgent(附LLM免费api邀请码)
人工智能·python·深度学习·语言模型·自然语言处理·自动化
jndingxin9 小时前
OpenCV CUDA模块设备层-----高效地计算两个 uint 类型值的带权重平均值
人工智能·opencv·计算机视觉