Explainable ML:简单来说,就是在机器做learning时,在预测出结果的同时,给出这样预测的理由,解释它学到的东西。
主要分为两类:1、Local Explainable
2、Global Explainable
explainable ml可以给我们一些改进model的参考:
李宏毅老师的个人观点:
Local explaination:
基本思想:就是通过删除或修改一些组件的值,然后观察变化,来看这些组件对整个对象的重要程度。
具体来说,可以看成拿一个灰色方块来挡住图片的某一位置,通过观察变化来看这一位置的重要性,下图中蓝色表示重要的。
类似的方法,通过调某个位置对应计算结果的亮暗程度来看对结果的影响:
Global explaination:
用一个ml 的model去解释另一个model:
用有解释能力的model去模仿另一个不可解释的model:
LIME技术:
用一个线性的model去拟合要解释的model的样本:
如果nearby的大小概念不同,得到的结果会截然不同:
LIME的具体解释:
通过这些黑色方块的不同分布分别来计算这张图是青蛙的可能性
用linear的model拟合,先通过把图片转化成线性的向量表示(0表示当前位置有被黑色方块盖住,否则为1),然后再把这些线性的向量丢给linear的model:
解释model学到的东西,对于识别这张图片而言,每一部分的重要程度:
可解释性的model还有decision tree(更强的解释):
但是,我们不想让decision tree的深度太大,以至于复杂度过高,为了让decision tree既可以解释,同时深度也不要过高,可以采用以下的方法,在考虑loss fuction的同时考虑加入的O(T)这个参数: