본문 바로가기
AI

[핵심 머신러닝] Shapley Value (Explainable AI)

by 까다로운오리 2025. 4. 13.

 

※ 고려대 김성범 교수님의  Shapley Value를 듣고 정리한 글

출처 : https://youtu.be/f2XqxOny3NA?si=yENiJP4rlkaOqzaf

 

 

Explainable AI

: 설명 가능한 인공지능

- 보통 모델 구조 딥러닝 구조

- 입력층 출력층 사이 굉장히 많은 Hidden Layer 가 존재

- 예측력은 좋지만 왜 됐는지 설명이 안됨

 

 

 

SHAP (Shapley Additive exPlanations)

https://arxiv.org/pdf/1705.07874

 

SHAP  개념

- SHAP는 game theory에 근거하고 있음

EX1)  A,B,C,D 중 가장 큰 기여를 한 알파벳은?

A + B + C + D = 100
A + B + C = 20
A + B + D = 80
A + C + D = 99
B + C + D = 70

답 : D

 

EX2)
문제 : 
- 입력 변수는 X1, X2, X3이며 학습 데이터에 대한 예측 값 평균은 28이라 가정
- 새로운 관측치의 X1 변수에 대한 Shapley value 계산 방법 예제
- X1 변수를 예측에 사용하는지 여부에 따른 예측 값 비교가 핵심
풀이 : X1 을 제외했을 때 기여도 계산
1. case 2 - case 1 = 4
2. case 5 - case 3 = 1
3. case 6 - case 4 = 3 
4. case 8 - case 7 = 3 

변수 3개 사용 (Case 1)
: 세 변수 중 한 변수를 제외한 경우의 수 → 3가지
: X1 을 지울 수 있는 경우 1가지 (4번)

변수 2개 사용 (Case5, 6, 7)
: 두 변수 중 한 변수를 제외하는 경우의 수 → 각 2가지로 총 6가지
: 그 中 X1을 지울 수 있는 경우 2가지 ( 2번, 3번)

변수 1개 사용 (Case 2, 3, 4)
: 한 변수 중 한 변수를 제외하는 경우의 수 → 각 1가지로 총 3가지
: X1 을 지울 수 있는 경우 1가지 (1번)


총 X1에 대한 기여도는 다음과 같이 구하며
이 기여도를 Shapley Value라 말하며 X2, X3의 Shapley Value를 구하면
위와 같이 구할 수 있음

따라서 가장 큰 기여도를 하는 변수는 X1

또한 모든 변수를 다 사용했을 때, 모든 변수를 다 사용하지 않았을 때의 차이는 7되는데,
이는 모든 Shapley value 의 합은 7임을 알 수 있

 

 

- Formula

 

 

- Shapley value 활용

   > 사망률 예측 - 정형 데이터

   > 이미지 분류 모델 해석

 

 

- Shapley value 장점

  > LIME과 달리 모든 학습 데이터에 대한 예측 값을 기준으로 시작

  > 전체 데이터 중 관심 관측치의 위치를 파악하고 해석하는 것으로 이해 가능

  > 정형 데이터의 경우, 관측치 별 해석과 전반적 변수 중요도 산출 가능

 

-  Shapley value 단점

  > X 변수가 굉장히 많은 경우 모든 순열에 대해 계산을 진행해야하기 때문에 시간 복잡도가 높음

  > Shapley value는 모델 학습 후 산출하는 것으로, 사후 분석 방법임

     → 원인/ 결과의 관계로 해석하면 안되고, 예측에 중요하게 작용하는 변수로 인식해야 함

 

 

SHAP, LIME은 모델의 관계 없는 설명방법으로 Model Agnositic Explainable AI 에 속함

**  Attention은 Model의 결과에 영향을 미치면서 결과가 도출되기 때문에 Model Agnostic이 아님,

'AI' 카테고리의 다른 글

Inductive vs Transductive  (0) 2025.04.17
Clustering 평가 방법  (0) 2024.07.09