反事实解释会识别改变机器学习模型输出所需的最小输入更改。它回答了这个问题:“需要改变什么才能使此输入获得不同的预测?” 例如,如果贷款申请被拒绝,反事实解释可能会说明将申请人的收入增加 5,000 美元将导致批准。这种方法很有用,因为它提供了可操作的反馈,而不仅仅是描述做出决定的原因。开发人员经常使用反事实来调试模型,确保公平性或满足 GDPR 的“解释权”等法规要求。
为了生成反事实,开发人员通常将其定义为优化问题。目标是找到对输入特征的最小修改,从而翻转模型的预测,同时保持新输入的真实性。例如,在信用评分模型中,可以调整收入、债务或支付历史等特征。距离指标(例如,曼哈顿距离或欧几里得距离)量化了变化的“大小”,而梯度下降或遗传算法等优化技术则搜索有效的反事实。例如,如果模型拒绝收入 5 万美元和债务 1 万美元的贷款申请人,则反事实可能要求将收入增加到 5.5 万美元或将债务减少到 8 千美元。约束确保更改是合理的(例如,收入不能跃升至 100 万美元)。
反事实解释与模型无关,使其能够适应神经网络、决策树或黑盒 API。它们在高风险领域(如金融或医疗保健)中尤其有价值,在这些领域,用户需要明确的步骤来扭转决策。但是,挑战包括复杂模型的计算成本以及确保反事实反映现实世界的可行性。例如,建议一个 20 岁的人将他们的信用历史长度增加 10 年是不切实际的。AIX360 或 ALIBI 等库可以自动生成反事实,使开发人员能够将它们集成到应用程序中,而无需重新发明优化逻辑。通过专注于可操作的更改,反事实弥合了模型行为和用户理解之间的差距。