늦깎이 공대생의 인공지능 연구실

[해석할 수 있는 기계학습(5-3)] 누적지역효과도( Accumulated Local Effects Plot) 본문

해석할 수 있는 기계학습/5. 모델 불특정성 방법

[해석할 수 있는 기계학습(5-3)] 누적지역효과도( Accumulated Local Effects Plot)

Justin T. 2020. 4. 30. 23:58

 

 누적 지역 효과(Accumulated Local Effects)는 특성값이 기계학습 모델의 예측에 평균적으로 어떤 영향을 미치는지 설명합니다. ALE 플롯은 부분의존도(PDP)에 비해 빠르고 편향되지 않은 대안책입니다.

 부분의존도는 이해하기 쉽고 두 방법 모두 동일한 목표를 지향하므로 먼저 부분의존도에 대한 내용을 읽어보기를 권해드립니다. 둘 다 특성값이 평균적으로 예측에 어떤 영향을 주는지 설명해줍니다. 지금부터 부분의존도가 각 특성값들이 상관관계가 있을 때 심각한 문제를 나타내고 있다는 점을 설명드리고자 합니다.

 

동기 및 직관

 기계 학습 모델의 특성값들이 서로 상관관계가 있을때, 부분의존도를 신뢰할 수 없게 됩니다. 다른 특성값과 강한 상관관계가 있는 어떤 특성값에 대한 부분의존도의 계산에는 현실적으로 가능성이 낮은 인공 데이터 인스턴스의 평균 예측이 포함됩니다. 이는 추정된 특성값 효과를 크게 편향시킬 수 있습니다. 방의 갯수와 거실의 크기에 따라 집의 가치를 예측하는 기계 학습 모델에 대한 부분의존도를 계산하는 것을 가정해봅니다. 우리는 생활권이 예측가치에 미치는 영향에 관심을 갖고 있습니다. 부분의존도를 다룰 때 다음과 같은 단계를 거치던 것을 상기시켜봅니다.

 

  1. 특성값을 선택합니다.
  2. 눈금을 정의합니다.
  3. 눈금값: a) 특성값을 눈금값으로 대체하고 b) 평균 예측값으로 대체한다.
  4. 커브를 그립니다. PDP의 첫 번째 눈금값(예: \(30m^2\))을 계산하기 위해, 우리는 10개의 방이 있는 집에서도 \(30m^2\)의 모든 경우에 대한 생활 공간을 대체합다.

 듣기만 해도 마치 특이한 집처럼 느껴집니다. 부분의존도는 특성 효과 추정치에 이러한 비현실적인 집이 포함되며 모든 것이 괜찮은 것인양 가정해 버립니다. 아래 그림은 두 가지 상관된 특성값과 부분의존도 방법이 가능성이 낮은 인스턴스의 예측을 평균화하는 방법을 나타냅니다.

강력한 상관 관계를 갖고 있는 특성값 x1 및 x2. 0.75에서 x1의 특성값 효과를 계산하기 위해 PDP는 모든 인스턴스의 x1을 0.75로 대체하며, x1 = 0.75에서 x2의 분포가 x2의 한계 분포(수직선)와 동일하다고 잘못된 가정을 한다. 따라서 PDP가 평균 효과 계산에 사용하는 x1과 x2(예: x2=0.2 at x1=0.75)의 조합이 발생할 가능성이 낮다.

 특성값의 상관 관계를 준수하는 특성값 효과 추정치를 얻으려면 어떻게 해야 할까요? 우리는 특성값의 조건부 분포에 대해 평균을 낼 수 있습니다. 즉, x1의 눈금값에서 우리는 비슷한 x1 값을 가진 인스턴스의 예측을 평균으로 나타냅니다. 조건부 분포를 사용하여 특성값 효과를 계산하는 솔루션을 주변분포 또는 M-플롯(한계 분포가 아니라 전제 조건에 기초한)이라고 합니다. 사실 M-플롯은 우리가 찾자 하는 해결책이 아닙니다. 왜 M-플롯은 이 문제를 해결하지 못할까요? 약 30㎡의 모든 주택의 예측을 평균화한다면, 주거지역과 방의 갯수의 결합효과를 추정하는 것에 상관관계가 있기 때문입니다. 거실이 주택의 예측가치에 영향을 미치지 않고 단지 방의 갯수에만 영향을 미친다고 가정합시다. M-플롯은 거실의 크기에 따라 방의 수가 증가하기 때문에 거실의 크기가 예측 값을 증가시킨다는 것을 보여줍다. 다음 그림은 M-플롯의 작동 방식을 상관관계에 있는 두 특성값에 대해 보여줍니다.

