본문 바로가기

문돌이 존버/데이터 분석

(Explainable AI) Partial Dependence Plot 개념 이해하기

반응형

PDP(Partial Dependence Plot)는 머신러닝 모델의 예측값에 대해 하나 혹은 두 개 특성의 한계 효과(marginal effect)를 나타내는 것입니다. 타겟과 특성 간의 관계가 선형(linear)인지, 단조 함수(monotonic)인지, 더 복잡한지 알 수 있습니다. 예를 들어, 선형 회귀 모델에 적용하면 PDP는 항상 선형 관계를 유지합니다.

회귀 모델의 부분 의존도 함수는 아래와 같이 정의됩니다.

$\hat{f}_{x_s} = E_{x_c} [\hat{f} (x_s, x_c) ] = \int \hat{f} (x_s, x_c) d\mathbb{P} (x_c)$

여기서 $x_s$는 부분 의존도 함수의 대상인 특성을 가리키고, $x_c$는 머신러닝 모델 $\hat{f}$에 사용된 다른 특성들을 가리킵니다. 보통 S 집합에는 하나 또는 두 개의 특성이 있습니다. 해당 특성들은 모델 예측치에 어떤 영향을 주었는지 알고 싶어하는 것들입니다. 특성 벡터 $x_s$와 $x_c$를 합치면 전체 특성 공간인 x가 됩니다.

부분 의존도는 머신러닝 모델 결과값을 C 집합에 있는 변수 분포에 대해 marginalize 함으로써 구할 수 있습니다. 우리가 관심있는 S 집합의 특성들과 예측치 간의 관계를 보여주고, 다른 변수들에 대한 주변 분포를 얻음으로써 S 집합의 특성에만 의존하는 함수를 얻게 됩니다.

부분 의존도 함수 $\hat{f}_{x_s}$는 학습셋의 평균을 계산하여 추정되는데, 이는 몬테 카를로(Monte Carlo) 방법이라고도 알려져 있습니다.

$\hat{f}_{x_s} =$$ 1 \over n $$\sum_{i=1}^n \hat{f} (x_s, x_c^{(i)})$

$x_c^{(i)}$: 관심없는 특성들로 이루어진 데이터셋에 있는 특성값
n: 데이터셋에 있는 인스턴스 개수

부분 의존도 함수는 S 집합의 값(s)이 주어졌을 때 예측에 미치는 평균 한계 효과를 말해줍니다. PDP의 전제조건은 C 집합의 특성과 S 집합의 특성은 서로 관계가 없다는 것입니다. 이 조건이 위반되면, PDP 평균값은 비현실적(불가능한)인 데이터들을 포함할 것입니다.

예제

현실에서 집합 S에는 최소 1개, 최대 2개의 특성을 가지고 있는데, 1개 특성은 2D 그래프를 필요로 하고 2개 특성은 3D 그래프를 필요로 하기 때문입니다. 하루에 몇 개의 자전거가 렌트될 것인지 맞추는 회귀 모형 예제를 살펴보겠습니다. 랜덤포레스트로 모델을 학습했고, 아래에 날씨와 관련된 특성의 PDP가 있습니다.

가장 큰 차이를 보이는 특성은 "기온"입니다. 섭씨 20도까지 기온이 높을수록 자전거를 많이 빌리고, 30도 이상 넘어가면 조금 떨어지는 경향이 있습니다.

PDP는 범주형(categorical) 특성에 대해서도 구할 수 있는데, 아래처럼 계절별 효과도 확인할 수 있습니다.

계절별 효과는 그닥 차이가 없어보입니다. 그나마 봄에 자전거 렌탈 수가 적은 것이 확인됩니다.

분류 문제에 대해서도 적용할 수 있는데, 아래는 경추암 분류 데이터셋에 대한 결과입니다. 마찬가지로 랜덤포레스트 모델을 학습했고, 위험 요소에 기반하여 악성인지 양성인지 분류하는 것입니다.

회귀 모델과 다르게 y축이 암, 즉 악성으로 분류될 확률을 나타내고 있습니다.

장점

1. 직관적인 해석 가능
- PDP 대상이 되는 특성이 다른 특성들과 상관관계를 가지지 않는다면, PDP는 완벽하게 해당 특성의 모델 예측에 대한 평균 영향력을 알려줍니다. 다만, 상관관계를 가진다면 굉장히 복잡해지는데, 단점 부분에서 다루겠습니다.

단점

1. 한 번에 고려할 수 있는 특성의 최대치가 2개
- 이는 PDP의 한계라기 보단 2D, 3D 이상을 넘어가면 상상하지 못하는 사람의 능력과 관련된 문제입니다.

2. 몇몇 PDP는 특성 분포를 나타내지 않음
- 분포를 생략하는 것은 오류를 낳을 수 있는데, 데이터가 거의 없는 부분을 과대해석할 수 있기 때문입니다. 하지만 이는 x축의 데이터 포인터나 히스토그램을 보여줌으로써 해결할 수 있습니다.

3. 독립성 전제조건
- PDP의 가장 큰 이슈는 독립성입니다. 특성들 간 상관관계가 없다고 가정하지만 사실상 이는 현실 세계에서 지켜지기 힘든 가정입니다. 상관관계가 있을 경우, 실제 일어날 확률이 굉장히 작은 특성 분포를 통해 새로운 데이터 포인트를 생성하게(예를 들어, 키 2m 이상에 몸무게 50kg 미만) 됩니다. 이때 Accumulated Local Effect plots 라는 방법을 통해 한계 분포 대신 조건부 분포를 이용하여 해결하기도 합니다.

4. 이종효과(Heterogeneous effect)가 드러나지 않음
- 이종효과란, 겉보기에는 비슷하지만 사실상 다른 영향을 끼치는 서로 이질적인 요소를 가리킵니다. 예를 들어, 하나의 특성이 커지면 커질수록 예측치가 커지고, 동시에 작으면 작을수록 예측치가 커진다고 합시다. 이 경우 PDP는 수평선으로 그려져 특성의 영향도는 없는 것으로 보여질 것입니다. 합쳐진(aggregated) 그래프 대신 개별 조건부 기대치(Individual Conditional Expectation)를 그려 이종효과를 찾아낼 수 있습니다.
참조
https://christophm.github.io/interpretable-ml-book/pdp.html
728x90
반응형