Donghun Kang 2024. 5. 14. 13:53

Shapley value에 대해 알기위해서는 Game Thoery에 대해 먼저 알아야한다.

 

  • Game Thoery: 여러 주체가 서로 영향을 미치는 상황에서 서로가 어떤 의사결정이나 행동을 하는지에 대해 이론화 한것.

 

  • Shapley Value: Game Theory를 바탕으로 하나의 특성에 대한 중요도를 알기 위해 여러 특성들의 조합을 구성하고 해당 특성의 유무에 따른 평균적인 변화를 통해 얻어낸 값.

- 하나의 특성에 대한 중요도 -> 여러 특성들의 조합 구성 -> 해당 특성 유무에 따른 평균적인 변화

- feature가 얼마나 영향을 미쳤는지 수치화 가능

EX)

50평/ 2층/ 근청 공원O/ 고양이 출입 금지 아파트의 가격: 300,000만 유로.

모든 아파트의 평균 예측가는 310,000만 유로라고 했을 때 위의 그림에서 각 특성들이 예측치에 얼마나 기여했을까?

 

결과적으로 먼저 얘기하자면 park-nearby는 30,000 유로, size-50은 10,000 유로, floor-2nd는 0유로, cat-banned는 - 50,000 유로만큼 영향을 주었다.

 

-하나의 특성에 대한 Shapley Value계산 (고양이 출입여부)

"공원 여부" 와 "50평"의 연합에 "고양이 출입 여부" 의 차이를 추가했을때 기여도

첫번째 그림은 2층을 1층으로 바꾸어서 평가하였고 이는 예측값에 변화를 주지 못했다.

두번째는 첫번째 그림에서 고양이 출입 여부에 차이를 두었는데 310,000유로로 예측한 아파트에 대해 320,000유로로 예측하였다. 

=> 고양이 출입 여부의 기여도 = -10,000유로

"고양이 출입여부"의 Shapley value를 계산하기 위한 모든 특성의 조합

각 연합에 대해서 "고양이 출입여부"가 포함된 연합과 포함되지 않은 연합의 아파트 가격 예측을 계산하고 한계 기여도를 계산하여 그 차이를 구한다. 

Shapley value는 서로 다른 특성들의 조합으로 얻은 예측값에 대한 해당 특성(기여도를 알고싶은 특성)의 기여도를 평균하여 계산한 값이다.

 

  • 수식

 

EX) Tree학습 모델에서 특성은 나이와 성별만 있다고 가정하고 이때 하나의 관측치인 "남자아이"에 대해서 나이 특성의 shapley value를 계산

특성이 없는 경우

두번째 줄 수식은 본래 살펴보고자 한 "나이" 이외의 데이터들을 대상으로 한 예측치의 평균

세번째 줄 "나이" 포함한 예측치 평균

 

"성별"이 포함된 경우

"나이"와 "성별"을 둘 다 고려

 

 

주황색 원: "나이"

위의 여러가지 조합들을 모두 합쳐 평균 낸것: Shapley Value

 

  • Shapley Value의 성질

1. 효율성(Efficiency): 각 특성의 기여도 합은 X에 대한 예측치의 평균의 차이와 같다.

 

EX)

총 상금을 게임 참여자에게 남김 없이 나눠준다.

2. Symmetry(대칭성): 두 개 특성값 jk는 모든 가능한 연합에 기야하는 바가 같다면 기여분이 같아야 함

 

EX)

두 플레이어의 기여도가 같다면 받아야할 상금도 같다.

3. Dummy(위):예측치에 영향을 끼치지 않는 특성 j는 Shapley value가 0이다.

 

EX)

무임승차를 한 플레이어는 상금을 주지 않는다.

4. Additive(): 각 게임에서 얻은 함수값 ff+를 더한 함수값에서 나오는 Shapley Value는 각 게임의 Shapley Value 값들을 합한 것과 같다.

 

EX)

두 게임에 기여하여 얻은 상금은 각 게임에서 기여함으로써 얻은 상금의 합과 같다.
SHAP value.pptx
2.51MB