강한 상관 관계 특성값 x1 및 x2. 조건부분포에 대한 M-plot 평균. x1 = 0.75에서 x2의 조건부분포. 지역적 예측을 평균화하면 두 특성값의 효과가 섞인다.

 M-플롯은 가능성이 낮은 데이터 인스턴스의 평균 예측을 피하지만 특성값의 효과와 관련된 모든 특성값들의 효과를 혼합한다. ALE플롯은 특성값의 조건부 분포에 기초하여 평균 대신 예측의 차를 계산하여 문제를 해결합니다. \(30m^2)의 거실 크기의 효과에 대해 ALE는 약 \(30m^2\)의 모든 주택을 사용하며, 이 주택들이 \(31m^2\)에서 크기가 \(29m^2\)인 곳들을 뺀 것으로 가장한 모델 예측을 얻습니다. 이는 우리에게 거실 면적의 순수한 효과를 나타내며, 그 효과를 관련된 특성값의 효과와 섞지 않고 있습니다. 이러한 차이의 적용은 다른 특성값의 효과를 차단한다. 다음 그림은 직관적으로 ALE 플롯을 계산하는 방법을 나타냅니다.

x2와 관련된 특성값 x1의 ALE. 먼저, 특성을 구간(수직선)으로 나눈다. 구간 내 데이터 인스턴스(포인트)의 경우 구간 상한과 하한(수평선)으로 특성값을 교체할 때 예측값의 차이를 계산한다. 이러한 차이는 나중에 누적되고 중심화되어 ALE 곡선이 된다.

 각 플롯 유형(PDP, M, ALE)이 특정 눈금값 v에서 특성의 효과를 계산하는 방법은 다음과 같습니다.

 

부분의존도(PDP): "각 데이터 인스턴스가 해당 특성값에 대한 v값을 가지고 있을 때 모델이 평균적으로 예측하는 것을 보여 주겠다. v가 모든 데이터 인스턴스에 적합한지 여부를 무시한다."
M-플롯: "그 특성값에 대해서 v에 가까운 값을 갖는 데이터 인스턴스에 대해서 모델이 평균적으로 예측하는 것을 보여 주겠다. 그 효과는 그 특성 때문이기도 하지만 관련된 특성값 때문이기도 하다."
ALE플롯: "모델 예측이 해당 윈도우의 데이터 인스턴스에 대해 v 주변 기능의 작은 "윈도우"에서 어떻게 변하는지 보여주겠다."

이론

 PD, M 및 ALE 플롯은 수학적으로 어떻게 다를까요? 세 가지 방법 모두에 공통적인 것은 복잡한 예측함수 f를 한 가지(또는 두 가지) 특성값에만 의존하는 함수로 줄인다는 점입니다. 세 가지 방법 모두 다른 특성값의 효과를 평균화하여 함수를 감소시키지만 예측의 평균 또는 예측의 차이에 대한 계산 여부 및 한계 또는 조건부 분포에 대한 평균화가 수행되는지 여부에는 차이가 있습니다.

 

 부분의존도는 주변 분포에 대한 예측을 평균으로 나타냅니다.

$$\begin{align*}\hat{f}_{x_S,PDP}(x_S)&=E_{X_C}\left[\hat{f}(x_S,X_C)\right]\\&=\int_{x_C}\hat{f}(x_S,x_C)\mathbb{P}(x_C)d{}x_C\end{align*}$$

 이 값 \(x_S\)는 \(x_C\)의 모든 특성값에 대해 평균을 낸 예측 함수 f의 값입니다. 평균은 확률 분포에 의해 가중된 예측보다 정수인 집합 C의 특성값에 대한 주변 기대값(marginal expectation) E를 계산하는 것을 의미합니다. 그럴듯하게 들리지만, 주변 분포에 대한 기대값을 계산하기 위해, 우리는 단순히 모든 데이터 인스턴스를 취해서, 집합 S의 특성값에 대한 특정 눈금값을 갖도록 하고, 이 조정된 데이터 집합에 대한 예측을 평균화합니다. 이 절차는 특성값의 주변 분포에 대한 평균을 보장합니다.

 

 M-플롯은 조건부분포에 대한 예측값을 평균으로 나타냅니다.

$$\begin{align*}\hat{f}_{x_S,M}(x_S)&=E_{X_C|X_S}\left[\hat{f}(X_S,X_C)|X_S=x_s\right]\\&=\int_{x_C}\hat{f}(x_S,x_C)\mathbb{P}(x_C|x_S)d{}x_C\end{align*}$$

 PDP와 비교해 보았을때 다른점은 각 눈금값에서 주변 분포를 가정하지 않고 관심 있는 특성의 각 눈금값에 따라 예측을 평균으로 나타낸다는 점입니다. 실제로 이는 이웃을 정의해야 한다는 것을 의미하는데, 예를 들어 예측된 주택의 가치에 대한 \(30m^2\)의 효과를 계산하기 위해서는 28 ~ 32 \(m^2\) 사이의 모든 주택의 예측값을 평균으로 나타낼 수 있었습니다.

 

 ALE 플롯은 예측의 변화량을 평균으로 나타내고 눈금(나중에 계산할 때 더 많이)에 이를 축적시킵니다.

