失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 机器学习可解释性(二) 之 可解释模型

机器学习可解释性(二) 之 可解释模型

时间:2023-12-07 13:36:00

相关推荐

机器学习可解释性(二) 之 可解释模型

文章目录

什么是可解释模型线性回归解释性优缺点逻辑回归解释性优缺点树模型解释性优缺点模块层面:特征如何影响模型预测总结

在上篇中我们有提到,根据可解释性方法的作用阶段,可以将其分为两类:可解释模型(训练阶段) 与模型无关方法(预测阶段)。

这篇我们着重介绍可解释模型

什么是可解释模型

进行可解释性分析最简单的方法就是:训练阶段采用具备可解释性的模型。简单一点就是:选择一个本身就容易解释的模型来作为分类器,那模型训练好后,是不是分析它的行为就相对简单一点。

线性回归逻辑回归决策树都是比较常用的可解释模型。

那如何判断一个模型是不是可解释模型呢?主要关注模型的如下三点:

线性:模型中特征和目标之间的关联是线性的,如线性回归。单调性:具有单调性约束的模型,可确保特征和目标在整个特征范围内始终朝着相同的方向移动,如逻辑回归。

即特征值的增加要么总是导致目标结果的增加,要么总是导致目标结果的减少。单调性对于模型的解释是有用的,因为它使理解关系变得更容易。特征交互:模型能够自动进行特征之间的交互来预测目标,如决策树模型。

特征交互指的是学习两个或多个原始特征之间的交叉组合。交互可以提高预测性能,但太多或太复杂的交互会损害可解释性。

找到了可解释模型之后,如何选择适合自己问题的模型呢?

任务类型:有些模型只处理回归,有些只处理分类,还有一些模型两者都处理。

下面是常用可解释模型的属性及适用任务类型汇总表:

下面我们着重介绍比较常用的三个模型:线性回归、逻辑回归、决策树。

线性回归

线性模型用于将目标 y 拟合为输入特征 x 的线性加权和,其假设函数如下:

y=β0+β1x1+β2x2+...+βnxn+ϵy=\beta_0+\beta_1 x_1+\beta_2 x_2+...+\beta_n x_n+\epsilony=β0​+β1​x1​+β2​x2​+...+βn​xn​+ϵ

其中,βj\beta_jβj​为模型要学习的特征系数,β0\beta_0β0​为截距项,ϵ\epsilonϵ为误差,即预测结果与真实结果之间的差。

线性模型最大的特点是线性:它使估计过程变得简单,模型也更容易理解。

解释性

下面我们结合实例来解释。给定某自行车租赁公司每日的车辆租赁数量,以及每天的天气和季节信息。用线性回归模型根据历史的天气和天数来预测每天出租的自行车数量。

线性回归模型各特征的权重、预测的标准差和 t-统计量的绝对值如下表所示:

全局层面:特征重要性

如何解释线性回归模型中权重呢?权重的解释取决于特征的类型。

数值特征 (温度特征 temp) 的解释:当所有其他特征保持不变时,将温度升高 1 摄氏度,租赁自行车的预测数量增加 110.7 。分类特征 (天气状况特征 weathersit) 的解释:与好天气相比,当下雨、下雪或暴风雨时,租赁自行车的预测数量减少了1901.5;再次假设所有其他特征不变,当天气有雾时,租赁自行车的预测数量比正常天气少了379.4。

注意:对于分类特征,由于线性回归模型入模前会对分类特征进行编码,为了便于建立变量取值权重的联系,其解释是针对参照取值(编码时被丢弃的取值)而言的。为什么要针对参照取值呢?

如特征天气状况weathersit,其包含三个取值:GOOD、MISTY、RAIN/SNOW/STORM。上面采用的取值为 weathersitMISTY 和 weathersitRAIN/SNOW/STORM,即编码剔除的参照取值为GOOD:好天气。

在 GOOD 为参照取值的前提下,假设 weathersit 取值为GOOD时,模型预测的自行车租赁数量为 yyy。则天气变为MISTY时,预测数量为 y−379.4y-379.4y−379.4,变化量正好为特征 weathersitMISTY的权重。可以看到,基于参照变量分析可以很方便的将原始特征(weathersit)的取值变化(GOOD–>MISTY)对预测结果的影响(-379.4)跟其权重(weathersitMISTY)联系起来。因为特征取值从参照取值转变为另一取值,对预测结果的影响就是新取值对应特征的权重。

