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

내가 놓치고 있던 미래, 먼저 온 미래를 읽고

내가 놓치고 있던 미래, 먼저 온 미래를 읽고

장강명 작가의 책은, 유학시절 읽고 처음이었다. 유학시절 "한국이 싫어서"라는 책은 동기부여가 상당히 되는 책이었다. 한국을 떠나 새로운 정채성을 학생으로서 Build up 해나가고 있던 상황에서 이 책은 제목부터 꽤 솔깃하였다. 물론 결말이 기억날 정도로 인상깊은 책은 아니었지만 말이다. 그렇게 시간이 흘러 장강명 작가의 책은 더 이상 읽지 않던

By Bongho, Lee
고객 경험이란 무엇일까?

고객 경험이란 무엇일까?

고객경험이란 무엇일까? 1. 과거 어느 대형 프로젝트에서 있던 일이다. 신사업을 위해서 예측 모델 값을 제공해야 하는 상황이었다. 데이터도 없고,어느정도의 정확도를 제공해야 하는지 답이 없었다. 점추정을 할 것인가? 구간 추정을 할 것인가를 가지고 논의중이었다. Product Manager 줄기차게 고객경험을 내세우며 점추정으로 해야 한다고 주장하였다. 근거는 오롯이 "고객 경험"이었다.

By Bongho, Lee
수요예측, 수정구슬이 아닌 목표를 향한 냉정한 나침반

수요예측, 수정구슬이 아닌 목표를 향한 냉정한 나침반

수요예측의 정의와 비즈니스에서의 중요성 기업의 성장과 운영 효율화를 위해 **수요예측(Demand Forecasting)**은 선택이 아닌 필수 요소로 자리 잡았다. 많은 경영진들이 수요예측을 미래 판매량을 정확히 맞히는 '예언'으로 기대하지만, 이는 수요예측의 본질을 오해하는 것이다. 수요예측의 진짜 의미: 미래를 점치는 수정구슬이 아니라, 우리가 도달해야 할 '목표'를

By Bongho, Lee