SHAP value
Shapley value에 대해 알기위해서는 Game Thoery에 대해 먼저 알아야한다.
- Game Thoery: 여러 주체가 서로 영향을 미치는 상황에서 서로가 어떤 의사결정이나 행동을 하는지에 대해 이론화 한것.
- Shapley Value: Game Theory를 바탕으로 하나의 특성에 대한 중요도를 알기 위해 여러 특성들의 조합을 구성하고 해당 특성의 유무에 따른 평균적인 변화를 통해 얻어낸 값.
- 하나의 특성에 대한 중요도 -> 여러 특성들의 조합 구성 -> 해당 특성 유무에 따른 평균적인 변화
- 각 feature가 얼마나 영향을 미쳤는지 수치화 가능
EX)
모든 아파트의 평균 예측가는 310,000만 유로라고 했을 때 위의 그림에서 각 특성들이 예측치에 얼마나 기여했을까?
결과적으로 먼저 얘기하자면 park-nearby는 30,000 유로, size-50은 10,000 유로, floor-2nd는 0유로, cat-banned는 - 50,000 유로만큼 영향을 주었다.
-하나의 특성에 대한 Shapley Value계산 (고양이 출입여부)
첫번째 그림은 2층을 1층으로 바꾸어서 평가하였고 이는 예측값에 변화를 주지 못했다.
두번째는 첫번째 그림에서 고양이 출입 여부에 차이를 두었는데 310,000유로로 예측한 아파트에 대해 320,000유로로 예측하였다.
=> 고양이 출입 여부의 기여도 = -10,000유로
각 연합에 대해서 "고양이 출입여부"가 포함된 연합과 포함되지 않은 연합의 아파트 가격 예측을 계산하고 한계 기여도를 계산하여 그 차이를 구한다.
Shapley value는 서로 다른 특성들의 조합으로 얻은 예측값에 대한 해당 특성(기여도를 알고싶은 특성)의 기여도를 평균하여 계산한 값이다.
- 수식
EX) Tree학습 모델에서 특성은 나이와 성별만 있다고 가정하고 이때 하나의 관측치인 "남자아이"에 대해서 나이 특성의 shapley value를 계산
두번째 줄 수식은 본래 살펴보고자 한 "나이" 이외의 데이터들을 대상으로 한 예측치의 평균
세번째 줄 "나이" 포함한 예측치 평균
"나이"와 "성별"을 둘 다 고려
위의 여러가지 조합들을 모두 합쳐 평균 낸것: Shapley Value
- Shapley Value의 성질
1. 효율성(Efficiency): 각 특성의 기여도 합은 X에 대한 예측치의 평균의 차이와 같다.
EX)
2. Symmetry(대칭성): 두 개 특성값 j와 k는 모든 가능한 연합에 기야하는 바가 같다면 기여분이 같아야 함
EX)
3. Dummy(위):예측치에 영향을 끼치지 않는 특성 j는 Shapley value가 0이다.
EX)
4. Additive(): 각 게임에서 얻은 함수값 f와 f+를 더한 함수값에서 나오는 Shapley Value는 각 게임의 Shapley Value 값들을 합한 것과 같다.
EX)