反过来,如果基于非参照取值进行分析,如记 weathersit 取值为MISTY时,模型预测的自行车租赁数量为 yyy,见下表第二行。则天气变为 RAIN/SNOW/STORM 时,预测数量为 y−1522.1y-1522.1y−1522.1,1522.1这个数字虽然可以通过两个权重组合得到,但远不如第一行的数据直观。

对线性模型进行解释时,总是伴随着 “所有其他特征保持不变”。这是因为线性回归模型假设特征之间不存在多重共线,即一个特征的变化不会引起另一个特征的变化。

在线性回归模型中某个特征的重要性可以用它的 t-统计量 (t-statistic) 的绝对值来衡量。t-统计量是以标准差为尺度的估计权重。

tβ^=β^jSE(β^j)t_{\hat \beta}=\dfrac{\hat \beta_j}{SE(\hat \beta_j)}tβ^​​=SE(β^​j​)β^​j​​

优缺点

优点

将预测建模为一个加权和,使预测的生成变得透明。结合正则,如Lasso,可以确保使用的特征数量仍然很小。

缺点

只能表示线性关系 ,非线性或交互都必须是人工构成从预测性能角度来说,线性模型通常效果不是那么好

逻辑回归

逻辑回归模型使用逻辑斯特函数将线性方程的输出挤压到 0 和 1 之间,作为分类概率。

P(y=1)=11+exp⁡(−(β0+β1x1+β2x2+...+βnxn))P(y=1)=\dfrac{1}{1+\exp(-(\beta_0+\beta_1 x_1+\beta_2 x_2+...+\beta_n x_n))}P(y=1)=1+exp(−(β0​+β1​x1​+β2​x2​+...+βn​xn​))1​

其中,βj\beta_jβj​为模型要学习的特征系数,β0\beta_0β0​为截距项,P(y=1)P(y=1)P(y=1)为样本属于正例的概率。

解释性

下面我们结合实例来解释。使用逻辑回归模型基于一些风险因素来预测女性是否会患上宫颈癌 。

逻辑回归模型各特征的权重、相关的几率比和预测的标准差如下表所示:

全局层面:特征重要性

由于逻辑回归的结果是 0 到 1 之间的概率,权重不再线性地影响概率,因此逻辑回归中权重的解释不同于线性回归中权重的解释。

对上面的方程进行变形,转换为对数几率表达式(log odd):

log⁡(P(y=1)1−P(y=1))=log⁡(odds)=β0+β1x1+β2x2+...+βnxn)\log(\dfrac{P(y=1)}{1-P(y=1)}) =\log(odds) = \beta_0+\beta_1 x_1+\beta_2 x_2+...+\beta_n x_n)log(1−P(y=1)P(y=1)​)=log(odds)=β0​+β1​x1​+β2​x2​+...+βn​xn​)

log⁡()\log()log() 函数中的项称为几率 (odds) (事件发生概率除以事件不发生概率),对数几率函数由此得名。

oddsxj+1oddsx=exp⁡(β0+β1x1+...+βj(xj+1)+...+βnxn))exp⁡(β0+β1x1+...+βjxj+...+βnxn))=exp⁡(βj)\dfrac{odds_{x_j+1}}{odds_{x}} =\dfrac{\exp(\beta_0+\beta_1 x_1+...+\beta_j (x_j+1)+...+\beta_n x_n))}{\exp(\beta_0+\beta_1 x_1+...+\beta_j x_j+...+\beta_n x_n))} =\exp(\beta_j)oddsx​oddsxj​+1​​=exp(β0​+β1​x1​+...+βj​xj​+...+βn​xn​))exp(β0​+β1​x1​+...+βj​(xj​+1)+...+βn​xn​))​=exp(βj​)

最后,得到了一个简单的特征权重 exp⁡()\exp()exp()。一个特征改变 1 个单位将会使几率比 (odds ratio) 改变 exp⁡(βj)\exp(\beta_j)exp(βj​)。

同样的,区分变量类型进行权重的解释:

