SHAP 값 (SHAP (SHapley Additive exPlanations))

컴퓨터과학·AI
한 줄 정의: 게임 이론의 섀플리 값 개념을 이용해 각 입력 특성이 모델의 특정 예측에 얼마나, 어느 방향으로 기여했는지를 정량적으로 계산하는 설명 기법.

쉽게 풀면

복잡한 딥러닝이나 앙상블 모델은 어떤 입력값 때문에 그런 예측이 나왔는지 알기 어려운 블랙박스인 경우가 많아요. SHAP은 게임 이론에서 여러 참가자가 협력해서 만든 성과를 각자의 기여도에 따라 공정하게 나누는 방법(섀플리 값)을 빌려와서, 각 특성이 예측값을 평균 예측보다 높이거나 낮추는 데 얼마나 기여했는지를 숫자로 계산합니다. 예를 들어 대출 승인 모델이라면 '소득이 예측을 +0.3만큼 높였고, 연체 이력이 -0.5만큼 낮췄다'는 식으로 설명해줄 수 있어요. 개별 예측 하나하나를 사람이 이해할 수 있는 방식으로 설명하는 대표적인 설명가능 AI(XAI) 기법입니다.

왜 중요한가

딥러닝이나 그래디언트 부스팅 같은 고성능 모델일수록 내부 작동을 사람이 직관적으로 이해하기 어려워지는데, 의료진단, 신용평가, 채용 심사처럼 결과에 대한 책임 소재가 중요한 분야에서는 예측 이유를 설명할 수 없는 모델을 그대로 쓰기 어렵습니다. SHAP은 섀플리 값이라는 게임이론적 근거 덕분에 일관되고 이론적으로 정당화된 기여도 배분을 제공하기 때문에, 설명가능 AI(XAI) 연구뿐 아니라 모델을 실제 의사결정에 적용하는 응용 분야 논문에서도 결과 해석 도구로 널리 채택됩니다.

논문에서는 이렇게 쓰입니다

"모델의 예측 근거를 해석하기 위해 SHAP 값을 계산하여 각 특성의 기여도를 시각화하였다."

모델의 예측 결과에 각 입력 특성이 얼마나 영향을 미쳤는지를 SHAP으로 계산해 사람이 볼 수 있게 나타냈다는 뜻이다.

"환자 재입원 예측 모델에서 SHAP 값을 분석한 결과, 이전 입원 횟수와 동반 질환 수가 재입원 위험을 높이는 방향으로 가장 크게 기여하는 것으로 나타났다."

의료 분야에서 모델의 예측 근거를 임상적으로 해석 가능한 형태로 제시하는 예문으로, 어떤 변수가 위험을 높이거나 낮추는지를 명시적으로 설명합니다.

"신용평가 모델에 대해 SHAP summary plot을 생성하여 전체 데이터셋에서 각 특성이 예측에 미치는 영향의 방향성과 크기 분포를 종합적으로 검토하였다."

개별 예측이 아니라 전체 데이터셋 수준에서 특성들의 영향력 패턴을 요약해 보여주는 대표적인 SHAP 시각화 방식을 설명한 예문입니다.

조금 더 깊게 보면

SHAP 값을 이론적으로 정확히 계산하려면 특성들의 모든 조합(부분집합)에 대해 모델을 다시 실행해야 해서 특성 수가 늘어날수록 계산량이 기하급수적으로 커집니다. 그래서 실제로는 트리 기반 모델에 특화된 TreeSHAP처럼 빠르게 근사 계산하는 알고리즘이나, 표본을 샘플링해 근사하는 KernelSHAP 같은 방법이 널리 쓰입니다. 또한 개별 예측 하나를 설명하는 force plot과, 여러 예측을 종합해 전체 특성 중요도 패턴을 보여주는 summary plot은 자주 함께 등장하는 시각화 형태이므로 둘의 차이를 구분해서 읽는 것이 도움이 됩니다.

주의할 점

SHAP 값을 정확히 계산하려면 계산 비용이 매우 크기 때문에 실제로는 근사 알고리즘을 사용하며, 특성 간 상관관계가 강할 때는 해석에 주의가 필요하다.

관련 용어