为什么Shannon的熵测量用于决策树分支?
熵(S)= - p(+)log(p(+)) - p( - )log(p( - ))
我知道这是衡量否定的标准。编码信息所需的比特数;分布越均匀,熵越多。但我不明白为什么它经常应用于创建决策树(选择一个分支点)。
答案 0 :(得分:5)
因为您想提出能够为您提供最多信息的问题。目标是最小化树中的决策/问题/分支的数量,因此您从提供最多信息的问题开始,然后使用以下问题填写详细信息。
答案 1 :(得分:2)
为了决策树,忘记位数,只关注公式本身。考虑二进制(+/-)分类任务,您的训练数据中有相同数量的+和 - 示例。最初,自p(+) = p(-) = 0.5
起熵将为1。您希望在最能降低熵的属性上拆分数据(即,使类的分布最不随机)。如果选择与类完全无关的属性A1,则在将数据分割为A1后,熵仍为1,因此熵没有减少。现在假设另一个属性A2完全分离了类(例如,+
的类始终为A2="yes"
,-
的类始终为A2="no"
。在这种情况下,熵是零,这是理想的情况。
在实际情况中,属性通常不能完美地对数据进行分类(熵大于零)。因此,您选择“最佳”对数据进行分类的属性(提供最大的熵减少)。一旦以这种方式分离数据,就以类似的方式为来自第一次分割的每个分支选择另一个属性,以进一步减少沿该分支的熵。这个过程继续构建树。
答案 2 :(得分:1)
您似乎对该方法背后的数学有所了解,但这里有一个简单的例子可能会让您对使用此方法的原因有所了解:想象一下,您所在的教室中有100名学生。每个学生都坐在办公桌前,办公桌有10行10列。 100名学生中有1名获得了奖品,但您必须猜出哪名学生获得奖品。问题是,每当你猜到,奖金的价值就会减少。您可以先向每个学生分别询问他们是否有奖品。然而,最初,你只有1/100的机会正确猜测,并且很可能在你找到奖品时它将毫无价值(将每一个猜测视为决策树中的一个分支)。相反,您可以提出广泛的问题,这些问题会大大减少每个问题的搜索空间。例如“学生在第1行到第5行的哪个位置?”无论答案是“是”还是“否”,您都将树中潜在分支的数量减少了一半。