Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Hello Potato World

[포테이토 스터디] Influential Instances 본문

Study🥔/XAI

[포테이토 스터디] Influential Instances

Heosuab 2021. 6. 22. 14:49

 

 

⋆ 。 ˚ ☁︎ ˚ 。 ⋆ 。 ˚ ☽ ˚ 。 ⋆ 

[XAI study_ Interpretable Machine Learning]

 

 

 


6.4 Influential Instances


머신러닝 모델은 Training Data로 학습된 결과물이기 때문에 하나의 Training Instance를 삭제하는 것은 결과 모델에 영향을 준다.

 

 

  • Influential Training Instance

해당 instance의 삭제가 모델의 "Parameters"또는 "Prediction"에 상당한 변화를 주는 Data
머신러닝 모델을 "Debug"하거나, Prediction을 "Better Explain"할 때 유용할 수 있다.

 

 

    - Outlier

Dataset의 다른 Instance들과 멀리 떨어져 있는 Instance

거리(ex. Euclidean Distance)측정을 통해 멀리 떨어진 Instance

1-d Gaussian 분포를 따르는 아래 Data에서 x=8인 data가 outlier

 

 

 

    - Influential Instance

제거했을 때 학습된 모델에 큰 영향을 미치는 Instance

모델 재학습 시 Parameters 또는 Prediction의 변화가 클수록 Instance의 영향이 큼

Full Data를 사용했을 때와 Influential Instance를 제거했을 때 각각 학습된 Linear Model의 기울기 변화

  : x=8의 instance가 기울기에 큰 변화를 주기 때문에 Influential instance라고 할 수 있다.

 

 

 

    - Influential Instance가 모델 해석에 주는 이점

Key Idea : 모델의 Parameter와 Prediction이 시작된 위치, 즉 Training Data를 거꾸로 추적하는 것

  • Training Data : Features X + Target y
  • Learner : Training Data로부터 Model을 학습
  • Model : 새로운 데이터에 대한 Prediction 도출

Training Process에서 Intancs가 제거됐을 경우 모델의 Parameter나 Prediction이 어떻게 변화하는지 측정
모델이 고정된 PDP나 Feature Importance의 방법과 대조된다

 

 

 

 

    - 2가지 범위의 Influential Instance

  1. 모델 Parameter나 Prediction에 전체적으로 가장 영향을 크게 미친 Influential Instance
  2. 특정 Prediction에 가장 영향을 크게 미친 Influential Instance

 

    - Two Approaches

  1. Deletion Diagnostics
  2. Influence Functions

 

 


6.4.1 Deletion Diagnostics


    1. DFBETA

Instance의 삭제가 모델의 Parameter에 주는 영향 측정

  • β : 모든 Data를 사용해 학습된 모델의 weight 벡터
  • β(-i) : i번째 Instance를 제거하고 재학습된 모델의 weight 벡터

weight parameter가 존재하는 Model에만 적용 가능 : Logistic Regression, Neural Networks ....

 

 

 

    2. Cook's  Distance

Instance의 삭제가 모델의 Prediction에 주는 영향 측정

  • 분자 : i번째 Instance를 포함했을 때와 안 했을 때의 prediction의 Squared Difference
  • 분모 : Feature의 개수 p와 전체 MSE의 곱 (모든 Instance에 대하여 동일)

weight parameter는 필요 없지만, MSE를 사용하기 때문에 모든 종류의 모델에 사용할 순 업음(ex. Classification)

 

 

 

=> 두 가지 방법 모두 각 Instance를 삭제할때마다 모델 재학습 필요

 

 

 

 


6.4.2 Influence Functions


모델을 재학습할 필요 없지 않고, Training loss를 통해 Instance들의 가중치를 높여 모델이 얼마나 변화할지 근사하는 방법

  • 매우 작은 값 ε만큼 z의 가중치 증가
  • θ는 가중치 부여 전후 모델의 parameter vector
  • L은 학습된 모델의 Loss function
  • 𝑧𝑖는 Training Data, 𝑧z는 가중치를 높일(removal simulation) Training Instance

 

