以下文章摘录自:
《机器学习观止——核心原理与实践》
京东: https://item.jd.com/13166960.html
当当:http://product.dangdang.com/29218274.html
(由于博客系统问题,部分公式、图片和格式有可能存在显示问题,请参阅原书了解详情)
1.1.1 LIME
图 ‑ 什么是“解释一个模型”?
“解释一个模型”本身应该怎么理解呢?针对人类来说,它指的是提供可视化的文字或者图像来让人们可以直观地理解模型是基于什么理由给出的预测结果。更通俗一点来讲,就是模型“自证清白”的过程。
例如上图所示的范例中描述了一个用于“辅助看病”的模型向医生证实其可信的过程:模型不但要给出它的预测结果(flu),而且还同时提供了得出这一结论的依据——sneeze、headache以及no fatigue(反例)。这么做才能让医生有理由相信,它的诊断是有理有据的,从而避免“草菅人命”的悲剧发生。
如果大家做过机器学习项目,那么可能遇到过这样的困惑:明明模型在训练时的accuracy很高,但上线后的效果却大打折扣。导致这个问题的潜在因素很多,而其中有两个是我们必须要高度重视的。如下所示:
l Data Leakage
请参见Shachar Kaufman等人所著的论文《Leakage in Data Mining: Formulation, Detection, and Avoidance》
l Dataset shift
请参见MIT JOAQUIN QUIÑONERO-CANDELA等人所著的论文《DATASET SHIFT IN MACHINE LEARNING》
所谓“当局者迷”,我们总会倾向于“高估”自己的模型——而利用CNN可视化,可以在一定程度上解决或者缓解这个困惑。
当然,可视化还有其它一些好处,比如作者提到的可以帮助人们在多个模型中选择最优秀的实现