기획자를 위한 수식 없이 이해되는 SHAP 분석
서비스 성과를 높이고 싶지만, 무엇부터 개선해야 할지 막막했던 적이 있으신가요? 데이터는 충분한데도, 팀원들에게 ‘이 feature이 중요하다’고 설득하기 어려우셨나요? 이를 파악하기 위해 우리는 머신러닝을 돌리기도 합니다. 현대의 머신러닝 모델은 점점 더 복잡해지고 있습니다. 방대한 데이터와 복잡한 모델 속에서 어떤 요소가 결과에 가장 큰 영향을 미치는지 파악하기란 쉬운 일이 아닙니다. 복잡한 모델일수록 그 내부의 작동 원리를 이해하기 어렵습니다.
SHAP 분석은 SHapley Additive exPlanations이라는 이름에서 볼 수 있듯이 각 feature가 모델의 예측에 얼마나 어떻게 기여하는지 설명해 줍니다. 변수의 중요성과 영향력을 정량적으로 평가하게 해주는 것이죠. 모델의 예측 결과를 투명하게 이해하고 결정을 내릴 수 있습니다.
SHAP은 단순히 행동을 예측하는 것을 넘어, 특정 사용자의 행동에 어떤 특징(feature)이 영향을 미쳤는지 구체적으로 분석할 수 있습니다. 따라서 사용자가 하는 행동의 원인을 파악하는 데 도움을 줍니다. 가령, 러닝 앱에서 러닝 참여를 유도하는 주요 요인을 파악하고자 할 때, 러닝 목표 설정 여부, 주간 러닝 거리, 소셜 기능 사용 여부, 날씨 등이 어떤 영향을 미치는지 분석할 수 있습니다.
그리고 사용자가 제품의 가치를 느끼는 순간인 아하 모먼트(Aha Moment)를 파악하는 데에 SHAP이 쓰일 수도 있습니다. 분석 결과를 가지고 긍정적인 행동을 강화하거나 부정적인 행동을 개선하도록 전략을 마련하면 됩니다. 또 주요 KPI에 실질적으로 가장 큰 영향을 주는 특징이 무엇인지를 파악하면 해당 문제를 파악하는 데 우선순위를 두고 리소스를 집중할 수 있습니다. 이렇게 SHAP 분석은 사용자 중심의 feature을 설계하고, 더 나은 의사 결정을 가능하게 만드는 도구가 됩니다.
Shapley Value는 게임 이론을 정립하여 노벨 경제학상을 슈상한 로이드 샤플리(Lloyd Stowell Shapley)에게서 따온 이름입니다. 참고로 게임 이론이란, 여러 가지 주제가 서로 영향을 미치는 상황에서 플레이어가 어떤 의사결정이나 행동을 하는지에 대해 밝힌 내용입니다.
Shapley Value의 원리를 이해하기 위해 아주 단편적인 예시를 들어보겠습니다. 우리는 러닝 앱의 기획자이며 사용자의 평균 주행 거리를 늘리는 데에 관심이 있다고 가정하겠습니다. 이 서비스는 러닝 목표 설정, 주간 러닝 거리 기록, 소셜 기능 사용, 배경음악 설정 기능 같은 여러 기능을 제공하며, 이 모든 기능을 제공했을 때 사용자의 평균 주행 거리가 100km라고 가정하겠습니다.
그런데, 이 중 러닝 목표 설정 기능을 제거하자 러닝 거리가 70km 으로 급감했다고 칩시다. 이는 러닝 목표 설정 기능이 전체 러닝 참여에 매우 중요한 기여를 하고 있음을 보여줍니다.
반면, 배경음악 설정 기능을 제거했을 때는 점수가 99점으로 거의 변동이 없었다고 칩시다. 이를 통해 배경음악 설정 기능은 러닝 참여 점수에 상대적으로 낮은 기여도를 가지고 있음을 알 수 있습니다.
Shapley Value는 이런 방식으로, 다양한 조합의 변수들을 사용하여 각 변수가 목표 지표(러닝 주행 거리) 예측에 미치는 영향을 수치적으로 평가하여, 어떤 feature가 얼마나 중요한 역할을 하고 있는지 확인하는 방법론입니다. 이를 통해 러닝 앱 기획자는 사용자 참여에 가장 큰 영향을 미치는 기능에 집중해 서비스를 개선할 수 있습니다.
시각화를 통해 각 feature가 모델의 예측에 어떻게 기여하는지를 직관적으로 이해할 수 있습니다. 그래프의 y축에는 모델에서 사용하는 feature의 이름이 중요도 순서대로 나열되어 있습니다. x축은 SHAP 값을 나타내며, 이는 각 feature가 타겟 변수에 미치는 영향을 수치화한 것입니다. SHAP 값이 양수인 경우 해당 feature는 타겟 변수(러닝 주행 거리)를 높이는 방향으로 작용하며, 반대로 음수인 경우 타겟 변수(러닝 주행 거리)를 낮추는 방향으로 작용합니다.
그래프의 점들은 각 feature의 값에 따라 색상이 달라지는데, 빨간색은 해당 feature의 값이 높음을, 파란색은 값이 낮음을 의미합니다. 러닝 목표 설정의 빨간색 점들이 주로 양수 방향에 있습니다. 러닝 목표 설정은 주행 거리를 높이는 경향이 있다는 것을 나타냅니다. 반대로 배경음악 설정의 경우 양수와 음수 방향에 여러 색상이 혼재되어 보입니다. 배경음악 설정이 주행 거리에 큰 영향을 미치지는 못한다는 결론을 얻을 수 있습니다.
이렇게 SHAP은 제품에 대한 인사이트를 얻는 데 매우 유용합니다. 실질적인 비즈니스 성과로 연결될 수 있는 강력한 도구로 활용하기 위해서는 해석법과, 특징 및. 한계를 파악하는 것이 중요합니다. SHAP은 feautre들의 조합을 통해 영향력을 파악하는 모델이기 때문에 모든 순열에 대해 계산을 진행합니다. 따라서 연산량이 많다는 특징이 있습니다. 또 Shapley value는 모델 학습 후 산출하는 사후 분석 방법으로, SHAP을 통해 원인과 결과의 관계를 해석해서는 안 됩니다. 중요한 변수가 예측에 영향을 미쳤더라도 그것이 원인과 결과가 아닐 수 있으니 해석 시 유의해야 합니다.
Reference