决策树是否试图最大化信息增益或熵?

时间:2013-12-19 07:55:15

标签: artificial-intelligence decision-tree entropy information-theory

我理解决策树试图在决策树上放置具有高熵的分类器。但是,信息如何发挥作用呢?

信息增益定义为:

InformationGain = EntropyBefore - EntropyAfter

决策树是否尝试在树的顶部放置信息增益较低的分类器?因此,熵总是最大化,信息增益总是最小化?

对不起,我有点困惑。 谢谢!

2 个答案:

答案 0 :(得分:2)

恰恰相反。对于使用信息增益的决策树,算法选择提供最大信息增益的属性(这也是导致熵最大减少的属性)。 / p>

考虑一个简单的两类问题,你可以从C_1和C_2类获得相同数量的训练观察。在这种情况下,您的熵为1.0(因为从样本中随机抽取任一类的概率为0.5)。现在考虑属性A,其值为A_1和A_2。假设A_1和A_2都对应于两个类的相等概率(0.5):

P(C_1|A_1) = 0.5
P(C_2|A_1) = 0.5
P(C_1|A_2) = 0.5
P(C_2|A_2) = 0.5

此属性的整体熵没有变化,因此,信息增益为0.现在考虑属性B,其值为B_1和B_2,并假设B将完全分离类:

P(C_1|B_1) = 0
P(C_2|B_1) = 1
P(C_1|B_2) = 1
P(C_2|B_2) = 0

由于B完全分离了类,因此在B上分割后的熵为0(即,信息增益为1)。因此,对于此示例,您将选择属性B作为根节点(并且不需要选择其他属性,因为数据已经完全按B分类)。

决策树算法是“贪婪的”,因为它们总是选择属性,为正在考虑的当前节点(分支)产生最大的信息增益 ,而不会在后续子分支之后重新考虑该属性被添加。所以回答你的第二个问题:决策树算法试图在树的底部附近放置具有最大信息增益的属性。请注意,由于算法的贪婪行为,决策树算法不一定会产生一个树,它可以提供最大可能的熵整体减少。

答案 1 :(得分:1)

不,您始终在树的顶部放置具有高信息增益的节点。但请记住,这是一种递归算法。

如果您有一个包含(例如)五个属性的表,则必须先计算这五个属性中每个属性的信息,然后选择信息增益最高的属性。此时,您应该将开发的决策树视为具有最高节点的根,以及从该属性的值中获取子表的子项。例如,如果它是二元属性,你将有两个孩子;每个都有剩下的四个属性;一个子将具有与selection属性对应的所有元素为true,另一个子元素对应于false。

现在,对于每个子节点,您将通过递归方式再次选择最高信息增益属性,直到无法继续。

通过这种方式,您有一棵树,它总是告诉您根据一个变量做出决定,该变量可以在考虑您已经做出的决定时为您提供最多的信息