决策树中 信息增益准则对取值较多属性有偏好的理解

文章探讨了在学习周志华的机器学习课程中遇到的概念,包括信息熵和信息增益。信息熵用于衡量样本集合的纯度,数值越小表示纯度越高。信息增益则表示特征对分类不确定性的影响,倾向于选择能带来更大信息增益的属性,这在处理取值较多的属性时更为明显。举例说明了如何计算信息增益,并指出其对分类能力的判断作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

        学习周志华机器学习,看到了这句话 “信息增益准则对取值较多属性有偏好的理解”,但不太能理解?所以记录一下

信息熵

一个样本集合的纯度——可以用信息熵来描述,信息熵的计算是怎么样的呢?我们现在有一个样本集合D,样本分为N个种类,其中第k类样本个数占总样本的比例为pk{p}_{k}pk,那么对于集合D来讲,它的信息熵为:
Ent(D)=−∑k=1Npklog⁡2pk Ent(D)=-\sum\limits_{k=1}^{N}{{{p}_{k}}{{\log }_{2}}{{p}_{k}}} Ent(D)=k=1Npklog2pk

信息熵越小,纯度越高。pk{p}_{k}pk是一个概率(比例)。在[0,1]之间,取对数就是个负值,多个负值相加在取反,最后得到的就是一个正数。当只有1类时,信息熵最小,可以算出来等于0,所以信息熵越小,纯度越高。

信息增益

信息增益表示由于特征(属性)A而使得数据集的分类不确定性减少的程度,信息增益大的特征具有更强的分类能力。怎么来计算信息增益呢?比如我想计算用属性a来对D进行划分得到的信息增益。

必须先搞清楚一些东西,才好理解。样本集合D每个样本都有M个属性,每个属性a可能取值个数为V,aaa={a1{a}_{1}a1,a2{a}_{2}a2,…,av{a}_{v}av},用属性a来对D进行划分得到的信息增益可以这样计算:

Gain(D,a)=Ent(D)−∑v=1V∣Dv∣∣D∣Ent(Dv) Gain(D,a)=Ent(D)-\sum\limits_{v=1}^{V}{\frac{\left| {{D}^{v}} \right|}{\left| D \right|}Ent({{D}^{v}})} Gain(D,a)=Ent(D)v=1VDDvEnt(Dv)

其中Dv{D^v}Dv代表集合D中属性a的取值是av{a}_{v}av的样本组成的集合,这个比例代表的就是所有样本中属性a的取值是av的样本占总样本的比例。

举个例子,我现在有一个西瓜集合(D),里面有300个样本,总共有两类(N=2),每个样本的属性集合为{色泽,纹理,敲声,根蒂},M=4,现在我打算计算用色泽来划分,色泽有{乌黑,青绿,浅白},V=3。300个样本里面150个乌黑,100个青绿,50个浅白的。

∣Dv∣∣D∣\frac{\left| {{D}^{v}} \right|}{\left| D \right|}DDv的取值就分别是1/2,1/3,1/6。Ent(Dv){Ent(D^v)}Ent(Dv)按上面的信息熵公式计算。

从信息增益公式可以看出来他对取值可能较多的属性有偏好,我们分析一下,上面说了Ent(∗){Ent(*)}Ent()是肯定大于0的,前面的比例也是一个正数,所以后面的累加项每一项都始终是正数。前面的Ent(D)是固定的,要让增益越大越好,我们考虑下极端情况,就是有一个属性,他在每个样本上的取值都不同,那么后面的累加项就全是0(因为用这个属性来分的话,每个样本就是一个种类,上面信息熵公式我们说了只有一个种类的集合的纯度最高,信息熵为0),所以信息增益准则对取值可能较多的属性有偏好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

中南自动化学院至渝

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

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

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

打赏作者

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

抵扣说明:

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

余额充值