SHAP 값

AI
qwen-3-235b-a22b-instruct-2507
작성자
익명
작성일
2025.10.10
조회수
16
버전
v1

SHAP 값

개요

SHAP 값(Shapley Additive exPlanations) 머신러닝 모델의 예측 결과를 해석하기 위한모델 해석성(Interpretability) 기법 중로, 게임 이론의 샤플리 값**(Shapley Value) 개념을 기반으로 합니다. SHAP은 각 특성(feature)이 모델의 개별 예측에 기여한 정도를 정량적으로 평가하여, 복잡한 '블랙박스' 모델(예: 랜덤 포레스트, 그래디언트 부스팅, 딥러닝 등)의 예측을 인간이 이해할 수 있도록 돕는 도구입니다.

특히, SHAP 값은 공정성, 신뢰성, 규제 준수가 중요한 분야(예: 금융, 의료, 보험)에서 모델의 의사결정 과정을 설명하는 데 핵심적인 역할을 합니다.


SHAP의 이론적 기초

샤플리 값(Shapley Value)

SHAP은 1953년 노벨 경제학상 수상자 로이드 샤플리(Lloyd Shapley)가 제안한 게임 이론의 개념인 샤플리 값을 확장한 것입니다. 샤플리 값은 협력 게임에서 각 플레이어가 전체 이익에 기여한 정도를 공정하게 분배하는 방법을 수학적으로 정의합니다.

  • 핵심 아이디어: 어떤 플레이어가 다양한 조합의 팀에 합류했을 때, 그로 인해 발생하는 '기대 기여도'의 평균을 계산.
  • 이를 머신러닝에 적용하면, 각 특성(feature)이 예측값에 얼마나 기여했는지를 수치화할 수 있음.

SHAP의 수학적 정의

SHAP 값은 다음 조건을 만족하는 유일한 해석 방법으로 정의됩니다:

  1. 효율성(Efficiency): 모든 특성의 SHAP 값의 합은 모델 예측값과 기준값(base value, 전체 데이터의 평균 예측값)의 차이와 같아야 함.
  2. 대칭성(Symmetry): 두 특성이 동일한 기여를 한다면, 같은 SHAP 값을 가져야 함.
  3. 무관한 특성(Dummy): 어떤 특성이 예측에 영향을 주지 않으면, 그 SHAP 값은 0.
  4. 가법성(Additivity): 두 모델의 예측을 합쳤을 때, 각 특성의 SHAP 값도 개별 SHAP 값의 합이 됨.

이러한 공리적 성질 덕분에 SHAP은 수학적으로 타당하고 일관성 있는 해석을 제공합니다.


SHAP 값의 계산 방식

SHAP 값은 각 특성의 기여도를 계산하기 위해, 해당 특성이 포함된/포함되지 않은 모든 가능한 특성 조합을 고려합니다.

기본 수식

특성 (i)의 SHAP 값 (\phi_i)는 다음과 같이 정의됩니다:

[ \phi_i = \sum_{S \subseteq F \setminus {i}} \frac{|S|!(|F|-|S|-1)!}{|F|!} \left( f(S \cup {i}) - f(S) \right) ]

여기서: - (F): 전체 특성 집합 - (S): 특성 (i)를 제외한 임의의 부분 집합 - (f(S)): 특성 집합 (S)로 계산한 모델 예측값 - (f(S \cup {i}) - f(S)): 특성 (i) 추가로 인한 예측값 변화 (기여도)

이 계산은 조합의 수가 기하급수적으로 증가하므로, 실제 응용에서는 근사 알고리즘을 사용합니다.

주요 SHAP 알고리즘

알고리즘 설명 적용 가능한 모델
TreeSHAP 결정 트리 기반 모델(랜덤 포레스트, XGBoost 등)에 최적화된 효율적인 계산 방법 트리 기반 모델
KernelSHAP 모델에 독립적인 SHAP 값 추정 방법. LIME과 유사하지만 더 엄격한 이론적 기반 모든 모델
DeepSHAP 신경망 모델에 적용되는 SHAP 방법. 딥러닝의 그래디언트 기반 기법과 결합 딥러닝 모델
LinearSHAP 선형 모델에 대해 SHAP 값을 빠르게 계산 선형 회귀, 로지스틱 회귀

SHAP 값의 해석

SHAP 값은 실수 값으로, 각 특성이 예측에 미친 기여의 방향과 크기를 나타냅니다.

  • 양수 값: 해당 특성이 예측값을 증가시켰음을 의미
  • 음수 값: 해당 특성이 예측값을 감소시켰음을 의미
  • 0 근처: 해당 특성이 예측에 거의 영향을 주지 않음

예를 들어, 고객의 대출 승인 여부를 예측하는 모델에서: - 소득 특성의 SHAP 값이 +0.3 → 대출 승인 가능성을 높임 - 신용불량 이력의 SHAP 값이 -0.5 → 대출 승인 가능성을 낮춤

기준값(base value)은 전체 데이터의 평균 예측 확률이며, 각 특성의 SHAP 값을 더하면 최종 예측값이 됩니다.


SHAP 시각화 도구

SHAP 라이브러리는 다양한 시각화 방법을 제공하여 해석을 용이하게 합니다.

1. Force Plot

  • 개별 예측의 SHAP 값들을 시각화하여, 어떤 특성이 예측을 어떻게 밀고 당겼는지 보여줌.
  • 기준값에서 시작하여 각 특성의 기여를 화살표로 표현.

2. Summary Plot

  • 전체 데이터셋에서 각 특성의 SHAP 값 분포를 보여줌.
  • 중요한 특성과 그 기여 방향(양/음)을 한눈에 파악 가능.

3. Dependence Plot

  • 특정 특성과 그 SHAP 값 간의 관계를 시각화.
  • 비선형 관계나 상호작용 효과를 탐지하는 데 유용.

4. Waterfall Plot

  • 하나의 예측에 대해 SHAP 값이 누적되어 최종 예측에 도달하는 과정을 단계별로 보여줌.

활용 사례


참고 자료 및 관련 문서


SHAP 값은 머신러닝 모델의 '어떻게'보다 '왜'라는 질문에 답할 수 있게 해주는 강력한 도구로, 데이터 과학자와 의사결정자 모두에게 신뢰를 제공하는 데 기여하고 있습니다. 특히, 복잡한 모델의 투명성 확보와 책임 있는 AI 구현을 위한 필수 기술로 자리 잡고 있습니다.

AI 생성 콘텐츠 안내

이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?