$$\begin{align*}\hat{f}_{x_S,ALE}(x_S)=&\int_{z_{0,1}}^{x_S}E_{X_C|X_S}\left[\hat{f}^S(X_s,X_c)|X_S=z_S\right]dz_S-\text{constant}\\=&\int_{z_{0,1}}^{x_S}\int_{x_C}\hat{f}^S(z_s,x_c)\mathbb{P}(x_C|z_S)d{}x_C{}dz_S-\text{constant}\end{align*}$$

 이 식은 M-플롯과 세 가지의 차이점을 나타냅니다. 첫번째로, 예측 자체가 아니라 예측의 변화를 평균으로 나타냅니다. 변화량은 기울기(다만 이후 실제 계산의 경우 간격에 따른 예측의 차이로 대체됨)로 정의됩니다.

$$\hat{f}^S(x_s,x_c)=\frac{\delta\hat{f}(x_S,x_C)}{\delta{}x_S}$$

두 번째 차이점은 z에 대한 추가 적분입니다. 집합 S에서 특성값의 범위에 걸쳐 지역적인 기울기를 축적하는데, 이것은 특성값이 예측값에 영향을 줍니다. 실제 계산을 하기 위해 z는 예측값의 변화량을 계산하는 구간 눈금으로 대체됩니다. ALE 방법은 예측값을 직접 평균으로 나타내는 대신 특성값 S를 조건으로 예측값의 차이를 계산하고 특성값 S에 대한 적분을 통합하여 효과를 추정합니다. 이상하네요, 왠지 바보같은 생각이지만 미분과 적분은 보통 서로를 상쇄시킵니다. 이는 마치 2에 1을 뺀 다음 1을 더하면 다시 2가 되는 것과 같는 이야기처럼 들립니다. 왜 여기서는 이러한 계산이 적용된 것일까요? 적분(또는 간격차이)은 관심있는 특성값의 영향을 분리하고 관련 특성값의 영향을 막아내는데 말이죠.

 

ALE 플롯과 M-플롯의 세 번째 차이점은 결과에서 상수를 빼는 것입니다. 이 단계는 데이터에 대한 평균 효과가 0이 되도록 ALE 플롯의 중심을 맞추어줍니다.

 

 문제점이 하나 더 남아 있습니다. 예를 들어 랜덤 포레스트(Random Forest)는 기울기가 없는 것과 같이 모든 모델이 기울기가 있는 것이 아닙니다. 그러나 보시다시피 실제 계산은 기울기 없이 이루어지며 간격 차이를 사용합니다. ALE 플롯의 예측에 대해 좀 더 깊이 알아보도록 합시다.

예측

 먼저 ALE 플롯이 단일한 수치 특성값에 대해 어떻게 추정되는지, 이후에는 두 가지의 수치 특성값에 대해 그리고 단일한 카테고리 특성값에 대해 어떻게 추정되는지 설명하고자 합니다. 지역적 효과를 추정하기 위해 특성값을 여러 구간으로 나누고 예측값의 차이를 계산합니다. 이러한 절차는 경사를 근사하며 경사가 없는 모델에서도 적용됩니다.

 

 먼저 우리는 중심적이지 않은 효과를 예측해봅니다.

$$\hat{\tilde{f}}_{j,ALE}(x)=\sum_{k=1}^{k_j(x)}\frac{1}{n_j(k)}\sum_{i:x_{j}^{(i)}\in{}N_j(k)}\left[f(z_{k,j},x^{(i)}_{\setminus{}j})-f(z_{k-1,j},x^{(i)}_{\setminus{}j})\right]$$

 오른쪽에서부터 이 공식을 분해해 봅시다. 누적 지역 효과(Accumulated Local Effects)라는 이름은 이 공식의 모든 개별 구성요소를 잘 반영하고 있습니다. 그 핵심에서 ALE 방법은 예측값의 차이를 계산합니다. 여기서 우리는 관심있는 특성값을 눈금값 z로 대체합니다. 예측값의 차이는 특정 간격의 개별 인스턴스에 대해 특성값이 갖는 효과입니다. 오른쪽의 합은 공식에 이웃 \(N_j(k)\)으로 나타나는 간격 내에 모든 인스턴스의 효과를 합산합니다. 우리는 이 구간에 대한 예측값의 평균 차이를 얻기 위해 이 구간의 인스턴스 갯수로 이 합을 나눕니다. 이 간격의 평균은 ALE라는 이름의 지역(Local)이라는 용어로 설명됩니다. 왼쪽 합 기호는 모든 간격에 걸쳐 평균 효과를 누적한다는 것을 의미한다. 예를 들어 세 번째 간격에 있는 특성값의 (비중심) ALE는 첫 번째 간격, 두 번째 간격 및 세 번째 간격의 효과 합을 나타냅니다. ALE의 누적(Accumulated)이라는 단어에는 이러한 내용이 반영되어 있습니다.

 

 이 효과는 중심화되어 평균 효과가 0이 됩니다.

