决策树学习和杂质

Posted

技术标签:

【中文标题】决策树学习和杂质【英文标题】:Decision Tree Learning and Impurity 【发布时间】:2011-06-23 15:13:47 【问题描述】:

测量杂质的三种方法:

每种方法有什么区别和合适的用例?

【问题讨论】:

@David:见这里:en.wikipedia.org/wiki/Decision_tree_learning#Gini_impurity 和这里:people.revoledu.com/kardi/tutorial/DecisionTree/… 【参考方案1】:

熵与其他杂质度量之间的区别,实际上通常是机器学习中的信息论方法与其他方法之间的区别,在于熵已在数学上被证明可以捕捉“信息”的概念。有许多分类定理(证明特定函数或数学对象是唯一满足一组标准的对象的定理)用于熵测度,它们将哲学论点形式化,证明其意义是“信息”的量度。

将此与其他方法(尤其是统计方法)进行对比,这些方法的选择不是出于哲学上的理由,而是主要是出于经验上的理由——也就是说,它们似乎在实验中表现良好。它们表现良好的原因是它们包含在实验时可能发生的额外假设。

实际上,这意味着熵测度 (A) 在正确使用时不会过度拟合,因为它们没有对数据的任何假设,(B) 比随机测量更有可能表现得更好,因为它们可以泛化到任何数据集但是 (C) 特定数据集的性能可能不如采用假设的度量。

在决定在机器学习中使用哪些衡量标准时,通常归结为长期收益与短期收益以及可维护性。熵度量通常由 (A) 和 (B) 长期起作用,如果出现问题,则更容易追踪并解释原因(例如,获取训练数据的错误)。 (C) 的其他方法可能会带来短期收益,但如果它们停止工作,则可能很难区分,例如基础设施中的错误与假设不再成立的数据的真正变化。

模型突然停止工作的典型例子是全球金融危机。银行家因短期收益而获得奖金,因此他们编写了在短期内表现良好的统计模型,而在很大程度上忽略了信息论模型。

【讨论】:

【参考方案2】:

我在这方面看到了各种非正式指导,从“如果您使用常用指标之一,就不会有太大差异”,到更具体的建议。实际上,要确定哪种方法效果最好,唯一的方法就是尝试所有的候选方法。

无论如何,以下是 Salford Systems(CART 供应商)的一些观点:

Do Splitting Rules Really Matter?

【讨论】:

【参考方案3】:

我发现this description of impurity measures 非常有用。除非您从头开始实施,否则大多数现有实施都使用单个预定的杂质测量。另请注意,基尼指数不是杂质的直接衡量标准,不是在其原始公式中,而且比您上面列出的要多得多。

我不确定我是否理解对小数和基尼杂质度量的担忧...我无法想象在拆分节点时会发生这种情况。

【讨论】:

【参考方案4】:

如果 p_i 非常 小,则对 非常小的 数(基尼指数)进行乘法可能会导致舍入错误。因此,最好添加日志(熵)。根据您的定义,分类错误提供了一个粗略的估计,因为它使用单个最大的 p_i 来计算其值。

【讨论】:

我看不出你在拆分节点时会遇到这些问题...随机森林分类器使用 Gini 杂质,据报道它比大多数其他基于树的分类器具有更高的准确度。跨度> @Benjamin:我在这个问题中看不到任何特定于拆分节点的内容。

以上是关于决策树学习和杂质的主要内容,如果未能解决你的问题,请参考以下文章

决策树中的特征重要性、离散化和标准

决策树中的特征重要性、离散化和标准

如何在 pyspark 中可视化决策树模型/对象?

决策树。选择分割对象的阈值

机器学习决策树

《机器学习实战》-决策树