math - ID3 和 C4.5 : How Does "Gain Ratio" Normalize "Gain"?

标签 math statistics computer-science data-mining classification

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

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

我的问题是:

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

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

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

我错过了什么?

最佳答案

SplitInfo doesn't even take into account the number of outcomes, just the distribution of records in the split.

但它确实考虑了结果的数量。 (即使它依赖于分布,如您所述)。您的比较是在结果数量相同(“低”)的两种情况之间进行的,因此它无法说明 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,则会选择后者。但是,在 GainRatio 中使用 SplitInfo,应该清楚的是,随着选择的数量增加SplitInfo 也会上升,GainRatio下降

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

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

相关文章:

algorithm - 什么算法确定点与贝塞尔曲线的接近程度?

ruby - 根据矩阵形状进行坐标转换

javascript - 给定一组 6 位数字,找出所有可能的 "non-duplicate"组合

独立性的Matlab测试

c - 定义与变量的存在

javascript - 如何得到从 1 到给定数字的所有数字相加的倒数?

python - 后验概率 python 示例

java - 面向对象编程中的访问修饰符

C float 每次执行都会改变 %d 个值

statistics - 简单的多维曲线拟合