$$\hat{f}_{j,ALE}(x)=\hat{\tilde{f}}_{j,ALE}(x)-\frac{1}{n}\sum_{i=1}^{n}\hat{\tilde{f}}_{j,ALE}(x^{(i)}_{j})$$

 ALE의 값은 데이터의 평균 예측에 비해 일정한 값에서 특성값의 주효과로 해석할 수 있습니다. 예를 들어 \(x_j = 3\)에서 -2의 ALE 추정치는 j번째 특성값이 값 3을 가질 때 평균 예측에 비해 2가 낮다는 것을 의미합니다.

 

 특성값의 분포를 나타내는 정량계(quantiles)는 구간을 정의하는 눈금으로 사용됩다. 정량계를 사용할때 각 간격에 동일한 수의 데이터 인스턴스가 있는지 확인합니다. 정량계는 간격이 매우 다른 길이를 가질 수 있다는 단점을 가지고 있습니다. 예를 들어, 다수의 낮은 값과 몇 개의 매우 높은 값만으로 구서된 관심있는 특성값이 매우 치우쳐친 경우, 이는 몇몇 이상한 ALE 플롯으로 이어질 수 있습니다.

 

두 특성값의 상호작용에 대한 ALE 플롯

 

 ALE 플롯은 또한 두 툭성값의 상호작용 효과를 나타낼 수 있습니다. 계산 원리는 단일 특성값과 동일하지만, 효과를 2차원으로 축적해야 하기 때문에 간격 대신 직사각형 셀로 나타냅니다. 전체 평균 효과에 대한 조정 외에도, 우리는 두 특성값의 주요 효과에 대해서도 조정합니다. 이는 두 특성값에 대한 ALE가 이 특성값들의 주요 효과를 포함하지 않는 2차 효과를 추정한다는 것을 의미합니다. 즉, 두 특성값에 대한 ALE는 두 특성값의 추가 상호작용 효과만 나타냅니다. 2D ALE 플롯의 공식은 목잡하기 때문에 여기에서는 생략합니다. 만약 여러분들께서 공식에 대해 관심이 있으시다면, 이 논문의 공식 (13) – (16)을 참조하시길 바랍니다. 시각화 자료를 통해 2차 ALE 계산에 대한 직관으로 아래의 그림과 같이 나타내고자 합니다.

2D-ALE의 계산 결과. 두 가지 특성값 위에 눈금을 배치한다. 각 눈금의 셀에서 모든 인스턴스에 대한 2차 미분을 계산한다. 먼저 x1과 x2의 값을 셀 모서리의 값으로 대체합니다. a, b, c 및 d로 조정된 인스턴스의 "코너" 예측을 나타내는 경우(그림에서 label된 대로), 2차 미분은 (d - c) - (b - a)이다. 각 셀의 평균 2차 미분은 눈금을 통해 누적되고 중심화된다.

 위의 그림에서, 많은 세포들이 상관관계로 인해 비어있습니다. ALE 플롯에서 회색 또는 어두운 상자로 이를 시각화할 수 있습니다. 또는 빈 셀의 누락된 ALE 추정치를 가장 가까운 비어 있지 않은 셀의 ALE 추정치로 대체할 수 있습니다.

 

 두 특성값에 대한 ALE 추정치는 특성값의 2차 효과만 나타내기 때문에 해석함에 있어 각별한 주의가 필요합니다. 3차 효과는 특성값의 주요 효과를 고려한 이후 특성값의 추가 상호작용 효과를 말합니다. 두 특성값이 상호작용하지는 않지만 각각 예측 결과에 선형 효과가 있다고 가정합시다. 각 특성값에 대한 1D ALE 플롯에서 추정된 ALE 곡선으로 직선을 확인할 수 있습니다. 그러나 2D ALE 추정치를 그림으로 그릴 때, 2차 효과는 상호작용의 추가 효과에 불과하기 때문에 0에 가까워야 합니다. ALE 플롯과 PD 플롯은 이 점에서 다릅니다: PDP는 항상 전체 효과를 나타내고, ALE 플롯은 1차 또는 2차 효과를 나타냅니다. 이들은 기초적인 수학에 의존하지 않는 설계 결정들(Design Decision)입니다. 부분의존도에서 낮은 차원의 효과를 빼서 순수 주요 효과 또는 2차 효과를 얻거나 저차원 효과 감소를 제약하여 전체 ALE 플롯의 추정치를 얻을 수 있습니다

 

 누적된 지역적 효과는 임의적으로 더 높은 차원(세 개 이상의 특성에서의 상호 작용)에 대해서도 계산할 수 있지만, PDP에서 주장한 바와 같이 높은 상호작용을 시각화하거나 심지어 의미 있게 해석할 수 없기 때문에 최대 두 가지 특성값만을 보는 것이 가장 바람직합니다.

 

