shap: 모든 머신러닝 모델의 예측을 설명하기 위한 게임 이론적 프레임워크
shap: 모든 머신러닝 모델의 예측을 설명하기 위한 게임 이론적 프레임워크
해결하는 문제
SHAP (SHapley Additive exPlanations)은 모든 ML 모델의 출력을 설명하기 위한 게임 이론적 접근 방식을 제공함으로써 머신러닝의 "블랙박스" 문제를 해결합니다. 이는 최종 결과에 대한 기여도를 기반으로 각 입력 특성(feature)에 크레딧을 할당함으로써 사용자가 모델이 왜 특정 예측을 했는지 이해할 수 있도록 합니다.
작동 방식
SHAP은 게임 이론의 Shapley values를 사용하여 특정 예측에 대해 각 특성의 중요도 값을 할당합니다. 모델 유형에 따라 다음과 같은 몇 가지 특화된 알고리즘을 제공합니다:
- TreeExplainer: XGBoost, LightGBM, CatBoost, scikit-learn, 그리고 pyspark와 같은 트리 앙상블 모델을 위한 고속 정확 알고리즘입니다.
- DeepExplainer: DeepLIFT 알고리즘을 기반으로 가중치 기반의 딥러닝 모델(TensorFlow/Keras/PyTorch)에 대한 고속 근사 알고리즘입니다.
- GradientExplainer: Integrated Gradients와 SmoothGrad의 아이디어를 결합하여 기대 그래디언트(expected gradients)를 사용하여 SHAP values를 근사합니다.
- KernelExplainer: 모든 함수에 대해 SHAP values를 추정하기 위해 가중치 기반 국소 선형 회귀(weighted local linear regression)를 사용하는 모델 불가지론적(model-agnostic) 방법입니다.
- LinearExplainer: 선형 모델에 대해 정확한 SHAP values를 분석적으로 계산합니다.
대상 사용자
모델의 예측을 해석하고, 모델 동작을 디버깅하거나, 의료(예: 생존 모델) 또는 금융과 같은 분야의 스테이크홀더에게 투명성을 제공해야 하는 데이터 과학자 및 ML 엔지니어입니다.
주요 특징
- 범용 호환성: 트리 앙상블, 딥러닝 네트워크, 선형 모델을 포함한 모든 머신러닝 모델과 작동합니다.
- 다양한 시각화: 특성 영향력을 시각화하기 위해 waterfall plots, force plots, beeswarm plots, 그리고 scatter plots를 포함합니다.
- NLP 지원: 적은 횟수의 평가로 자연어 예측을 설명하기 위해 Hugging Face transformers에 대한 특화된 지원을 제공합니다.
- 상호작용 값(Interaction Values): 특성 간의 숨겨진 관계를를 밝히기 위해 쌍별 상호작용 효과(pairwise interaction effects)를 계산할 수 있는 능력을 제공합니다.
Sources
- undefinedshap/shap