Artificial intelligence 决策树是在试图最大化信息增益还是信息熵?

Artificial intelligence 决策树是在试图最大化信息增益还是信息熵?,artificial-intelligence,decision-tree,entropy,information-theory,Artificial Intelligence,Decision Tree,Entropy,Information Theory,我知道决策树试图把高熵的分类器放在决策树上。然而,信息是如何在这方面发挥作用的 信息增益定义为: InformationGain = EntropyBefore - EntropyAfter 决策树是否试图将信息增益较低的分类器放在树的顶部?所以熵总是最大化,信息增益总是最小化 对不起,我只是有点困惑。 谢谢大家! 恰恰相反。对于使用信息增益的决策树,算法选择提供最大信息增益的属性(这也是导致熵最大减少的属性) 考虑一个简单的两类问题,其中来自类C_1和类C_2的训练观察数相等。在本例中,您从

我知道决策树试图把高熵的分类器放在决策树上。然而,信息是如何在这方面发挥作用的

信息增益定义为:

InformationGain = EntropyBefore - EntropyAfter
决策树是否试图将信息增益较低的分类器放在树的顶部?所以熵总是最大化,信息增益总是最小化

对不起,我只是有点困惑。
谢谢大家!

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

考虑一个简单的两类问题,其中来自类C_1和类C_2的训练观察数相等。在本例中,您从熵1.0开始(因为从样本中随机抽取任何一个类的概率为0.5)。现在考虑属性A,它具有值a1和aa2。还假设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,它具有值BY1和BY2,并且假设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完全分类)


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

否,您总是将信息增益高的节点放在树的顶部。但请记住,这是一个递归算法

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

现在,对于这些子节点中的每一个子节点,您都会遍历并再次选择信息增益最高的属性,直到无法继续为止


这样,您就有了一棵树,它总是告诉您根据一个变量做出决策,该变量将为您提供最多的信息,同时考虑到您已经做出的决策

你能举个简单的例子说明贪婪算法不能产生最佳编码吗?