Anchors - High Precision Model-Agnostic Explanations

  • Anchor는 쉽게 생각하면 Blackbox 모델의 특정 Instance에 대한 설명을 If-Then 형태의 Rule 형태로 설명한다고 보면 된다.
  • Anchors는 기존 Blackbox Model을 최대한 적게 호출하기 위해서, graph search algorithm와 Reinforcement learning techniques (MAB)를 적절히 활용한다.
  • Rule이라는 것이 하단의 그림처럼 Feature에 기반해서 범위 형태로 설명하기 때문에 현재 가지고 있지 않은 데이터에 대해서도 설명을 제공할 수 있다는 장점을 가지고 있다. 그래서 재사용이 가능하다.
  • LIME처럼 설명하고자 하는 Instance \( x \)의 Neighborhood를 Perturbation을 통해서 생성하고 이를 기반으로 Rule(Anchor) 를 구축해나간다.
  • Anchor \(A\)는 다음과 같이 정의된다 →  \( E_{D_x(z|A) }[1_{\hat{f}(x)  = \hat{f}(z)  }] \ge \tau, A(x) = 1\)
  • Anchor의 경우 설명하고자 하는 인스턴스 \(x\)가 있고 \(A(x)=1\)은 Rule A가 있을 때 x의 Feature와 Rule A의 Feature값이 모두 부합될 때 이다. 이 때 \(D_x(\cdot|A)\)은 Rule A에 Matching되는 \(x\)의 Neighborhood의 Distribution인데 이 Distirbution의 기댓값이 특정 \(\tau\)라는 threshold를 넘어야 \(A(x)=1\)로 간주한다.
Source: https://christophm.github.io/interpretable-ml-book/anchors.html

Finding Anchors

  • Probabilistic Defintion as follows:
  • \( P(prec(A) \ge \tau ) \ge 1- \delta \hspace{0.3cm} with  \hspace{0.3cm} prec(A) = E_{D_x(z|A)}[1_{\hat{f(x)}=\hat{f(z)}}] \)
  • Coverage: \( cov(A) = E_{D_{(z)}}[A(z)] \)
  • Coverage를 Maximization할 수 있는 Anchor를 찾아야 한다.
    \( \underset{A:\textrm{s.t.};P(prec(A)\geq\tau)\geq{}1-\delta}{\textrm{max}}cov(A) \)

Approach

  • Candidate Generation:  \(x\)의 Feature별로 Candidate을 만듬, 10개의 Feature면 10개의 Candidate(Rule)이 우선 마들어짐.  매번 Round마다 Best Candidate에 이전에 포함되어 있지 않던 Feature를 추가시키면서, Candidate를 만듦.
  • Best Candidate Identification:  \(x\)를 가장 잘 설명하는 Candidate을 찾기 위해 Candidate 간에 비교가 이뤄짐 . 이 작업을 위해서 모델을 계속 Call해야 함. 이 때 실행횟수를 최소화하기 위해서  MAB(Multi Armed Bandit) 사용
  • Candidate Precision Validation: 정해놓은 \(\tau \)를 초과할 때까지 계속적으로 이 작업을 반복한다.
  • Beam Search와 MAB를 적절히 이용해서 기존 Blackbox Model 호출을 최소화하면서 Best Anchor들을 찾는다.
  • Beam Search는 $FeatureCount(x)$ 만큼  진행이 됨.
SourceS: https://christophm.github.io/interpretable-ml-book/anchors.html

Advantages & Disadvantages

Advantages

  • easy to interpret
  • Anchor는 부분집합을 별도로 표기할 수도 있음 → A1) A>X, B>Y, A2) A>X, 이런 식으로 각각 설명할 수 있고 이에 따른 Coverage나 Importance도 설명할수 있음
  • 그리고 강화학습을 쓰기 때문에 Surrogate Model 대비 Underfitting Issue도 없고, 설명하고자 하는 데이터와 neighborhood역시 비선형이어도 이슈없이 작동함
  • model-agnostic

Disadvantages

  • 대부분의 Perturbation 모델이 그렇듯이 설정해야할 Parameter가 매우 많다. (Beam Serach에서 Hyperparameter 등)
  • 때로는 결과가 너무 디테일할 수 있어서, Discretization이 필요할 수 있음
  • ML Model에 대한 많은 호출이 요구된다. MAB를 쓴다고 해도, 모델의 성능에 대한 의존도가 높음
  • Coverage의 정의가 여전히 특정 도메인(이미지) 등에서는 명확하지 않다.

References

Read more

다중공선성은 잘못된 인과추론 결과를 만들어낼 수 있습니다.

다중공선성은 잘못된 인과추론 결과를 만들어낼 수 있습니다.

다중공선성(Multi Collinearity) * **Multi-Collinearity(다중공선성)**는 독립 변수들 간의 강한 상관관계가 존재할 때 발생합니다. 즉, 한 독립 변수가 다른 독립 변수에 의해 설명될 수 있을 정도로 상관관계가 높은 상황을 의미합니다. * 이 문제는 주로 회귀 분석에서 나타나며, 변수들 간의 관계를 해석하는 데 있어 큰 장애물이 될 수 있습니다. * 일반적인 회귀식을 $Y=

Bayesian P-Value는 불확실성을 감안하여 모델의 적합도를 평가합니다.

Bayesian P-Value는 불확실성을 감안하여 모델의 적합도를 평가합니다.

Bayesian P- Value * Bayesian P-Value는 **모델의 적합도(goodness-of-fit)**를 평가하는 데 사용됩니다. * 사후 분포(posterior distribution)를 이용하여 실제 데이터와 모델이 생성한 예상 데이터를 비교함으로써, 관측된 데이터가 모델에 의해 얼마나 잘 설명되는지를 평가합니다. * 빈도주의 p-값은 "관찰된 데이터보다 극단적인 데이터가 나올 확률"을 계산하지만, Bayesian P-Value는 "모델이 실제

Non-Identifiability는 Model Parameter를 고유하게 식별할 수 없는 현상입니다.

Non-Identifiability는 Model Parameter를 고유하게 식별할 수 없는 현상입니다.

Non Identifiability * Non-Identifiability는 주어진 데이터와 모델에 대해 특정 파라미터를 고유하게 식별할 수 없는 상황을 의미합니다. 즉, 여러 파라미터 값들이 동일한 데이터를 생성할 수 있으며, 이로 인해 특정 파라미터 값을 확정적으로 추정하기 어렵게 됩니다. * 베이지안 추론에서 Non-Identifiability는 사후 분포가 특정 파라미터 값에 대해 명확하게 수렴하지 않고, 여러 값들에 대해 비슷한 확률을

Rootgram은 큰 분산을 갖거나 비정규 형태의 데이터를 위한 히스토그램입니다.

Rootgram은 큰 분산을 갖거나 비정규 형태의 데이터를 위한 히스토그램입니다.

Rootgram * 히스토그램의 변형으로 데이터가 비정규적이거나 큰 분산을 가지는 경우, 정확한 분포를 파악하기 위해 사용됩니다. * 일반적으로 히스토그램은 데이터의 빈도를 직접적으로 나타내기 때문에, 큰 값이 빈번하게 발생하는 경우 상대적으로 작은 값을 잘 드러내지 못하는 경향이 있습니다. 반면, Rootgram은 빈도를 제곱근 형태로 변환하여, 데이터 분포의 차이를 더 잘 시각화할 수 있도록 돕습니다 * 여기서