Hello Potato World
[포테이토 스터디] Local Surrogate(LIME) 본문
⋆ 。 ˚ ☁︎ ˚ 。 ⋆ 。 ˚ ☽ ˚ 。 ⋆
[XAI study_ Interpretable Machine Learning]
5.7 Local Surrogate (LIME)
Local Surrogate Model이란? Black box 모델의 개별 예측을 설명하는데 사용하는 해석 가능한 모델
- Local Interpretable Model-agnostic Explanations(LIME):
- 지역 대리 모델 제안
- Global Surrogate 모델처럼 전체 Dataset을 사용하여 근사하는 것이 아니라,
Black box 모델이 주어져서 Data Point을 원하는 만큼 입력하여 개별 예측을 얻어낼 수 있을 때, 그 Prediction들을 이해하는 것
- for prediction
- 변형된 sample들과 이에 대한 Black box model의 예측값으로 구성된 새 Dataset
- 이 새로운 Dataset로 해석 가능한 대리 모델 학습
- Sampled Instances와 Instance of Interest 사이의 근접성을 통한 weight 적용
- Local Surrogate Model:
Instance x에 대한 설명 모델
- 원래 모델 f와의 Loss function L
- L을 최소화 하는 surrogate model g
- 근접도 측정값 pi(x) : instance x의 neighborhood 크기 결정
- 모델 복잡도는 사용자가 직접 결정해야 함
Steps to obtain a Surrogate Model :
1. Black box예측에 대한 설명을 원하는 Instance of Interest 선택
2. Dataset을 변경하여 새 data points에 대한 예측값 얻음
3. Instance of Interest와의 근접도에 따른 가중치 계산
4. 가중치가 적용된 해석가능한 대리 모델을 변형된 Dataset으로 학습
5. Local model 해석, 설명
Dataset을 변형하는 방법은 Tabular, Text, Image data 각각에 대해 다르다.
LIME for Tabular Data
Tabular Data에 대한 Random Forest Prediction
(A) 주어진 Random Forest의 예측 특성 : X1, X2 (predicted class : 1(어두움), 0(밝음)
(B) Instance of Interest와 정규분포에서 sampling된 새로운 Dataset
(C) Instance of Interest와의 근접성을 고려한 weight 부여
(D) weighted samples에서 local로 학습된 Decision Boundary (P(class=1)=0.5)
Specific Problem
- 특정 점 주변의 neighbor 정의하기가 어려움
- 현재 LIME은 exponential smoothing kernel 사용
- exponential smoothing kernel : 두 개의 instance를 받아서 근접성 척도(proximity measure)를 반환하는 함수
- Kernel의 너비
=> 최상의 kernel이나 최적의 너비를 찾을 수 있는 방법이 없음
instance가 x=1.6일 때의 예측값에 대한 설명
Kernel의 크기에 따라 매우 매우 편차가 큰 결과값을 보임
LIME for Text Data
Youtube댓글을 스팸(class=1) 또는 일반(class=0)으로 분류하는 Deep Decision Tree
Text Data에서의 데이터 변형방식을 사용하여 Dataset의 일부 변형 생성
- 1 : 단어의 일부, 0 : 제거된 단어
- prob : 각 변형된 문장에 대한 스팸의 예측 가능성
- weight : (1-제거된 단어의 비율) : 원래 문장에 대한 근접도
(ex) 7단어 중 2개의 단어가 제거되었다면 weight=1-2/7
LIME 알고리즘으로 발견된 local 가중치
- channel! feature가 Spam으로 분류됨
LIME for Image Data
Image는 Tabular, Text Data와는 다르게 개별 pixel을 변형하는 것은 의미가 없음
=> superpixel 단위로 변형
Superpixel : 비슷한 색상의 상호 연결된 pixel
Inception V3 Neural Network로 예측한 Classification Top Prediction
- "Bagel" : 77%
- "Strawberry" : 4%
위의 이미지는 LIME 알고리즘으로 설명된 "Bagel"과 "Strawberry" label에 대한 정보 시각화
- Green : 베이글과 딸기일 확률을 증가시키는 part
- Red : 베이글과 딸기일 확률을 감소시키는 part
Advantages
- 기존의 기초 모델을 변형하더라도 동일한 로컬 모델 사용 가능
- 표 형식의 데이터, 텍스트, 이미지에 모두 작동하는 몇 안되는 방법 중 하나
- 원래 모델이 학습한 것과 다른 특성들을 사용할 수 있음
Disadvantages
- Neighbors에 대한 올바른 정의 불분명
여러 kernel을 사용한 조절을 사용해볼 수 있음 - 설명 모델의 복잡성을 미리 지정해야 함
- 설명의 불안정성 : 시뮬레이션 환경마다 다른 설명 도출
샘플링 과정의 반복을 통해 개선 가능
References
[1] Interpretable Machine Learning, Christoph Molnar
'Study > XAI' 카테고리의 다른 글
[포테이토 스터디] Influential Instances (0) | 2021.06.22 |
---|---|
[포테이토 스터디] Prototypes and Criticisms (0) | 2021.06.22 |
[포테이토 스터디] Global Surrogate (1) | 2021.05.24 |
[포테이토 스터디] Permutation Feature Importance (0) | 2021.05.22 |
[포테이토 스터디] Feature Interaction (0) | 2021.05.22 |