4

为什么在决策树分支中使用Shannon熵度量?决策树中的Shannon熵度量

熵(S)= - P(+)的日志(P(+)) - P( - )的日志(P( - ))

我知道这是没有的量度。编码信息所需的位数;分布越均匀,熵越多。但我不明白为什么它经常用于创建决策树(选择分支点)。

回答

5

因为你想问问题,会给你最多的信息。我们的目标是尽量减少树中决策/问题/分支的数量,因此您首先提供能够提供最多信息的问题,然后使用以下问题填写详细信息。

2

为了决策树,忘记比特数,只关注公式本身。考虑一个二元(+/-)分类任务,您的训练数据中包含相同数量的+和 - 例子。最初,熵自p(+) = p(-) = 0.5开始为1。您希望将数据拆分为最能减少熵的属性(即使得类的分布最不随机)。如果选择一个与类完全无关的属性A1,那么在将数据按A1的值拆分后,熵仍然为1,因此熵不会减少。现在假设另一个属性,A2,完全分开的类(例如,类总是+A2="yes"始终-A2="no"。在这种情况下,熵是零,这是最理想的情况。

在实际情况下,属性通常不会对数据进行完美分类(熵大于零),因此您选择“最佳”对数据进行分类的属性(提供最大的熵降低),一旦数据以这种方式分离,另一个属性从第一次分裂中以类似的方式为每个分支选择,以进一步减少沿着该分支的熵。这个过程继续构建树。

+0

根据你的解释你能解释为什么需要登录功能吗? – kamaci 2013-02-23 20:25:18

+1

如果你注意到'p(+)= 1 - p( - )',在方程中有'log'函数给出了它的好的性质,当'p(+)'是函数的最小值0或1,并且当p(+)是1/2时(即,当两个类别具有相同的可能性时)具有其最大值(1)。公式本身不需要“日志”功能。当'p(+)'为零或1时,可以使用另一个对称函数,它的最大值为0.5,并且随着距离p(+)= 0.5'的距离单调递减。 – bogatron 2013-02-23 20:52:37

1

你似乎有对方法背后的数学的理解,但这里有一个简单的例子,可以给你一些背后原因的直觉:想象一下,你在一个被100名学生占据的教室里。每个学生都坐在办公桌前,办公桌有10排10列。 100名学生中有1人拥有您可以拥有的奖品,但您必须猜出是哪位学生获得奖品。问题在于,每当你猜测,奖品的价值就会下降。你可以先问问每个学生是否有奖。然而,最初,你只有1/100的机会正确猜测,并且很可能当你发现奖品时,它将毫无价值(把每一个猜测看作决策树中的一个分支)。相反,您可以提出广泛的问题,以显着减少每个问题的搜索空间。例如“学生是否在第1到第5行?”无论答案是“是”还是“否”,您都会将树中潜在分支的数量减少一半。