数值特征的解释 (性病诊断次数/Num. of diagnosed STDs):当所有其他特征保持不变时,诊断的性传播疾病 (STDs) 数量的增加改变 (增加) 了癌症对非癌症的几率 2.26 倍。分类特征的解释 (是否服用激素避孕药/Hormonal contraceptives y/n):当所有其他特征保持不变时,对于使用激素避孕药的女性,与没有激素避孕药的女性相比,癌症与没有癌症的几率低 0.89 倍。

优缺点

优点

逻辑回归模型不仅是一个分类模型,而且还给出概率。逻辑回归也可以从二分类扩展到多分类。

缺点

必须手动添加交互。解释更困难,因为权重的解释是乘法而不是加法。

树模型

基于树的模型根据特征中的某些截断值多次分割 (Split,或称分裂、拆分) 数据。通过分割,可以创建数据集的不同子集,每个实例都属于一个子集。

下面的公式描述了结果 y 和特征 x 之间的关系:

y=∑m=1McmI{x∈Rm}y=\sum_{m=1} ^M c_m I\{x \in R_m\}y=m=1∑M​cm​I{x∈Rm​}

其中,每个实例正好属于一个叶节点 (= 子集 RmR_mRm​)。I{x∈Rm}I\{x \in R_m\}I{x∈Rm​} 为指示函数,如果 xxx 在叶节点 RmR_mRm​ 中则返回 1, 否则返回 0。即如果一个实例属于叶节点 RlR_lRl​,则预测结果为 y=cly = c_ly=cl​ ,其中 clc_lcl​ 是叶节点 RlR_lRl​ 中所有训练实例的平均值。

解释性

下面我们结合实例来解释。用决策树模型根据历史的天气和天数来预测每天出租的自行车数量。

全局层面:特征重要性

特征 days_since_ 表示数据收集开始的天数,可以看到:随着时间的推移自行车租赁服务变得越来越流行的趋势。

在第 105 天之前的天数中,自行车的预测数量大约是 1800;在第 106 天和第 430 天之间,大约是 3900;对于第 430 天之后的天数, 预测值为 4600 (如果温度低于 12 摄氏度) 或 6600 (如果温度高于 12 摄氏度);

在决策树中,一个特征的总体重要性可以用以下方法计算:遍历使用该特征的所有分割,并测量它相对于父节点减少了多少方差或基尼指数。最后将所有重要性的总和缩放至 0 ~ 100,使得每个重要性可以解释为总体模型重要性的一部分。

可视化树表明温度特征和天数特征都被用于分割,但没有量化哪个特征更重要。特征的重要性告诉我们特征在多大程度上有助于提高所有节点的纯度。由于预测自行车租赁是一个回归任务,这里使用的方差,特征重要性表明天数特征远比温度特征重要。

优缺点

优点

能够捕获数据中特征之间的交互:这是由树这种特殊结构决定的。解释相当简单:树结构可以自然的可视化,对单个实例的预测结果可以表示为:如果某个特征大于/小于分割点,则预测值将是 y1 而不是 y2”。

缺点

不能处理线性关系:任何线性关系都必须通过分割来近似 (用阶跃函数 近似曲线)。缺乏平滑度:输入特征的微小变化会对预测结果产生很大影响。不稳定 :因为每个分割都依赖于父分割,一旦父分割发生变化,整棵树的结构将发生变化。

模块层面:特征如何影响模型预测

模型给出的特征权重是一个相对描述量,取决于特征的度量。 比如有一个身高特征,如果测量单位从米转换到厘米,那么该特征的权重也会有所不同,就会对模型的分析带来干扰。

特征的权重会改变,但特征效应不会随着度量的改变而改变。特征效应定量描述了权重和特征的组合对预测结果的贡献程度。对于线性回归模型,特征效应为每个特征的权重与实例特征值的乘积:

Effectj=βjxjEffect_j=\beta_j x_jEffectj​=βj​xj​

但并非所有模型的特征效应都有如此简洁的形式。在后面的模型无关方法中会介绍部分依赖图(PDP),其适用于任何模型。

注意:为了方便解释,后面均以线性回归模型为例。

全局

还是上面线性回归模型中的自行车租赁问题,左侧是上面给出的特征权重表。右侧是该模型在训练样本上的效应分布图,展示了每个特征的效应分布。

