LIME
- Local Interpretable Model-agnostic Explanation
- Model-agnostic: 어떠한 model도 사용 가능
- process
- Step 1. Modeling
- 평상시 우리가 돌리는 Model을 사용하여 학습을 진행함
- Weight based Model (Regression, Logistic Regression …), Tree based Model (Random Forest, Gradient Boosting Tree, Xgboost …), Deep Learning (CNNs, RNNs …) 모든 모델을 사용해도 됨
- LIME은 Model에 대한 Scalability를 보장함
- Step 2. Dataset and Predictions
- 학습이 완료된 모델을 사용하여 학습데이터 또는 검증데이터에 대하여 예측을 진행함
- Step 3. Picking step
- 우리가 Targeting한 데이터를 추출함 (local)
- 예를 들어, 초 고효율군을 학습데이터와 검증데이터에서 추출함
- 더 나아가 확실한 Pattern이 있는 데이터를 추출하기 위하여 (학습이 잘된 데이터) MSE가 낮은 데이터를 추출함
- Step 4. Explanations
- Pick step에서 추출한 데이터에 대해 중요인자를 도출함 - 도출할 때는 LIME 사용하여 도출함
- Step 5. Human makes decision
- Explanations step에서 도출한 중요인자를 바탕으로 실제로 중요한지에 대한 여부를 판단함
- 판단하기 위해서 중요인자와 Y와의 상관관계, plotting을 통하여 Insight를 도출함
- Step 1. Modeling
- example
- 가장 진한 빨간색 “ + ”는 우리가 선택한 데이터
- 우리는 이 데이터에 대해 중요인자를 알고 싶음
- 먼저, 가장 진한 빨간색 “ +” 데이터에 대하여 변수의 값을 바꿔가며 여러 개의 데이터를 생성함 (Perturbation)
- 앞서 Image에서는 특정 영역의 값을 지우며 데이터를 변형 시켰고, Text에서는 특정 단어들을 바꿔가며 데이터를 변형시켰음
- Numeric 데이터에서는 그림과 같이 변수의 값들을 조금씩 바꿔가며 여러 개의 데이터를 생성함
- 이렇게 생성된 데이터는 그림에서 “ +”, “o ”이며, 우리가 선택한 데이터 주변에 분포하게 됨
- 교란된 데이터는 미리 학습하여 만든 모형으로 교란된 데이터의 Y를 결정해주고(X는 선택한 데이터를 바탕으로 변수의 값을 바꿔가며 생성해 놨음), 우리가 선택한 데이터와 교란 된 데이터를 바탕으로 새로운 모델을 생성해 줌(Locally weighted regression) . 이 모델은 그림에서 “- - -”에 해당함
- 가장 진한 빨간색 “ + ”는 우리가 선택한 데이터
- locally approximation 과정
- 선택한 데이터에서 멀면 가중치가 낮다!
댓글남기기