使用 ML 一般可解释性方法时,基于树的方法对低概率特征空间区域具有鲁棒性吗?

数据挖掘 预测建模 决策树
2022-03-13 08:37:26

我有这种直觉,但我无法验证它。

有很多技术可以理解 ML 模型中单个特征的影响。有些人从反事实框架(如其他条件不变)中汲取灵感,并评估特征的无条件贡献X通过观察变化时预测的变化X值保持所有其他变量固定。此类技术中最常见的是 PDP https://christophm.github.io/interpretable-ml-book/pdp.html

问题是这种方法对于预测变量的不可能组合并不稳健。例如,在给定天气条件和一年中的某个时段来预测共享单车数量的模型中,即使在训练集中没有这样的数据点,也可以预测冬季温度为 40°C。

有多种技术可以适应这种偏差,例如累积局部估计图 (ALE)。我想知道基于树的方法(简单或集成)是否自然比基于回归的方法更能抵抗这种偏差;我期待这一点,因为基于树的预测仅在数据中存在的特征空间的分区之间变化,而回归允许从未观察到的预测变量组合的预测变化。

例如,这是针对自行车问题训练的条件树的输出:

[1] root
|   [2] temp <= 12.2
|   |   [3] season in SPRING, SUMMER
|   |   |   [4] temp <= 4: 1663 (n = 64, err = 30258081)
|   |   |   [5] temp > 4: 2852 (n = 133, err = 216353574)
|   |   [6] season in WINTER
|   |   |   [7] hum <= 82.3: 4315 (n = 90, err = 117371810)
|   |   |   [8] hum > 82.3: 2781 (n = 9, err = 26537744)
|   [9] temp > 12.2
|   |   [10] hum <= 84.8
|   |   |   [11] windspeed <= 13.2: 5877 (n = 256, err = 454812206)
|   |   |   [12] windspeed > 13.2: 5285 (n = 149, err = 326330122)
|   |   [13] hum > 84.8: 3382 (n = 30, err = 47251364)

正如预期的那样,温度和季节是相关的,因此我们不会找到关于更高(> 12.2)温度的冬季规则。

因此,我预计将温度强制为 14 度的冬季不会产生与夏季不同的预测。我还希望这种鲁棒性也可以复制到更复杂的黑盒模型,如随机森林和增强树。

相反,基于回归的方法将允许不可能的预测,如以下线性模型所示,其中温度的影响是无限的。

   (Intercept)           temp   seasonWINTER            hum      windspeed   seasonSUMMER holidayHOLIDAY 
        4888.4          152.1         1307.1          -37.6          -64.0          673.2         -621.4 

有人可以确认/反驳这一点,最好用基于理论的解释吗?

2个回答

那么,您是否满足于在冬天温度实际达到 40 度的那一天无法工作的系统?你会在意吗,因为你现在可能还有其他事情要担心

独立性假设通常用于处理稀疏情况。例如,朴素贝叶斯在文档分类任务中效果很好:文档中的每个单词 ( token ) 都被视为由属于文档类的概率分布控制的单个观察值

另一方面,基于树的分类器生成复合规则,因此适用于利用条件概率。例如:如果是12.2度或以下,并且是冬天,那么湿度是自行车使用的辨别因素。

注意:即使您的规则样本很小,它仍然很复杂假设我们观察它并制定一个简单的规则:如果湿度 < 83 大约增加 55%这将很好地模拟您的规则,并使其不那么复杂,除非这恰好是一个寒冷的春天或夏天。这真的是规则吗?这会导致错误的预测吗?或者我们只是在那个样本(200 个数据点)中看到很少或没有出现湿度变化的寒冷天气?鉴于日历上的日期,我不会开始押注人们对湿度的不同反应

您提出树规则可以防止概率质量泄漏到不可能的情况。相反,您可以提出天真的概率将帮助您对数据集中稀疏的情况进行预测。你是否想要这取决于你的合理判断。这是机器学习,而不是机器智慧

从这个意义上说,我会说树木“不同”地健壮。

树模型永远不会预测超出训练集中范围的目标值;所以永远不要计数的负值,或者比人口更多的感染等等。(一些基于树的模型可能,例如梯度提升,但不是一棵树或随机森林。)

但有时这也是有害的。在您的自行车示例中,也许城市人口是另一个变量;随着城市的发展,您的模型将很快变得无用,而线性模型可能会更好地应对概念漂移。

最后,再次在您的自行车示例中:因为当温度> 12 时,树没有理由制定关于冬天的规则,正如@SvanBalen 所说,如果您问它关于炎热的冬天,它基本上会组成一个答案。就您的树而言,炎热的冬天被视为夏天;另一棵树可能会在季节首先分裂,从不考虑冬季分支的温度,因此这棵替代树会将炎热的冬天视为冬天。

尝试跟踪自变量的概念漂移和相互依赖关系似乎更好,以识别模型何时没有看到足够有用的训练数据来做出准确的预测。