카테고리 특성값을 위한 ALE

 

 누적지역효과(Accumulated Local effect)방법에는 정의상 특정 방향으로 효과를 누적하기 때문에 특성값이 순서를 가질 필요가 있습니다. 카테고리 특성값은 자연적인 순서가 존재하지 않습니다. 카테고리 특성값에 대한 ALE 플롯을 계산하려면 어떻게든 순서를 만들거나 찾아야만 합니다. 카테고리의 순서는 누적지역 효과의 계산과 해석에 영향을 줍니다.

 

 이를 해결할 수 있는 방법 중 하나는 다른 특성값을 기반으로 카테고리를 유사성에 따라 정렬하는 것입니다. 두 카테고리 사이의 거리는 각 특성값의 거리에 대한 합입니다. 특성값에 따른 거리는 두 카테고리의 Kolmogorov-Smirnov 거리 (수치 특성값의 경우) 또는 상대 빈도표(카테고리 특성값의 경우)를 비교합니다. 일단 모든 카테고리 사이의 거리가 확보되면 다차원 스케일링을 사용하여 거리 행렬을 1차원 거리 측도로 줄입니다. 이는 우리에게 카테고리의 유사성에 기반한 순서를 제공해줍니다.

 

 조금 더 명확하게 하기 위해 하나의 예를 들어보겠습니다. "계절"과 "날씨"라는 두 가지 카테고리 특성값과 수치형 특성인 "온도"를 가지고 있다고 가정해 봅시다. 첫 번째 카테고리 특성값(계절)에 대해 ALE를 계산하고자 합니다. 이 특성값에는 "봄", "여름", "가을", "겨울" 카테고리가 있습니다. 우리는 "봄"과 "여름" 사이의 거리를 계산하기 시작합니다. 거리는 특징적인 온도와 날씨에 대한 거리의 합으로 나타냅니다. 온도의 경우 계절 "봄"을 포함한 모든 인스턴스를 취하여 경험적 누적분포함수를 계산하고 계절 "여름"을 가진 인스턴스에 대해 동일한 작업을 수행하고 콜모고로프-스미르노프 통계로 거리를 측정합니다. 기상 특성값의 경우, 각 기상 유형에 대한 확률을 "봄" 인스턴스에 대해 계산하고, "여름" 인스턴스에 대해 같은 작업을 수행하고 확률 분포의 절대 거리를 더합니다. "봄"과 "여름"의 기온과 날씨가 매우 다르다면, 총 카테고리 거리는 커집니다. 다른 계절 쌍으로 절차를 반복하고 다차원 스케일링을 통해 결과 거리 행렬을 단일 차원으로 축소합니다.

예제

 ALE 플롯이 동작하는 것을 확인해봅시다. 이 예제에서는 부분의존도가 떨어지는 시나리오를 구성해 보았습니다. 시나리오는 예측 모델과 두 개의 강력한 상관관계를 가진 특성값으로 구성되어 있습니다. 예측 모델은 대부분 선형 회귀 모델이지만, 여기선 한 번도 인스턴스를 관찰하지 않은 두 가지 특성값의 조합에서 이상한 행동을 합니다.

두 가지 특성값과 예측된 결과. 모델은 두 특성값(음영 배경)의 합을 예측하며, 예외적으로 x1이 0.7보다 크고 x2가 0.3보다 작을 경우 모델은 항상 2를 예측한다. 이 영역은 데이터(포인트 클라우드)의 분포와는 거리가 멀고 모델의 성능에도 영향을 미치지 않으며 해석에도 영향을 주어서는 안 된다.

 과연 이는 현실적이고 관련성이 있는 시나리오일까요? 모델을 학습할할 때 학습 알고리즘은 기존 학습 데이터 인스턴스의 손실을 최소화합니다. 모델은 이러한 분야에서 이상한 일을 한다고 해서 벌을 받지 않기 때문에, 학습 자료의 분포 밖에서 이상한 일이 일어날 수 있습니다. 데이터 분포를 떠나는 것을 보외법(Extrapolation)이라고 하는데, 이는 적대적 예제에 대한 챕터에 설명되어 있는 기계 학습 모델을 속이는 데도 사용될 수 있습니다. ALE 그래프와 비교하여 부분의존도가 어떻게 동작하는지 간단한 예제를 참조하시길 바랍니다.

PDP(위쪽 행)와 ALE(아래쪽 행)로 나타낸 특성값 효과 비교. PDP 추정치는 데이터 분포를 벗어난 모델의 이상 동작(그래프의 스텝 점프)에 의해 영향을 받는다. ALE 플롯은 기계 학습 모델이 데이터가 없는 영역을 무시한 채 특성값과 예측값 사이의 선형 관계를 가지고 있음을 정확하게 식별한다.

 그런데 위의 모델이 x1 > 0.7, x2 < 0.3에서 이상하게 행동한다는 것은 흥미롭지 않나요? 아마도 그렇거나 아니라고 하실 것입니다. 이들은 물리적으로 불가능하거나 최소한 극히 가능성이 낮은 데이터 인스턴스들이기 때문에, 대개 이러한 인스턴스들을 조사하는 것은 큰 문제 없습니다. 그러나 테스트 분포가 약간 다를 수 있고 일부 인스턴스가 실제로 그러한 범위에 있다고 의심한다면 이 영역을 특성값 효과 계산에 포함시키는 것이 흥미로울 것입니다. 그러나 우리가 아직 데이터를 관찰하지 않은 영역을 포함시키는 것은 의식적인 결정일 수 밖에 없고 PDP와 같은 선택방법의 부작용이 되어서는 안될것입니다. 나중에 모델이 다른 분산 데이터에 사용될 것으로 의심될 경우 ALE플롯을 사용하여 예상되는 데이터의 분포를 시뮬레이션하는 것이 좋습니다.

 

 실제 데이터셋으로 전환하여 날씨와 날짜를 기준으로 대여된 자전거의 수를 예측하고 ALE 플롯이 아는바대로 제대로 동작하는지 확인해봅니다. 우리는 특정한 날에 대여된 자전거의 수를 예측하는 회귀 트리를 학습하고, 온도, 상대 습도 및 풍속이 예측에 어떤 영향을 미치는지 분석하기 위해 ALE 플롯을 사용합니다. ALE 플롯에 다음과 같이 나와 있는 것을 살펴봅시다.

