首页 > 其他分享 >Learning and Evaluating Graph Neural Network Explanations based on Counterfactual and Factual Reason

Learning and Evaluating Graph Neural Network Explanations based on Counterfactual and Factual Reason

时间:2022-10-14 22:33:36浏览次数:84  
标签:PS based Network Neural text odot PN mathcal hat

目录

Tan J., Geng S., Fu Z., Ge Y., Xu S., Li Y. and Zhang Y. Learning and evaluating graph neural network explanations based on counterfactual and factual reasoning. In ACM Web Conference (WWW), 2022.

利用 Counterfactual and Factual Reasoning 进行模型解释, 其中的 PS (Probability of Necessity), PN (Probability of Sufficiency) 还挺有意思.

符号说明

  • \(G_k = \{V_k, E_k\}\), 图;
  • \(A_k \in \{0, 1\}^{|V_k \times V_k|}\), 邻接矩阵;
  • \(X_k \in \mathbb{R}^{|V_k| \times d}\), 结点特征;
  • \(\hat{y}_k = \arg \max_{c \in \mathcal{C}} P_{\Phi} (c|A_k, X_k)\), 对图 \(\mathcal{G}_k\) 的预测, \(\Phi\) 指代一个 GNN.

评价指标

  • 我们的目标是:

    1. Factual reasoning: 找到一个子图 \((A_k \odot M_k, X_k \odot F_k)\) 满足:

    \[\mathop{\mathrm{argmax}} \limits_{c \in \mathcal{C}} P_{\Phi} (c|A_k \odot M_k, X_k \odot F_k) \quad = \hat{y}_k, \]

    即 mask \(M_k, F_k\) 保持预测不变, 这说明找的子图是抓住主要信息的;

    1. Counterfactual reasoning: 找到一个子图使得

    \[\mathop{\mathrm{argmax}} \limits_{c \in \mathcal{C}} P_{\Phi} (c|A_k - A_k \odot M_k, X_k - X_k \odot F_k) \quad \not= \hat{y}_k, \]

    即去掉了 \((M_k, F_k)\) 所代表的子图后, 预测改变了, 说明这个子图是很重要的 (至少对于预测而言是如此).

  • 那么如何来评估用于找到的 \(M_k, F_k\) 的算法质量呢 (假设 \(C(M, F)\) 足够好) ?

    1. Simple:

      \[C(M, F) = \|M\|_0 + \|F\|_0 \]

      该指标越小说明找到的子图越'小', 越精炼;

    2. PS (Probability of Sufficiency):

      \[\text{PS} = \frac{\sum_{G_k \in \mathcal{G}} \text{ps}_k}{|\mathcal{G}|}, \]

      其中

      \[\text{ps}_k = \left \{ \begin{array}{ll} 1 & \text{ if } \hat{y}_k' = \hat{y}_k \\ 0 & \text{ else }, \end{array} \right . \\ \hat{y}_k' = \mathop{\mathrm{argmax}} \limits_{c \in \mathcal{C}} P_{\Phi} (c|A_k \odot M_k, X_k \odot F_k). \]

      显然 PS 越大, 说明该算法找到的子图都具有充分的信息;

    3. PN (Probability of Necessity):

      \[\text{PN} = \frac{\sum_{G_k \in \mathcal{G}} \text{pn}_k}{|\mathcal{G}|}, \]

      其中

      \[\text{ps}_k = \left \{ \begin{array}{ll} 1 & \text{ if } \hat{y}_k' \not = \hat{y}_k \\ 0 & \text{ else }, \end{array} \right . \\ \hat{y}_k' = \mathop{\mathrm{argmax}} \limits_{c \in \mathcal{C}} P_{\Phi} (c|A_k - A_k \odot M_k, X_k - X_k \odot F_k). \]

      显然 PN 越大, 说明该算法找到的子图都是必要的, 因为缺少这些子图无法得到一致的预测;

    4. 可以类似 F1 score 将二者合一:

      \[F_{NS} = \frac{2 \cdot \text{PS} \cdot \text{PN}}{\text{PS} + \text{PN}}. \]

注: 上面的 graph-level 的定义可以推广到 node-level, 作者为每个结点赋予 L-hop sub-graph, 然后在这些子图上进行讨论.

代码

[official]

标签:PS,based,Network,Neural,text,odot,PN,mathcal,hat
From: https://www.cnblogs.com/MTandHJ/p/16793224.html

相关文章