3

ID3 算法使用“信息增益”度量。

C4.5 使用“增益比”度量,即信息增益除以SplitInfo,而SplitInfo对于记录在不同结果之间平均分配的拆分,则较高,否则较低。

我的问题是:

这如何帮助解决信息增益偏向于具有许多结果的分裂的问题?我看不出原因。SplitInfo甚至不考虑结果的数量,只考虑拆分中记录的分布。

很可能是结果数量很少(比如 2 个),并且记录在这 2 个结果之间平均分配。在这种情况下,SplitInfo高,增益比低,C4.5 不太可能选择结果很少的拆分。

另一方面,可能结果数量很少,但分布很不均匀。在这种情况下,SplitInfo低,增益率高,并且更有可能选择具有许多结果的拆分。

我错过了什么?

4

1 回答 1

7

SplitInfo 甚至不考虑结果的数量,只考虑拆分中记录的分布。

但它确实考虑了结果的数量。(即使它取决于分布,正如您所指出的)。您的比较是在具有相同(“低”)结果数量的两种情况之间进行的,因此它不可能说明SplitInfo随着结果数量的变化而变化。

考虑以下 3 种情况,为便于比较,均采用均匀分布:

  • 均匀分布的 10 种可能结果

    SplitInfo = -10*(1/10*log2(1/10)) = 3.32

  • 100 种可能的结果,分布均匀

    SplitInfo = -100*(1/100*log2(1/100)) = 6.64

  • 1000 种可能的结果,分布均匀

    SplitInfo = -1000*(1/1000*log2(1/1000)) = 9.97

因此,如果您必须在 3 种可能的拆分方案之间进行选择,仅使用Information GainID3,则将选择后者。但是,SplitInfo在 中使用GainRatio,应该清楚的是,随着选择数量的增加SplitInfowill 也会上升,而GainRatiowill下降

所有这些都是通过假设均匀分布的分裂来解释的。然而,即使分布不均匀,上述情况仍然适用。 SplitInfo随着可能结果的数量越来越多,将会越来越高。是的,如果我们保持可能结果的数量不变并改变结果分布,那么SplitInfo会有一些差异......但也会如此Information Gain

于 2012-11-09T05:49:06.500 回答