기온, 습도 및 풍속별 자전거 예측 모델에 대한 ALE 플롯. 기온이 예측에 강한 영향을 미친다. 평균적인 예측은 기온이 올라가면 올라가지만 다시 섭씨 25도 이상부터는 떨어진다. 습도는 부정적인 영향을 미친다. 60% 이상이 되면 상대습도가 높을수록 예측치가 낮아진다. 풍속은 예측에 큰 영향을 주지 않는다.

 기온, 습도, 풍속과 다른 모든 특성값들의 상관관계를 살펴보자. 데이터에도 카테고리 특성값이 포함되어 있기 때문에 두 특성값이 모두 숫자일 경우에만 작동하는 Pearson 상관 계수를 사용할 수 없습니다. 대신 예를들어, 선형 모델을 훈련시켜 입력으로 다른 특성값들 중 하나를 기반으로 온도를 예측합니다. 그런 다음 선형 모델의 다른 특성값이 설명하는 분산을 측정하고 제곱근을 구합니다. 다른 특성값이 수치적이라면 결과는 표준 Pearson 상관 계수의 절대값과 같습니다. 그러나 "variance-explained"(ANOBA라고도 함, ANalysis of VAriance)의 이 모델 기반 접근법은 다른 특성값이 카테고리이더라도 효과가 있습니다. "variance-explained" 측정은 항상 0(연관 없음)과 1(다른 형상에서 온도를 완벽하게 예측할 수 있음) 사이에 있습니다. 온도, 습도 및 풍속의 설명된 분산을 다른 모든 특징들과 함께 계산합니다. 설명된 분산(상관)이 높을수록 PDP에서 더 많은 (잠재적) 문제가 발생합니다. 다음은 날씨 특성값이 다른 특성값들과 얼마나 강하게 관련되어 있는지를 시각화합니다.

온도, 습도 및 풍속과 모든 특성값의 상관관계의 강도는 설명된 분산 양으로 측정되며, 예를 들어 온도를 예측하고 특성값으로 학습하는 선형 모델을 훈련할 때 나타난다. 온도에서 계절 및 월과 높은 상관 관계를 관찰한다. 습도는 기상 상황과 관련이 있다.

 이 상관관계 분석은 우리가 부분의존도, 특히 온도 특성의 문제에 직면할 수 있다는 것을 보여준다. 그렇다면 직접 확인해봅시다.

온도, 습도 및 풍속에 대한 PDP. ALE 플롯에 비해 PDP는 높은 온도나 높은 습도에 대한 예상 자전거 수가 더 적게 감소했음을 보여준다. PDP는 예를 들어 "겨울"의 계절이 있는 경우라도 모든 데이터 인스턴스를 사용하여 고온의 영향을 계산한다. ALE 플롯이 더 신뢰할 수 있다.

 다음으로, 카테고리 특성값 대한 ALE 플롯을 봅시다. 각각의 월은 우리가 예측한 자전거 수에 대한 효과를 분석하고자 하는 카테고리 특성입니다. 논쟁의 여지가 있지만, 각각의 달들은 이미 일정한 순서를 가지고 있습니다(1월에서 12월). 그러나 만약 우리가 먼저 유사성에 의해 카테고리를 재정렬하고 그 결과를 계산하면 어떻게 되는지 보도록 합시다. 달은 온도나 휴일인지와 같은 다른 특성값에 근거하여 매월 일수의 유사성에 의해 정렬됩니다.

카테고리 특성값인 월에 대한 ALE 플롯. 월은 월별 다른 특성값의 분포에 기초하여 서로 유사성에 의해 정렬된다. 1월, 3월, 4월, 특히 12월과 11월은 다른 달에 비해 대여 자전거의 예상 수에 대한 효과가 낮다고 본다.

 많은 특성값들이 날씨와 관련이 있기 때문에, 월의 순서는 그 달들 사이의 날씨가 얼마나 비슷한지를 강하게 반영합니다. 더 추운 달은 모두 왼쪽(2~4월)이고, 따뜻한 달은 오른쪽(10~8월)에 있습니다. 예를 들어 휴일의 상대적 빈도는 월 간의 유사성을 계산하는 기온과 동일한 가중치를 갖는 등 기후 이외의 특성도 유사성 계산에 포함되었다는 점에 유의합니다.

 

 다음으로, 습도와 온도가 예측 자전거 수에 미치는 2차 효과를 고려합니다. 2차 효과는 두 특성값의 추가 상호작용 효과로 주요 효과를 포함하지 않는다는 점을 기억합니다. 이는 예를 들어 2차 ALE 플롯에서 높은 습도로 인해 평균적으로 예측 자전거 수가 감소하는 주요 효과를 보지 못한다는 것을 의미합니다.