那么右侧的特征效应分布图是如何得到的呢?

前面提到过,对于线性回归模型,特征的效应可以表示为特征值与特征权重的乘积。对于单个实例,每个特征的取值分别乘以特征的权重即可得到一组特征效应值(可以参考下方局部:单个实例解释中的表格,即为一组特征效应值)。

对于包含 mmm 个实例的训练集,就可以得到 mmm 组特征效应。即对于每个特征而言,都有 m 个效应值,即可使用箱型图展示其分布。

箱形图中的框表示一半数据的特征效应范围 (效应值的 1/4 到 3/4 分位数)。框中的垂直线代表中位数 ,即 50% 的实例对预测的影响小于此值。水平线延伸到 ±1.5IQR/(n)±1.5IQR/\sqrt(n)±1.5IQR/(​n),其中 IQRIQRIQR 是四分位数之间的范围 (3/4 分位数减去 1/4 分位数)。剩余点为离群点。

如何分析特征效应分布图?

特征效应定量描述了权重和特征的组合对预测结果的贡献程度。从上面的箱形图可以看出,

特征温度 temp 和天数 days_since_ 对预测结果的贡献最大,且都为正向贡献。温度在很大程度上有助于预测。特征天数的贡献随着天数的增加而变大,该特征效应每天都在增加。因为该特征的估计权重为正 (4.93)。这意味着,并且在数据集中的最后一天最高 ( 年 12 月 31 日)。 注意:负权重的特征效应。对于负权重,具有负特征值的实例表现出来的是正的效应。例如,风速有高负效应的时候就是风速高的日子。

局部:单个实例

为了方便理,结合一个具体的实例进行解释。左侧是训练集中的一个实例,右侧是该实例的预测结果以及各特征对最终预测结果的贡献,即特征效应。

先分析一下右侧的效应图,从上方可以看到,训练数据实例的预测平均值是 4504。相比之下,第 6 个实例的预测值很小,只有 1571 辆自行车租用。为什么该实例的预测值相比平均值如此小呢?

注意,后面的分析都是以平均值作为参照标准。

右侧下方的效应图揭示了原因。箱线图显示训练集所有实例的效应分布图,“叉号” 代表第 6 个实例的特征效应。对比可以发现:

该实例的温度特征(temp)的特征效应(蓝色椭圆对应部分)相较小,因为这一天的温度为1.6 摄氏度,与大多数日期相比较低 。而该特征的权重为正,导致该实例的预测值偏小。此外,与其他实例相比,天数特征(days_since_)的特征效应也偏小,该特征取值仅为5,而这个特征也是正向的权重。

那么每个特征的特征效应是如何计算得到的呢?

针对上面实例的取值以及特征的权重,可以得到如下汇总表:

前面介绍过,特征效应为权重与特征取值的某种组合。但对于离散特征,权重是针对编码后的特征,而效应是相对原始特征而言。此时,以实例取值相对应的特征权重作为该离散特征的权重。

例如,该实例的是否工作日特征 workingday 取值为WORKING DAY,其对应的权重为 124.9,则该实例的workingday特征权重为124.9.

按照该逻辑,可以得到每个特征的效应(详见上表最后一行)。将上述特征的效应加和为-828.4,分预测值 1571 相去甚远。别忘了,模型还有一个截距项2399.4,加上该部分即可得到模型的预测值:

1571=124.9+6.000868∗(−42.5)+0+1.604356∗110.7+0+51.8261∗(−17.4)+0+5∗4.9+2399.41571 = 124.9+6.000868*(-42.5)+0+1.604356 * 110.7+0+51.8261*(-17.4)+0+5*4.9+2399.41571=124.9+6.000868∗(−42.5)+0+1.604356∗110.7+0+51.8261∗(−17.4)+0+5∗4.9+2399.4

由此,即可定性的衡量每个特征对于最终预测结果的影响程度。

总结

该部分介绍了三个常用的解释性较好的模型,并结合这三个模型介绍了如何结合数据从结果出发解释模型的行为。后续,会介绍对于其他的复杂模型,如何结合模型无关方法去解释模型行为。

如果觉得《机器学习可解释性(二) 之 可解释模型》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。