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

C4.5 使用“增益比”度量,即信息增益除以 SplitInfo ,而 SplitInfo 对于一个 split 来说是高的,其中记录在不同的结果之间平均 split ,否则低。

我的问题是:

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

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

另一方面,也可能是结果数量少,但分布远非均匀。在这种情况下,SplitInfo 较低,Gain Ratio 较高,并且更有可能选择具有许多结果的拆分。

我错过了什么?

最佳答案



但是 确实考虑了结果的数量。 (即使它也取决于分布,正如您所指出的)。您的比较是在具有相同(“低”)结果数量的两种情况之间进行的,因此它不可能说明 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 种可能的拆分方案之间进行选择,仅使用 ID3 中的 Information Gain,则将选择后者。但是,在 SplitInfo 中使用 GainRatio ,应该清楚的是,随着选择的数量增加 SplitInfo 也将上升, GainRatio 向下

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

    关于math - ID3 和 C4.5 : How Does "Gain Ratio" Normalize "Gain"?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13224649/

    10-12 02:11