ALE 플롯은 습도 및 온도가 예측 자전거 수에 미치는 2차 효과를 나타낸다. 밝은 색조는 주요 효과를 이미 고려한 경우 평균보다 높고 어두운 색조는 그 반대를 나타낸다. 이 그림은 온도와 습도 사이의 상호작용을 보여준다. 덥고 습한 날씨는 예측을 증가시킨다. 춥고 습한 날씨에는 예측 자전거의 수에 대한 추가적인 부정적인 영향이 나타난다.

 습도와 온도의 주요 효과는 매우 덥고 습한 날씨에는 자전거의 예상 수가 줄어든다는 것을 명심해야 합니다. 따라서 덥고 습한 날씨에서는 온도와 습도의 결합 효과가 주요 효과의 합이 아니라 합보다 커집니다. 순수 2차 효과(방금 본 2D ALE 플롯)와 총 효과의 차이를 강조하기 위해 부분의존도를 살펴보도록 합시다. PDP는 평균 예측, 두 개의 주요 효과, 2차 효과(상호작용)를 결합한 총효과를 보여줍니다.

예상 자전거 대여수에 대한 온도와 습도의 총 효과의 PDP. 이 그림은 상호작용만 표시하는 2D-ALE 그림과는 달리 각 특성값의 주요 효과와 이들의 상호작용 효과를 결합한다.

 상호작용에만 관심이 있는 경우 전체 효과가 주요 효과를 그래프에 혼합하기 때문에 2차 효과를 살펴봐야 합니다. 그러나 특성값의 결합 효과를 알고 싶다면 (PDP가 보여주는) 전체 효과를 살펴봐야 합니다. 예를 들어 섭씨 30도, 습도 80%의 예상 자전거 대여 수를 알고 싶다면 2D PDP에서 직접 읽어볼 수 있습니다. ALE 플롯에서 동일한 내용을 읽으려면 다음 세 가지 플롯을 살펴보십시오. 온도, 습도 및 온도 + 습도에 대한 ALE 플롯이며 전체 평균 예측도 알아야 합니다. 두 특성값이 상호작용이 없는 시나리오에서, 두 특성값의 전체 효과 플롯은 아마도 복잡한 그림으로 나타내며, 약간의 상호작용을 암시하지만, 단순히 두 개의 주요 효과들의 산물일 것이기 때문에 오해의 소지가 있을 수 있습니다. 2차 효과는 즉각적으로 상호작용이 없다는 것을 보여줄 것입니다.

 

 지금은 자전거가 충분하다고 판단하고, 분류 작업으로 돌아갑시다. 우리는 위험 요인을 바탕으로 자궁경부암 발생 가능성을 예측하기 랜덤포레스트를 훈련시킵니다. 두 가지 특징에 대해 누적지역효과를 시각화합니다.

ALE는 호르몬 피임약을 복용한 연령과과 연령이 자궁경부암의 예측 확률에 미치는 영향을 나타낸다. 연령 특성값의 경우 ALE 플롯은 예측된 암 발생률이 평균 40세까지 낮으며 그 이후 증가한다는 것을 보여준다. 호르몬 피임약을 복용하는 나이는 8년 후 암 발생 위험이 더 높은 것과 관련이 있다.

 다음으로, 우리는 임신 횟수와 나이 사이의 상호작용을 살펴보고자 합니다.

임신 횟수와 연령의 2차 효과에 대한 ALE 플롯. 이 플롯에 대한 해석은 다소 단정하지 못하며, 무엇이 과적합되어 보이는지를 보여준다. 예를 들어, 플롯은 18-20세 및 3회 이상의 임신(암 발생 확률은 최대 5% 포인트 증가)에서 기묘한 모델 행동을 보여준다. 점성학적 나이와 임신 횟수(실제 데이터는 포인트로 표시됨)를 가진 데이터에는 여성이 많지 않기 때문에 해당 여성들을 대상으로 한 실수 때문에 훈련 중 모델은 크게 패널티를 받지 않는다.

장점

ALE 플롯은 편항이 없으며, 이는 특성값의 상관관계에도 여전히 작용한다는 것을 의미합니다. 부분의존도 는 특성값의 가능성이 없거나 심지어 물리적으로 불가능한 조합에 대해 한계가 발생하기 때문에 이 시나리오에서는 실패합니다.

 

ALE 플롯은 PDP보다 계산 속도가 빠르고 시간복잡도가 O(n)로 스케일링하는데, 가장 큰 간격의 수는 인스턴스당 하나의 구간이 있는 인스턴스 수입니다. PDP는 눈금 포인트 추정치의 n배를 요구합니다. 20개의 눈금 포인트의 경우 PDP는 인스턴스(instance)만큼 많은 구간이 사용되는 최악의 경우 ALE 플롯보다 20배 더 많은 예측을 요구한다.

 

