일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- nlp
- trustworthiness
- 인공지능
- gpt2
- Bert
- AI Fairness
- MLOps
- ML
- 딥러닝
- 챗지피티
- GPT-3
- 지피티
- 설명가능성
- 트랜스포머
- 케라스
- 머신러닝
- Ai
- Transformer
- word2vec
- ChatGPT
- Tokenization
- GPT
- 인공지능 신뢰성
- cnn
- 자연어
- fairness
- 챗GPT
- 신뢰성
- XAI
- DevOps
- Today
- Total
research notes
Partial Dependency Plot (PDP plot) 본문
1. Partial Dependency Plot 개요
PDP는 관심 대상인 변수와(input features of interest) 타겟 간에 어떠한 관계가 있는지 두 대상간의 상호작용을 시각화하고 분석하는 방법이다. 이 때, 관심 대상인 변수는 최대 2개까지 함께 확인할 수 있는데 변수가 2개를 넘게 되면 타겟을 포함하여 시각화 해야하는 값이 3개를 넘어가면서 시각적으로 표현하기 매우 어렵기 때문이다.
여러개의 특징(features) 중에서 영향력을 보고 싶은 특징을(input features of interest) \(x_{s}\)(selected), 그 외 선택되지 않은 특징을 \(x_{c}\)(complement)라고 하자. PDP는 \(x_{s}\), \(x_{c}\) 간에 서로 독립임을 가정하고 시작되나 실제로는 종종 위배되며, 실제 분석에선 주로 feature importance를 통해 유의미하게 나온 특징들이나 도메인 지식을 통해 중요 할 것이라 생각되는 특징들을 선정하여 우선 확인한다.
2. PDP 계산방법
- feature가 p개 \((X_{1}, X_{2}, … , X_{p})\)
- \(X = X_{s} \cup X_{c}\) [S: Selected(관심 대상)인 feature set), C: 그 이외(marginal) feature set]
- 사전 학습된 모델 \(\hat{f}(X) (= \hat{f}(X_{s} , X_{c}))\)
위와 같을 때 PDP 계산방법은 두 변수의 결합 분포(joint distribution)에 대해 \(X_{c}\)의 기대값을 취해, \(X_{s}\)의 주변 분포(marginal distribution)를 구하면 된다. 이때 \( \hat{f}(X_{s}, X_{c}) \)는 '예측값을 내뱉는 함수'이고 \(\hat{f}_{X_{c}}(x_{c})\)는 \( \hat{f}(X_{s}, X_{c}) \)가 발현될 확률을 나타낸다.
$$ \hat{f}_{X_{s}}(x_{s}) = E_{X_{c}}[\hat{f}(X_{s}, X_{c})] = \int \hat{f}(X_{s}, X_{c})\hat{f}_{X_{c}}(x_{c})dx_{c} (연속형) = \sum \hat{f}(X_{s}, X_{c})\hat{f}_{X_{c}}(x_{c})(이산형) $$
예를 들어(Ref. [2]), 몸무게와 키로 연봉을 예측하는 함수가 있다고 해보자. 즉 다음과 같다. ‘f(몸무게, 키) = 연봉’. 이때 몸무게만의 영향을 보기 위해, 모든 모집단 데이터에 대해 키의 분포를 알고 있다면, (주어진 몸무게, 키) 에 대한 모든 값들을 키의 pdf에 따라 평균 내는것. 만약 대한민국사람들의 키의 모집단 분포가 다음과 같고, 주어진 몸무게(예를들어 60)에서의 예측값이 다음과 같다면,
x | 160 | 170 | 180 | 190 |
p(키 = x) | 4/8 | 2/8 | 1/8 | 1/8 |
f(주어진 몸무게=60, 키 x)의 값 (연봉예측값) | 150 | 200 | 300 | 250 |
\(f(몸무게=60) = 150∗\frac{4}{8} + 200∗\frac{2}{8} + 300∗\frac{1}{8} + 250∗\frac{1}{8} = 193.75\)가 된다.
그러나 실제 계산에서는 \(X_{s}, X_{c}\) 가 어떠한 분포를 가지고 있는지 알 수 없다. 따라서 실제 구현에서는 아래와 같은 공식을 사용한다. (n은 학습데이터의 수)
$$ \frac{1}{n}\sum_{i}^{n} \hat{f}(X_{s}, x_{ic}) $$
정해진 \(X_{s}\)에 대해서(예를들면 몸무게 60), 이 자리에 \( (X_{s}, x_{1c}), ..., (X_{s}, x_{nc})\) 를 넣고 \(\frac{1}{n}\)한게 \( \hat{f}_{X_{s}}(x_{s}) \) 인것이다. 이를 \(X_{s}\)가 존재할 수 있는 parameter space에 대해 (예를들면 몸무게 50kg~130kg)쭉 반복하면 최종적으로 \( \hat{f}_{X_{s}}(x_{s}) \) 를 추정하고, 그림을 그릴 수 있다.
3. PDP 장단점
장점:
해석이 직관적이고 명확함은 물론 다른 기법들에 비해 상대적으로 구현하기가 쉽다.
단점:
그러나 한 Plot에 그려서 직관적으로 해석할 수 있는 최대 feature의 개수는 2개이며, 계산시 \(X_{s}\)의 \( \hat{f}_{X_{s}}(x_{s}) = E_{X_{c}}[\hat{f}(X_{s}, X_{c})] \)로 주어진 모든 n개의 \(X_{c}\)에 대해 기댓값(평균값)을 취하기 때문에 임의의 고정된 \(X_{s}\)에 대해서 각 n개의 점들이 갖는 분포가 무시된다.
4. Individual Conditional Expectation plot (ICE Plot)
PDP에서의 단점을 보완하기 위해 ICE Plot에서는 모든 train data에 대한 예측값을 평균하여 plot하는 PDP와는 달리 관심변수 \(X_{s}\)가 변화할 때 어떻게 예측값이 변하는지를 모든 train 데이터에 대해 보여준다. 이때 PDP는 ICE에서 생기는 각 line에 평균을 취한 것 과 같다.
\(f(X_{s})^{(i)} = f(X_{s}, X_{c}^{(i)}), i = 1, 2, 3, ..., n \)
예를 들어 (n x q)의 크기로 구성된 데이터 셋에서 \(X_{c}\)로 지정된 feature들은 그대로 두고, 관심변수 \(X_{s}\)를 lower bound에서 부터 upper bound까지 값을 바꾼다. 즉, 각 \(X_{s}\)하나당 (n x q) 형태의 데이터 셋이 만들어진다. 이 결과들에 대해 평균을 취하면 PDP가 되고 그냥 다 활용하게 되면 ICE plot이 된다.
References:
'인공지능 신뢰성 > eXplainable AI(XAI)' 카테고리의 다른 글
DARPA 설명가능성 프로그램 회고 (DARPA’s Explainable AI (XAI) program: A retrospective) (0) | 2022.07.02 |
---|---|
Permutation Feature Importance(PFI) (0) | 2022.03.23 |
SHAP (SHapley Additive exPlanations) (0) | 2022.03.16 |
LIME (Linear Interpretable Model-agnostic Explanation) (0) | 2022.02.26 |
Image-specific Saliency (0) | 2022.02.22 |