Hessian Matrix Loss Gradient의 곱으로 표현된다.

  • Loss Gradient
    모델의 parameter가 바뀌었을 때 Loss가 얼마나 바뀔지 gradient의 변화 추정
    - Positive entry : parameter가 증가하면 모델의 loss 증가
    - Negative entry : parameter가 증가하면 모델의 loss 감소
  • Hessian Matrix
    모델의 parameter에 관한 2차 미분값을 행렬로 표현한 것

 

 

- Intuition

Loss를 정확히 계산할 수 없기 때문에 Parameter 주위의 2차 확장 형성

현재 설정된 Parameter에서 경사도(기울기)와 곡률(Hessian Matrix)의 정보를 사용하여 새 Parameter의 근사치를 계산

z를 삭제할 때 Loss가 정확하게 어떻게 계산될지는 그래프(Actual loss: 그림에서 붉은색 그래프)를 추정하기 어렵지만, 2차 확장(Quadratic expansion: 그림에서 민트색 그래프)을 형성하여 2차 근사치를 작성하고 Loss 추정

 

 

  • 새로 계산된 Parameter를 사용하여 Prediction에 미치는 영향 계산할 수 있음 (Chain Rule 사용)

  • 첫번째 줄 : Instance z의 가중치를 높여 계산된 새 parameter로 예측된 z(test)에 대한 Loss function의 변화를 통해 영향력 계산
  • 최종식이 의미하는 바 : "parameter의 변화에 따른 instance의 변화 정도" "z의 가중치를 높였을 때 parameter의 변화 정도"의 곱

 

 


Applicants of Influence Functions


    1. Understanding model behavior

머신러닝 모델마다 예측 방법이 다름

같은 Prediction이 나오더라도 시나리오는 다름
어떤 Instance에 가장 영향을 받았는지를 분석하여 feature를 파악할 수 있다.

 

 

    2. Handling domain mismatches / Debugging model error

  • Domain Mismatch : Training과 Test의 Data분포가 다른경우

예를들어, 하나의 병원에서 수술을 받은 환자들의 Data로만 training한 후에 다른 병원에서 수술을 받은 환자의 Data로 prediction하는 경우, Training과 Test의 Data분포가 다르기 때문에 예측은 틀릴 수 있음.
예측을 실패한 새 Instance를 선택하여 가장 영향력 있는 Instance를 골라냈을 때,
예측 실패 Instance : 고령의 노인 / Influential Instances : 젊은 환자들
이라면 "나이"라는 feature에 의해 영향을 크게 받음을 알 수 있다. 따라서 다양한 나이대의 Data를 더 수집하여 학습하는 등의 해결책을 제시할 수 있다.

 

 

    3. Fixing Training Data

Training Data의 validation 횟수에 제한이 있을 때, Training Data중에서 Random으로 고르거나/ 영향력이 없는 Outlier들을 포함해서 선택하는 것보다 가장 영향력 있는 Data들을 선택하여 검증하는 게 더 좋은 selection이다.

 

 

 


 

6.4.3 Advantages


  • Training Process에서의 Training data의 영향을 직접 강조하기 때문에 머신러닝 모델을 위한 최고의 Debugging Tool이 될 수 있다.
  • Model-agnostic으로, 모델의 종류에 상관없이 사용가능
  • 따라서 여러 머신러닝 모델을 비교할 수 있음

 


6.4.4 Disadvantages


  • 모든 Training Data를 제거하여 각각 모델을 재학습해야하기 때문에 계산비용이 매우 큼
  • Influential Funciton이 좋은 대안이 될 수 있지만, parameter와 loss function을 계산할 수 있는 모델에 한해서만 적용할 수 있음
  • Influential Function은 근사화를 하는 도구일 뿐, 정확한 값이라는 보장이 없음
  • Influention Instance와 Non-Influential Instance로 구분하는 뚜렷한 cutoff가 없음

 

 

 


References


[1] Interpretable Machine Learning, Christoph Molnar

 

 

 

 

 

 

 

Comments