늦깎이 공대생의 인공지능 연구실
[해석할 수 있는 기계학습(5-2)] 개별 조건부 기대치(Individual Conditional Expectation) 본문
[해석할 수 있는 기계학습(5-2)] 개별 조건부 기대치(Individual Conditional Expectation)
Justin T. 2020. 3. 23. 18:11
개별 조건부 기대치(ICE)는 특성값이 변경될 때 인스턴스(Instance)의 예측값이 어떻게 변하는지 보여주는 인스턴스당 하나의 선그래프를 나타냅니다.
특성값의 평균 효과에 대한 부분의존도는 특정 인스턴스에 초점을 맞추지 않고 전체 평균에 초점을 맞추기 때문에 전반적인 방법입니다. 개별 데이터 인스턴스에 대한 PDP와 같은 것을 개별 조건부 기대치(ICE)라고 합니다(Goldstein et al. 2017). ICE는 각 인스턴스에 대한 예측 의존도를 개별적으로 시각화하여, 부분의존도에서 전체적으로 하나의 선그래프에 비해 인스턴스당 하나의 선그래프가 됩다. PDP는 ICE의 선 평균입니다. 선(그리고 하나의 인스턴스)에 대한 값은 다른 모든 특성값을 동일하게 유지함으로써 계산할 수 있으며, 특성값을 그리드값으로 대체하고 이러한 새로 생성된 인스턴스의 블랙박스 모델로써 예측함으로써 인스턴스의 변형을 만들 수 있습니다. 결과는 그리드의 특성값과 각 예측값을 가진 인스턴스의 점 집합이 됩니다.
부분의존성 대신 개별적인 기대치를 살펴보는 것은 어떤 의미가 있을까요? 부분의존도는 상호작용에 의해 생성된 이질적인 관계를 모호하게 만들 수 있습니다. PDP는 특성값과 예측값 사이의 평균 관계가 어떻게 생겼는지 나타낼 수 있습니다. 이는 PDP가 계산된 특성값과 다른 특성값의 상호작용이 약한 경우에만 제대로 작용합니다. 상호작용의 경우 ICE는 훨씬 더 많은 통찰력을 보여줄 것입니다.
보다 공식적인 정의로 ICE에서 \(\{(x_{S}^{(i)},x_{C}^{(i)})\}_{i=1}^N\)의 각 인스턴스에 대해 \(x^{(i)}_{S}\)에 의해 곡선 \(\hat{f}_S^{(i)}\)가 그려지고, 반면 \(x^{(i)}_{C}\)는 고정된 채 유지됩니다.
예제
자궁경부암 데이터셋을 기준으로 각 인스턴스의 예측값이 "나이" 특성값과 어떻게 관련되어 있는지 살펴보도록 합시다. 주어진 위험요인에 의해 여성의 암 발생 가능성을 예측하는 랜덤포레스트를 분석하려 합니다. 부분의존도에서 50세 전후에 암 발병률이 증가하는 것을 볼 수 있지만, 과연 데이터셋에 있는 모든 여성들에게 이것이 사실이라할 수 있을까요? ICE에서는 대부분의 여성들에게 연령 효과는 50세 증가의 평균 패턴을 따른다는 것을 보여주지만, 다음과 같은 예외가 발생합니다. 어린 나이에 높은 예측 확률을 가진 소수의 여성들에게, 예측된 암 발병률은 나이가 들수록 크게 변하지 않습니다.
다음 수치는 예상 자전거 대여량에 대한 ICE를 랜덤포르세트 예측 모델을 기반으로 나타내었다.
모든 곡선은 같은 코스를 따르는 것 같아 뚜렷단 상호작용은 없습니다. 이는 PDP가 이미 나타난 특성값과 예상 자전거 대여 수 사이의 관계를 잘 요약했다는 것을 의미합니다.
중심 ICE(Centered ICE Plot)
ICE에는 문제점이 있습니다. 가끔씩 각 ICE 곡선이 다른 예측에서 시작되기 때문에 개별 곡선이 다른지의 여부를 구별하기 어려울 수 있습니다. 간단한 해결책은 특성값의 특정 지점에서 곡선을 중심에 놓고 이 지점까지 예측값의 차이만 표시하는 것입니다. 그 결과를 중심 ICE(c-ICE)라 합니다. 특성값의 아래끝에 곡선을 고정하는 것은 좋은 방법입니다. 새로운 곡선은 다음과 같이 정의합니다.
$$\hat{f}_{cent}^{(i)}=\hat{f}^{(i)}-\mathbf{1}\hat{f}(x^{a},x^{(i)}_{C})$$
여기서 \(\mathbf{1}\)은 적당한 차원수(대개 1 또는 2), \(\hat{f}\)은 적합화된 모델이고 \(x^a\)는 고정점을 나타냅니다.
예제
예를 들어, 자궁경부암 ICE를 연령에 맞게 선택하고 가장 어린 나이때의 선을 중앙으로 맞춥니다.
중심 ICE는 개별 인스턴스의 곡선을 더 쉽게 비교할 수 있도록 합니다. 이는 예측값의 절대적 변화를 원치 않지만 특성값 범위의 고정점에 비해 예측값의 차이를 보고자 할 때 유용할 수 있습니다.
자전거 대여 예측을 위한 중심 ICE를 살펴보도록 합시다.
미분 ICE
각 특성값의 이질성을 시각적으로 더 쉽게 나타낼 수 있는 또 다른 방법으로 특성값에 대한 예측 함수의 개별 미분함수를 살펴보는 것입니다. 이를 토대로 한 결과 그래프를 미분 ICE(d-ICE)라고 합니다. 함수(또는 곡선)의 미분은 변화가 발생하는지의 여부와 그 변화가 발생하는 방향을 알 수 있습니다. 미분 ICE를 사용하면(최소한 일부의) 인스턴스에 대해 블랙박스 예측이 변경되는 특성값의 변위를 쉽게 찾을 수 있습니다. 분석된 특성값 \(x^S\)와 다른 특성값 \(x^C\)사이에 상호작용이 없는 경우 예측 함수는 다음과 같이 표현할 수 있습니다.
$$\hat{f}(x)=\hat{f}(x_S,x_C)=g(x_S)+h(x_C),\quad\text{with}\quad\frac{\delta\hat{f}(x)}{\delta{}x_S}=g'(x_S)$$
상호작용이 없다면 개별 부분미분은 모든 경우에 같아야 합니다. 만약 서로 다르다면, 이는 상호작용 때문이고 이는 d-ICE로 확인할 수 있게 됩니다. S의 특성값과 관련하여 예측 함수의 미분에 대한 개별 곡선을 표시하는 것 외에도, 미분의 표준 편차를 보여주는 것은 추정 미분에서 이질성을 가진 S의 특성값 영역을 강조하는 데 도움이 됩니다. 미분 ICE는 계산하는 데 오랜 시간이 걸리며 다소 실용적이지 못합니다.
장점
개별 조건부 기대치 곡선은 부분의존도보다 이해하기 휠씬 더 직관적입니다. 하나의 선은 관심있는 특성값을 다양화한다면 하나의 예측값을 나타낼 수 있습니다.
부분의존도와는 달리 ICE곡선은 이질적인 관계를 발견할 수 있습니다.
단점
ICE 곡선은 하나의 특성값만 의미 있게 나타낼 수 있는데, 두 특성값은 여러 겹치는 표면을 그려야 해서 이를 그래프에서는 아무것도 볼 수 없기 때문입니다.
ICE 곡선은 PDP와 같은 문제점을 갖고 있습니다. 관심 있는 특성값이 다른 특성값과 관계있는 경우, 선의 일부 점은 결합 특성 분포에 따라 유효하지 않은 데이터 포인트가 될 수 있습니다.
ICE 곡선이 많이 그려지면 플롯이 과밀해질 수 있고 심지어 분간하는 것이 매우 어려워집니다. 이를 해결하기 위해 각 데이터 선에 약간의 투명도를 적용하거나 표본만 그리는 방법이 있습니다.
ICE에서 평균을 나타내는 것은 쉽지 않을 수 있습니다. 이는 개별 조건부 기대치 곡선과 부분의존도의 결합으로 간단히 해결할 수 있습니다.
소프트웨어 및 대안
ICE 플롯은 R 패키지에 iml(예제에서 사용), ICEbox30 및 pdp에서 구현됩니다. ICE와 매우 유사한 것을 하는 또다른 R 패키지는 condvis입니다.
참고자료: https://christophm.github.io/interpretable-ml-book/ice.html
'해석할 수 있는 기계학습 > 5. 모델 불특정성 방법' 카테고리의 다른 글
[해석할 수 있는 기계학습(5-5)] 순열 특성 중요도(Permutation Feature Importance) (0) | 2020.06.15 |
---|---|
[해석할 수 있는 기계학습(5-4)] 특성 상호작용( Feature Interaction) (0) | 2020.05.17 |
[해석할 수 있는 기계학습(5-3)] 누적지역효과도( Accumulated Local Effects Plot) (0) | 2020.04.30 |
[해석할 수 있는 기계학습(5-1)] 부분의존도(Partial Dependence Plot) (0) | 2020.03.21 |
[해석할 수 있는 기계학습(5-0)] 모델 불특정법(Model-Agnostic Methods) (0) | 2020.03.12 |