可解释的机器学习(二):可解释的模型-线性回归
可解释的机器学习(二):可解释的模型-线性回归
线性回归介绍
线性回归 模型将目标预测为特征输入的加权和,而所学习关系的线性使解释变得容易。
线性模型中针对第i个实例:
y = \beta + \beta_1x_1 + \ldots + \beta_px_p + \epsilon
通常使用最小二乘法来找到使真实结果和预测结果之间平方差最小化的权重:
\hat \beta = arg\,\min_{\beta_0,\ldots,\beta_p}\sum_{i=1}^n(y^{(i)} -(\beta_0 + \sum_{j=1}^p\beta_jx_j^{(i)}))^2
线性回归模型的最大优点使线性:它使估计过程变得简单,最重要的是,这些线性方程在模块化水平(即权重)上具有易于理解的解释。
模型是否为“正确”模型取决于数据中的关系是否满足某些假设:
- 线性:线性回归模型使预测成为特征的线性组合。,线性导致其成为可解释模型。线性效益易于量化和描述。
- 正态性:假设给定特征的目标结果服从正态分布。
- 同方差性:假设误差项的方差在整个特征空间内是恒定的。
- 独立性:假设每个实例独立于任何其他实例。
- 固定特征:输入特征被认为是“固定的”。
- 不存在多重共线性:不需要强相关的特征,这会扰乱对权重的估计。
解释
线性回归模型中权重的解释取决于相应特征的类型。
数值特征的解释
当所有其他特征保持不变时,特征x_k每增加一个单位,预测结果y增加\beta_k。
分类特征的解释
当所有其他特征保持不变时,将特征x_k从参照类别改变为其他类别时,预测结果y会增加\beta_k
R^2解释模型中目标结果的总方差的的多少。R^2越高,模型对数据的解释越好
R^2 = 1 - \frac{SSE}{SST}
其中 SSE 是误差项的平方和,是预测结果和真实结果之间的平方差。
SSE = \sum_{i=1} ^ n(y^{(i)} - \hat y{(i)}) ^ 2
SST是数据方差的平方和,是目标结果的总方差
SST = \sum_{i=1}^n(y^{(i)} - \overline y)^2
R^2可说明有多少方差可以用线性模型来解释。根本无法解释时值为0。
使用调整后的 R^2考虑了模型中使用的特征数量:
\hat R^2 = 1 - (1-R^2)\frac{n-1}{n-p-1}
其中p是特征的数量,n是实例的数量。
特征重要性
某个特征的重要性可以用它的t-统计量的绝对值来衡量。
t_{\hat \beta_j} = \frac{\hat\beta_j}{SE(\hat\beta_j)}
该公式说明:特征的重要性随着权重的增加而增加。估计的权重的方差越大,我们对正确值的把握就越小,特征越不重要。
示例
数值特征的解释:当所有其他特征保持不变时,…升高…,…预测数量增加…。
分类特征的解释:与…相比,当…时,…估计数量(发生改变)。
所有特征的解释总是伴随着“所有其他特征保持不变”,这是因为线性回归模型的本质。预测目标是加权特征的线性组合。估计的线性方程是特征/目标空间中的超平面。权重指定每个方向上超平面的斜率。
优点:可加性将单个特征的解释与其他特征隔离开来。
缺点:这样的解释忽略了特征的联合分布。
可视化解释
权重图
效应图
可以帮助了解权重和特征的组合对数据预测的贡献程度。特征效应:
effect^{(i)}_j = w_jx_j^{(i)}
使用箱线图可以可视化效应。
解释单个实例预测
特定实例的特征效应的解释仅与各个特征的特征效应分布相比较才有意义。
效应图向我们展示了数据中的效应分布,使我们能够将单个实例的特征效应与数据中的效应分布进行比较。
线性模型是否有很好的解释?
线性模型并不能创建最佳解释。
第一,特征是对比性的。
第二,一个“好的解释”的另一个要求是选择性。
稀疏线性模型
真实的情况下我们可能不只是拥有少数个特征,而是拥有成百上千个特征。可能就会出现特征比实例多的一种情况。
我们可以将稀疏性(很少的特征)引入线性模型。
Lasso
是一种将稀疏性映入线性回归模型的自动简便方法。在线性模型中,我们考虑权重优化的最小化问题:
min_\beta(\frac1n\sum_{i=1}^n(y^{(i)}-x_i^T\beta)^2)
Lasso为这个优化问题增加了一项:
min_\beta(\frac1n\sum_{i=1}^n(y^{(i)}-x_i^T\beta)^2+\lambda||\beta||_1)
线性模型中稀疏性的其他方法
预处理方法
- 手动选择特征:使用专家知识。
- 单变量选择:考虑超过特征和目标之间相关性阈值的特征。
分步方法
- 向前选择:选择最有效的模型(例如最高R^2),通过将每个特征添加到当前的最佳模型中。
- 向后选择:尝试删除某个特征。
线性模型解释的优缺点
优点:
- 将预测建模为一个加权和,使预测的生成变得透明。
- 有很高水平的集体经验和专业知识。
- 可以保证找到最佳权重
缺点 :
每一个非线性或交互都必须使人工构成的。
从预测性能角度来说,线性模型通常不是那么好。
权重的解释可能不直观。
