多元时间序列的Grad-CAM。

5
1个回答

4

1. 简短明了的答案

XCM对于分类+GRAD-CAM效果良好,但考虑使用TSInterpret库中带有TSR的GRAD-CAM获得更可靠的结果。

2. 长而完整的答案

我将扩大回答关于MTS分类的可解释性问题。GRAD-CAM是特定于CNN的,相对较为狭窄:您的需求可能存在更好的解决方案。目前我无法帮助您进行回归,但我认为某些信息可能适用。

首先,您应该知道MTS分类是一个相当困难的问题。它通常从图像分类或对象检测中汲取灵感。此外,XAI是一个相对较新的研究领域,尚未得到很好的建立。例如,还没有准确的定义可供解释性,并且没有有效的评估指标来评价解释性方法。将这两个结合起来是一个在文献中尚未得到很好研究的问题。

在您做任何事情之前,请尝试缩小功能数量,或者至少确保最小化相关性,这可以使解释性更加可靠。

特征归因:更容易的方法

如果特征归因是您的主要关注点,我建议从您的MTS中提取表格信息,例如使用Python中的tsfresh库。这使分类变得更容易,但您会失去任何与时间相关的可解释性。好的做法是从最简单和最可解释(这两者相互关联)的算法开始,例如来自sklearn库的ridge分类器。如果那个算法不起作用,您可以按照this chart从可解释到不可解释的方向进行尝试。XGBoost在过去对我非常有效。对于复杂的算法,您可以考虑使用相当完整的OmniXAI Python库,该库实现了常见的可解释性方法,如SHAP和LIME,并提供了一个通用接口。
时间归因或两种归因:更难的道路

如果时间归因或两者都是您关注的重点,那么转换为表格格式将行不通。白盒MTS分类器很少,所以您最好使用sktime库中的非神经算法或tsai中的神经算法。请注意,在这种情况下,可解释性方法几乎总是事后和模型无关的,使它们不太准确。

已经有一些努力专门针对可解释性进行算法的创建。 XCM是其中之一(在tsai中实现),并使用GRAD-CAM在两个维度上给出了属性。从同样的作者那里,我用XEM算法取得了非常好的结果(但请尝试使用XGBoost代替他们的LCE分类器,因为您不能在LCE上使用XAI方法)。您可以使用的另一个非常新的库是dCAM,它将MTSC的SotA方法(例如InceptionTime或ResNet)适应为二维可解释的。

除了上述算法,您可以使用所有未专门设计用于XAI的其他算法。您可以对它们进行训练和测试,然后应用所选的XAI方法。我一直在使用InceptionTime、ResNet和TST。但是请记住,常规的XAI方法,如SHAP、LIME或Grad-CAM,在结合时间维度和多个通道时被证明效果不佳。TSInterpret库是解决这个问题的努力,请查看一下。它与tsai的CNN和Transformer算法配合良好,但我认为COMTE反事实可解释性算法也适用于sktime。
要了解更多信息,请阅读论文《Explainable AI for Time Series Classification: A Review, Taxonomy and Research Directions》。
另外还有三个见解:
  • 使用LSTMs进行时间序列的可解释性似乎效果不佳,因此首先考虑其他算法。
  • 不要使用Rocket或MiniRocket:它的效果很好,但是无法解释。编辑:当您将转换与分类器进行管道处理时,它可能有效,但我尚未测试过。
  • 尝试各种不同的算法+ XAI方法的组合,以查看哪些满足您的需求。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接