【AI】可解释机器学习4 - 决策树

146 阅读3分钟

「这是我参与2022首次更文挑战的第25天,活动详情查看:2022首次更文挑战」。

对于决策树,我们并不陌生。生活中我们会用决策树的方法来思考一些问题。

例如,对于 老婆:“下班回来看看有没有卖苹果的,买10个苹果,如果有西瓜,就买1个”,可以绘制出决策树:

graph TD
n1[有没有人卖苹果] --有--> n2[TA有没有卖西瓜]
n1 --没有--> n3[空手而归]
n2 --有--> n4[买1个苹果]
n2 --没有--> n5[买10个苹果]

下面我们看看决策树在机器学习里的解释和优缺点。

决策树

决策树可用于分类和回归。

决策树根据特征中的特定阈值多次分割数据。通过拆分,创建数据集的不同子集,每个实例属于一个子集。最后的子集称为终端节点或叶节点,中间子集称为内部节点或分割节点。

结果 yy 和特征 xx 之间的关系表示为:

y^=f^(x)=m=1McmI(xRm)\hat{y}=\hat{f}(x)=\sum_{m=1}^{M} c_{m} I(x \in R_{m})

I(xRm)I(x \in R_{m})是标识函数,如果 xx 在子集合 RmR_{m} 中,则返回 11,否则返回 00。如果实例落入叶节点 RlR_{l},则预测结果为 clc_{l} ,其中 clc_{l} 是叶节点 RlR_{l} 中所有训练实例的平均值。

决策树的构造方法有 ID3、CD4.5、CART 等。以 CART 为例,其采用一个特征,并确定哪个分界点使回归任务的 yy 方差最小,或者分类任务的 yy 类分布的基尼指数最小。

解释

决策树解释很简单:从根节点开始,转到下一个节点,边上的信息展示了使用这条边的原因。一旦到达叶节点,该节点将展示预测的结果。将所有经过的边用“和”连接,构成了结果的解释。

决策树中某个特征的总体重要性可以通过以下方式计算:遍历使用该特征的所有分割,并测量与父节点相比,该特征减少方差或基尼指数的程度。

优点

树结构非常适合捕获数据中特征之间的交互。不需要变换特征。在线性模型中,有时需要取特征的对数。

数据以不同的组结束,这些组通常比线性回归中多维超平面上的点更容易理解。这种解释可以说相当简单。

缺点

树不能处理线性关系。输入特征和结果之间的任何线性关系都必须通过分割来近似,从而创建一个阶跃函数。这是没有效率的。

树也很不稳定。训练数据集中的一些更改可以创建一个完全不同的树。这是因为每个拆分都取决于父拆分。如果选择不同的特征作为第一个拆分特征,则整个树结构将发生变化。如果结构如此容易更改,则难以对模型产生信心。

终端节点的数量随着深度的增加而迅速增加。终端节点越多,树越深,理解树的决策规则就越困难。