ALE 플롯의 해석은 명확합니다: 주어진 값에 따라 예측에 대한 특성값의 변경에 따른 상대적 효과는 ALE 플롯에서 읽을 수 있습니다. ALE 플롯은 0의 중심에 있습니다. ALE 곡선에 대한 각 점의 값이 평균 예측과의 차이이기 때문에 이러한 ALE의 특성은 해석을 나이스하게 만들어줍니다. 2D ALE 플롯에는 상호작용만 표시됩니다. 두 특성값이 상호작용하지 않으면 플롯은 아무것도 보여주지 않습니다.

 

전반적으로 보았을때, 개인적으로 PDP보다 ALE 플롯을 선호합니다. 왜냐하면 특성값은 대개 어느 정도 상관관계가 존재하기 때문이지요.

단점

 ALE 플롯은 구간 수가 많아 약간 불안정할 수 있습니다(많은 소폭의 기복이 있다). 이 경우 구간 수를 줄이면 추정치가 더 안정적이 되면서도 예측 모형의 실제 복잡성을 일부 가릴 수 있습니다. 구간의 수를 설정하기 위한 완벽한 해결책은 없습니다. 숫자가 너무 작으면 ALE 플롯이 그다지 정확하지 않을 수 있습니다. 숫자가 너무 많으면 곡선이 흔들릴 수 있습니다.

 

 PDP와 달리 ALE 플롯에는 ICE 곡선이 동반되지 않습니다. PDP의 경우, ICE 곡선은 특성값 효과에서 이질성을 드러낼 수 있기 때문에 대단하며, 이는 데이터의 하위 집합에 대해 특성값의 효과가 다르게 보인다는 것을 의미합니다. ALE 플롯의 경우 인스턴스 간에 효과가 다른지 여부를 구간별로만 확인할 수 있지만 각 구간마다 인스턴스가 다르기 때문에 ICE 곡선과 같지 않습니다.

 

 2차 ALE 추정치는 특성 공간(Feature space) 전체에 걸쳐 다양한 안정성을 가지며, 이는 어떤 방식으로도 시각화되지 않습니다. 그 이유는 셀에서 지역적 효과의 각 추정치가 다른 수의 데이터 인스턴스를 사용하기 때문입니다. 결과적으로, 모든 추정은 다른 정확도를 가지고 있습니다(그러나 여전히 가능한 최선의 추정치임). 이 문제는 주효과 ALE 플롯에 대해 덜 심각한 버전으로 존재합니다. 계량기를 격자로 사용한 덕분에 모든 구간에서 인스턴스 수는 동일하지만, 일부 영역에서는 짧은 구간이 많을 것이며 ALE 곡선은 더 많은 추정치로 구성될 것입니다. 그러나 전체 곡선의 큰 부분을 차지할 수 있는 긴 간격 동안, 상대적으로 적은 수의 예가 있습니다. 이것은 예를 들어 높은 나이에 대한 자궁경부암 예측 ALE 플롯에서 일어났다.

 

 2차 효과 플롯은 주요 효과를 항상 염두에 두어야 하기 때문에 해석하기가 좀 귀찮아질 수 있습니다. 적외선 열지도를 두 특성값의 전체 효과로 받아들이는 것은 유혹적이지만, 이는 상호작용의 부가적인 효과일 뿐입니다. 순수한 2차 효과는 상호작용을 발견하고 탐구하는 데 흥미롭지만, 그 효과가 어떻게 나타나는지를 해석하는 데는 주요 효과를 플롯에 통합하는 것이 더 합리적이라고 생각됩니다.

 

 ALE 그림의 구현은 부분의존도에 비해 훨씬 복잡하고 직관적이지 않습니다.

 

 연관된 특성값들의 경우 ALE 플롯이 편향되지 않더라도 특성값이 강한 상관관계가 있을 경우 해석은 여전히 어렵습니다. 왜냐하면 그들이 매우 강한 상관관계를 가지고 있다면, 두 특성값을 함께 변화시키는 효과를 분석하는 것만이 이치에 맞고 고립되어 있는 것은 아니기 때문입니다. 이 단점은 ALE 플롯에만 한정되는 것이 아니라 강한 상관 관계가 있는 특성값들의 일반적인 문제입니다.

 

 특성값들이 서로 연관되지 않고 계산 시간이 문제가 되지 않는다면 PDP는 이해하기 쉽고 ICE 곡선과 함께 그릴 수 있기 때문에 이 부분이 약간 선호됩니다.

 

 단점에 대한 내용이 꽤 길어졌지만, 글의 분량에 속지 않길 바랍니다. 경험의 법칙으로서 PDP 대신 ALE를 사용하십시오.

구현 및 대안

 부분의존도개별 조건부 기대치 곡선이 대안이라고 언급했던가요? =)

 아는 범위 내에서, ALE 플롯은 현재 R에서만 구현되며, 현재 발명가에 의해 하나는 ALEPlot R 패키지에, 또 하나는 iml 패키지에 구현됩니다.

 

참고자료: https://christophm.github.io/interpretable-ml-book/ale.html

 

5.3 Accumulated Local Effects (ALE) Plot | Interpretable Machine Learning

Machine learning algorithms usually operate as black boxes and it is unclear how they derived a certain decision. This book is a guide for practitioners to make machine learning decisions interpretable.

christophm.github.io

 

반응형