【问题标题】:Why use cross entropy in decision tree rather than 0/1 loss为什么在决策树中使用交叉熵而不是 0/1 损失
【发布时间】:2018-10-22 20:28:24
【问题描述】:

我知道交叉熵/互信息如何在分类决策中作为损失函数起作用。但是我想知道为什么 0/1 loss 不是一个好的选择。

【问题讨论】:

标签: machine-learning scikit-learn statistics random-forest decision-tree


【解决方案1】:

在一般机器学习的上下文中,很少使用 0-1 损失的主要原因是 0-1 损失不是凸损失函数,并且在 0 处不可微。结果是 NP-hard准确地解决关于 0-1 损失的问题。 Here is a source讨论一些直接优化0-1损失的方法。

交叉熵可以理解为 0-1 损失的松弛,其方式代表相同的一般思想(根据预测该示例的正确标签的程度将“成功”归因于候选分类),但这是凸的。

在您在标题中提到的决策树的特定上下文中,至少有两个与此相关的重要考虑因素。

  • 在普通决策树训练中,用于修改模型参数(决策拆分)的标准是对分类纯度的某种度量,例如 information gaingini impurity,两者都代表不同于标准的东西分类问题设置中的交叉熵。您实际上可以在这里使用 0-1 损失作为分割标准,这也称为使用误分类率。 Here are some PDF lecture notes 在幻灯片 19 上,他们展示了信息增益和基尼杂质的平滑函数与错误分类率不可微分的尖锐点的对比。

  • 在梯度提升树中,您再次需要一个可微损失函数,这主要是在使用均方误差的回归树的上下文中讨论的,通常指偏差损失或“指数”(AdaBoost)分类损失,但原则上可以以某种自定义方式使用交叉熵。

对于显着受益于凸损失函数或至少可微损失函数的问题,例如训练基于神经网络的分类器,使用交叉熵等松弛函数的好处通常非常巨大,而且在全面优化0-1损失。

对于一个普通的决策树,您可以使用 0-1 损失来计算每个建议分割的准确度指标,您处理的不是相同的 NP-hard 优化问题,而只是使用 0-1 损失作为分割标准,仍然只是搜索f-by-d 可能分割的f 特征的数量,每个特征都有d 观察值。

我相信您可以提出一些手摇论据,即信息增益或基尼杂质允许对给定特征拆分的信息性进行更细致入微的解释,或者您可能会认为纯粹优化原始分类准确度的可信度更高每次拆分都可能导致严重的过度拟合,尤其是使用贪婪方法时。

但最后,如果您有理由相信这是解决您正在处理的给定建模问题的一种有价值的方法,那么您就不能使用 0-1 损失作为拆分标准。开。

【讨论】:

  • 如果0-1损失在0处不可微,我们可以用交叉熵代替所有的0-1损失吗?
  • @BrattSwan 我添加了一些专门与树木相关的细节,因为从标题看来,这可能是您关注的重点。了解典型损失函数与用于在决策树中选择拆分的标准之间的差异非常重要。除了这个区别,你没有理由不能使用 0-1 的损失作为进行拆分的标准。
  • 关于您上面的评论:对于需要直接优化损失函数并且从(甚至需要)可微损失函数中受益很多的问题,那么是的,您几乎总是会选择像交叉这样的松弛熵。对于只需要计算分数或标准的问题,例如用于拆分树的方法,可能偶尔会出现更喜欢 0-1 损失的原因,但在大多数情况下,还有一些其他标准,例如基尼杂质或信息增益, 被使用。
猜你喜欢
  • 2017-11-16
  • 2021-08-25
  • 1970-01-01
  • 2018-06-30
  • 2021-01-16
  • 2018-09-03
  • 2016-08-01
  • 2018-04-14
  • 1970-01-01
相关资源
最近更新 更多