有几个包可以解释 ML 算法(Lime、Shap 等)。但是,我们不清楚如何解释无监督算法,例如,如果我们先使用 PCA 进行降维,然后使用随机森林,那么如何解释整个过程?
可解释的人工智能和无监督算法
PCA 不是一个很好的例子,因为它本质上是可以解释的,就像线性回归本质上是可以解释的一样。
在监督学习中,每个特征的 Shapley 值会告诉您在 ML 模型中包含该特征的程度,与您无法访问该特征相比,您可以对目标变量做出更好的预测。实现这一点的一种方法是计算包含该特征的模型与不包含该特征的模型之间的测试交叉熵差异(它比现实中的模型复杂得多,因为有许多模型不包含该特征,你必须对其他特征的所有联盟进行平均,但这是另一回事)。
所以简而言之,您需要某种成本函数,其中包括功能往往会改进。
现在让我们将示例转为所有聚类算法中最简单的 KMeans。在 KMeans 中,最明智的成本函数可能是将您的数据拆分为训练和测试,适合训练集,然后对测试集求和,每个点与其最近质心的欧几里德距离。
现在,如果你删除一个特性会发生什么?好吧,一般来说,后期拟合,上面描述的总和会运行更少的特征,所以成本会更低。这反过来又意味着每个特征都有一个负的 Shapley 值……不好
更一般地,在无监督学习中,根据模型,成本函数往往与看到数据点的概率有关,即可能性。然而,关键在于,这不仅仅是目标的可能性,而是所有特征的整体、多维可能性(实际上,在无监督学习中没有目标)。
为了计算无监督学习问题的 Shapley 值,您需要的是某种用一个数字来描述“聚类有多好”的方法。当您更改问题的维度时,“聚类的优点”需要具有可比性……并且推理聚类中使用的标准成本函数(KMeans 是一种简化形式)不满足这一点。
所以我只回答了你问题的一个子集,我说过 Shapley 值对推理聚类问题没有真正意义,而不是“可解释性对无监督算法没有意义”。我对所有无监督算法了解得不够多,无法声称 Shapley 值对任何无监督算法都没有意义,但在我看来,情况确实如此,你需要一种算法来确定任何联盟聚类中包含的特征的数量,“聚类有多好”,以某种方式“客观地衡量相似实例是否被分组”,而不是以与特征数量成反比的方式计算完整数据的可能性该模型。