SHAP(Shapley Additive Explanations) 로직 상세 설명
1. SHAP의 기본 개념
SHAP(SHapley Additive exPlanations)은 기계 학습 모델의 예측 결과를 설명하는 기법으로, Shapley 값(Shapley Value)을 활용하여 개별 특성이 모델의 예측값에 미치는 영향을 분석합니다. 트리 기반 모델(XGBoost, LightGBM 등)에서는 Tree SHAP이 널리 활용됩니다.
2. SHAP의 로직 (Shapley Value 기반 계산)
(1) Shapley 값(Shapley Value)
Shapley 값은 협력 게임 이론에서 기원하며, 각 특성(feature)이 모델의 예측값에 기여하는 정도를 공정하게 계산하는 방법입니다. Shapley 값 \( \phi_i \)는 다음과 같이 계산됩니다.
\[ \phi_i = \sum_{S \subseteq N \setminus \{i\}} \frac{|S|!(|N| - |S| - 1)!}{|N|!} \left( f(S \cup \{i\}) - f(S) \right) \]
여기서:
- \( N \) : 전체 특성 집합
- \( S \) : 특정 특성을 포함하지 않은 부분 집합
- \( f(S) \) : 특성 집합 \( S \)만을 사용한 모델의 예측값
- \( f(S \cup \{i\}) \) : 특성 \( S \)에 특성 \( i \)를 추가했을 때의 예측값
- \( \phi_i \) : 특성 \( i \)가 기여하는 평균적 영향
(2) SHAP의 핵심 아이디어
- 기본 예측값 계산: 특성이 없을 때의 모델 예측값(기본 기대값 \( E[f(x)] \)).
- 각 특성의 기여도 계산: 다양한 특성 조합에서 예측 차이를 비교하여 Shapley 값을 구함.
- 결과 해석: 각 특성이 예측값을 증가/감소시키는 정도를 분석.
3. SHAP의 다양한 알고리즘
- Kernel SHAP: 모든 모델에서 사용 가능하지만 계산량이 많음.
- Tree SHAP: 트리 기반 모델(XGBoost, LightGBM, CatBoost)에 최적화됨.
- Deep SHAP: 신경망(딥러닝) 모델을 위한 SHAP 방법.
- Linear SHAP: 선형 회귀, 로지스틱 회귀 모델을 위한 최적화된 방법.
- Sampling SHAP: 무작위 샘플링을 이용한 근사적 SHAP 값 계산.
4. SHAP 값 해석 방법
- SHAP Summary Plot: 전체 데이터에서 각 특성이 모델 예측에 미치는 영향을 한눈에 보여줌.
- SHAP Force Plot: 개별 예측값에 대한 특성의 기여도를 시각적으로 표현.
- SHAP Dependence Plot: 특정 피처가 예측값에 미치는 영향을 분석하는 그래프.
5. SHAP의 장점과 한계
(1) 장점
- 모델 불가지론(Model-Agnostic): 모든 유형의 머신러닝 모델에 적용 가능.
- 공정한 기여도 계산: Shapley 값을 활용하여 특성별 기여도를 객관적으로 평가.
- 해석 가능성(Interpretability): 모델의 의사결정 과정을 직관적으로 이해 가능.
(2) 한계
- 계산량 문제: 모든 특성 조합을 고려해야 하므로 계산 비용이 높음.
- 고차원 데이터에서 속도 저하: Kernel SHAP을 사용할 경우 속도가 느려질 수 있음.
6. 결론
SHAP은 머신러닝 모델의 예측 결과를 설명하는 강력한 도구입니다. 특히 Shapley 값을 기반으로 개별 특성의 기여도를 정량적으로 평가할 수 있어, 금융, 의료, 마케팅 등 다양한 산업에서 모델의 신뢰성을 높이는 데 활용됩니다.
추천 활용법
- 트리 기반 모델 (XGBoost, LightGBM): Tree SHAP 사용.
- 딥러닝 (신경망 모델): Deep SHAP 사용.
- 일반 머신러닝 모델: Kernel SHAP 사용.
SHAP을 활용하여 모델의 예측을 더욱 투명하게 만들고, 신뢰할 수 있는 AI 시스템을 구축해 보세요.