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

[해석할 수 있는 기계학습(4-2)] 로지스틱 회귀 본문

해석할 수 있는 기계학습/4. 해석할 수 있는 모델

[해석할 수 있는 기계학습(4-2)] 로지스틱 회귀

Justin T. 2019. 12. 24. 00:07

 로지스틱 회귀는 두 가지 가능한 결과를 갖고 있는 데이터를 분류하는 문제에 대한 확률을 모델링합니다. 이는 즉 분류 문제에 대한 선형 회귀 모델의 확장이라 할 수 있습니다.

선형 회귀의 단점은 무엇인가?

 선형 회귀는 회귀 분석에서는 요긴하게 사용될 수 있지만 분류에서는 실패하는 경우가 발생합니다. 왜 그런것일까요? 두 가지 클래스가 있을 때 하나의 클래스에 0을, 다른 클래스에 1을 라벨로 지정하고 선형 회귀 분석을 사용할 수 있습니다. 기술적으로 이는 효과가 있고 납들할 만한 가중치값을 보입니다. 그러나 이러한 선형 회귀 접근법에는 몇 가지 문제가 있습니다.

 

 선형 모델은 확률을 파악하는 것은 것은 매우 어려우며 두 클래스를 숫자(0과 1)로 처리하며 각 클래스 특성값의 점과 초평면(Hyper plane) 사이의 거리를 최소화하는 최상의 초평면(단일 특성값의 경우 직선)에 적합합니다. 그렇기에 선형 회귀 모델은 단순히 점 사이를 보간(Interpolate, 수많은 점들을 평균화 시키는 것)하기 때문에 이를 확률로 해석할 수 없습니다.

 

 선형 모델은 또한 0 이하와 1 이상의 값을 외삽(Extrapolate, 이전에 얻은 데이터를 통해 여측해보는 기법)합니다. 이는 분류에 대해 더 똑똑한 접근 방식이 있을 수 있다는 것이죠.

 

 예측된 결과는 확률이 아니라 점 사이의 선형 보간이기 때문에 두 종류의 클래스를 구별할 수 있는 임계값(Threshold)이 존재하지 않습니다.

 

 선형 모델은 여러 종류의 클래스를 분류하는 문제로 확장되지 않습니다. 3개 이상의 클래스가 존재할 때 클래스는 의미 있는 순서를 가지고 있지 않을 수도 있지만, 선형 모델은 특성값과 클래스 예측값 사이의 관계에 대한 납득하기 어려운 이상한 구조가 될 것입니다. 양의 가중치를 갖는 특성값의 값이 클수록 우연히 비슷한 값을 얻은 클래스가 다른 클래스에 비해 가깝지 않더라도 값이 큰 클래스로 예상될 수 있기 때문입니다.

선형 모델은 종양을 악성(1) 또는 양성(0)으로 분류한다. 각 그래프의 선들은 선형 모델의 예측을 나타낸다. 왼쪽 데이터에 대해서는 0.5를 한계치(Threshold)로 사용할 수 있다. 몇 가지 악성 종양 사례가 추가되었을 때 회귀선은 이동하며 0.5의 임계값는 더이상 두 클래스를 구분하지 못하게 됩니다. 오버피팅을 줄이기 위해서 포인트는 살짝 삐뚤빼뚤하게 설정되었습니다.

로지스틱 회귀 이론 

 분류를 위한 해법으로 로지스틱 회귀가 있습니다. 로지스틱 회귀 모델은 직선이나 초평면을 사용하는 대신 로지스틱 함수를 사용하여 0과 1 사이의 선형 방정식의 출력을 압축합니다. 로지스틱 함수는 아래와 같이 정의됩니다.

$$\text{logistic}(\eta)=\frac{1}{1+exp(-\eta)}$$

 이를 그래프로 나타내면 다음과 같습니다.

0과 1 사이의 숫자를 출력하는 로지스틱 함수. 입력값 0에서는 0.5를 출력한다.

 선형 회귀에서 로지스틱 회귀로의 단계는 매우 간단합니다. 선형 회귀 모델에서 선형 방정식을 사용하여 결과값과 특성값 사이의 관계를 모델링합니다.

$$\hat{y}^{(i)}=\beta_{0}+\beta_{1}x^{(i)}_{1}+\ldots+\beta_{p}x^{(i)}_{p}$$

 분류를 위해 0과 1 사이의 확률을 선호하기 때문에 방정식의 오른쪽을 로지스틱 함수로 표현합니다. 이렇게 하면 출력값이 0과 1 사이의 값으로 한정됩니다.

$$P(y^{(i)}=1)=\frac{1}{1+exp(-(\beta_{0}+\beta_{1}x^{(i)}_{1}+\ldots+\beta_{p}x^{(i)}_{p}))}$$

 위에서 보았던 종양 크기의 예를 다시 살펴봅시다. 이번에는 선형 회귀 모델 대신 로지스틱 회귀 모델을 사용해 봅시다.

로지스틱 회귀 모델은 종양 크기에 따라 악성과 양성 사이의 합리적인 의사결정 경계를 찾는다. 그래프에 나타낸 선은 데이터에 맞게 이동 및 압축된 로지스틱 함수이다.

 위와 같은 분류는 로지스틱 회귀에서 잘 적용되고 있음을 확인할 수 있으며 두 경우 모두 0.5를 임계값으로 사용할 수 있습니다. 가산점을 포함한다고 해서 추정 곡선에 실제 영향을 미치지는 않습니다.

 

로지스틱 회귀의 해석

 로지스틱 회귀 분석의 가중치 해석은 결과가 0과 1 사이의 확률이기 때문에 선형 회귀 분석의 가중치 해석과는 다르게 표현됩니다. 가중치는 더 이상 확률에 선형적으로 영향을 미치지 않습니다. 가중치 합계는 로지스틱 함수에 의 해 확률로 변환됩니다. 그러므로 해석에 대한 방정식을 재구성하여 선형 방정식만이 아래 공식의 오른쪽에 있도록 해야 합니다.

$$log\left(\frac{P(y=1)}{1-P(y=1)}\right)=log\left(\frac{P(y=1)}{P(y=0)}\right)=\beta_{0}+\beta_{1}x_{1}+\ldots+\beta_{p}x_{p}$$

 위 방징석에서 log() 함수를 "odds"(사건의 확률을 사건이 없을 확률로 나눈 값)라고 부르며, 로그에 감싼 것을 log odds라고 부릅니다.

 

 이 공식은 로지스틱 회귀 모델이 log odds에 대한 선형 모델임을 보여줍니다. 여기서 \(x_j\)가 1단위씩 바뀌면 예측이 어떻게 변하는지 알 수 있습니다. 이를 위해 먼저 양 쪽의 등식에 exp() 함수를 적용합니다.

$$\frac{P(y=1)}{1-P(y=1)}=odds=exp\left(\beta_{0}+\beta_{1}x_{1}+\ldots+\beta_{p}x_{p}\right)$$

 그 다음 특성값 중 하나를 1만큼 증가시키면 어떤 일이 일어나는지 비교해봅니다. 두 예측의 비율을 보면 다음과 같습니다.

$$\frac{odds_{x_j+1}}{odds}=\frac{exp\left(\beta_{0}+\beta_{1}x_{1}+\ldots+\beta_{j}(x_{j}+1)+\ldots+\beta_{p}x_{p}\right)}{exp\left(\beta_{0}+\beta_{1}x_{1}+\ldots+\beta_{j}x_{j}+\ldots+\beta_{p}x_{p}\right)}$$

 위 식을 통해 다음과 같은 규칙을 만듭니다.

$$\frac{exp(a)}{exp(b)}=exp(a-b)$$

 다음으로 필요없는 값들은 제거해줍니다.

$$\frac{odds_{x_j+1}}{odds}=exp\left(\beta_{j}(x_{j}+1)-\beta_{j}x_{j}\right)=exp\left(\beta_j\right)$$

 결국 특성 가중치의 exp()만큼 간단한 식을 갖게 됩니다. 특성값이 한 단위로 변경되면 odds ratio(승수)가 exp(\(b_j\))의 인수로 변경됩니다. 우리는 이를 '한 단위씩 \(x_j\)를 바꾸면 해당 가중치값에 의해 log odds rate가 증가한다'고 해석할 수 있습니다. 대부분의 사람들은 어떤 것의 log()를 생각하는 것이 매우 힘들기 때문에 확률비율을 해석합니다. odds rate를 해석하려면 이에 익숙해져야만 합니다. 예를 들어 odds가 2인 경우 y=1의 확률이 y=0의 두배라는 의미입니다. 가중치(=log odds rate)가 0.7인 경우 각 특성값을 1단위씩 증가시키면 확률은 exp(0.7)(약 2배)로 곱하면 odds는 4로 바뀝니다. 그러나 보통은 이러한 확률을 다루지 않고, 그 가중치를 오직 확률비로만 해석합니다. 실제로 확률을 계산하려면 각 특성값에 대한 값을 설정해야 하기 때문에, 데이터셋의 특정 인스턴스(instance)를 보려 할 때만 의미가 있습니다.

 

 특성값 유형이 서로 다른 로지스틱 회귀 모델에 대한 해석은 다음과 같습니다.

  • 수치적 특성값: 만약 특성값 \(x_j\)값을 1단위씩 증가시키면 추정 확률은 \(exp(\beta_{j})\)의 인수에 의해 변합니다.
  • 이진 카테고리 특성값: 특성값의 두 값 중 하나는 기준 카테고리(일부 언어에서 0으로 인코딩된 값)입니다. 기준 카테고리에서 다른 카테고리로 특성값 \(x_j\)를 변경하면 추정 확률은 \(exp(\beta_{j})\)의 인수로 변경됩니다.
  • 두 개 이상의 카테고리를 가진 카테고리 특성값: 여러 카테고리를 다루는 한 가지 해결책은 one-hot 인코딩으로, 각 카테고리에 고유한 column이 있다는 것을 의미합니다. L 카테고리가 있는 카테고리형 특성값에 L-1번째 column만 필요하며, 그렇지 않으면 지치게 변형이 됩니다. L-th 카테고리는 기준 카테고리입니다. 선형 회귀 분석에서 사용할 수 있는 다른 인코딩을 사용할 수 있습니다. 각 카테고리에 대한 해석은 이진 카테고리의 해석과 동일합니다.
  • 절편값 \(\beta_{0}\): 모든 수치적 특성값이 0이고 카테고리 특성값이 기준 카테고리에 있을 때, 추정 확률은 \(exp(\beta_{0})\)입니다. 절편값 가중치의 해석은 보통 관련이 없습니다.

 

예제

 지금까지 다루었던 로지스틱 회귀를 사용해서 몇몇 위험요인에 근거하여 자궁경부암을 예측해봅니다. 아래의 표는 추정 가중치, 관련 odds ratios와 추정치의 표준 오차를 나타냅니다.

 

  Weight Odds ratio Standard error
Intercept -2.91 0.05 0.32
Hormonal contraceptives y/n -0.12 0.89 0.30
Smokes y/n 0.26 1.29 0.37
Num. of pregnancies 0.04 1.04 0.10
Num. of diagnosed STDs 0.82 2.26 0.33
Intrauterine device y/n 0.62 1.85 0.40

 위 테이블은 자궁경부암 데이터셋에 로지스틱 회귀 모델을 적용한 결과입니다. 모델에 사용된 특성값, 추정 가중치와 그에 상응하는 odds ratio, 추정 가중치의 포준 오차는 다음과 같이 나타납니다.

 

-수치적 특성값("진단된 STDs의 수")의 해석

 진단된 STDs의 수가 증가하면 암 vs 암이아닌 경우의 확률이 2.26배 증가합니다. 이에 따른 모든 특성값이 동일하게 유지됩니다. 상관관계가 인과관계를 의미하는 것은 아니라는 것을 복기합니다.

 

-카테고리 특성의 해석("Hormonal contraceptive y/n")

 Hormonal contraceptive를 사용하년 여성의 경우, 다른 모든 특성값들이 그대로 유지된다는 점을 감안할 때, Hormonal contraceptive이 없는 여성에 비해 암 vs 암이아닌 경우의 확률은 0.89배 낮습니다.

 

 선형 모델에서와 같이 해석은 항상 '다른 모든 특성값은 그대로 유지'라는 조건은 항상 유지됩니다.

장점과 단점

 선형 회귀 모델의 장단점 또한 로지스틱 회귀 모델에서도 적용됩니다. 로지스틱 회귀는 많은 사람들에 의해 널리 사용되었지만 제한적인 표현력(상호작용이 수동으로 추가되어야 함)과 분투하며, 다른 모델들은 더 나은 예측 성능을 나타낼 수도 있습니다.

 로지스틱 회귀 모델의 또 다른 단점은 가중치를 더하는 것이 아니라 곱하는 식기 때문에 가중치의 해석이 매우 어렵습니다.

 로지스틱 회귀는 완전히 분리될 수 있습니다. 두 가지의 클래스를 완벽하게 분리할 수 있는 특성값이 있다면, 로지스틱 회귀 모델을 더이상 훈련시킬 수 없습니다. 최적의 가중치값이 무한이 될 수 있기 때문에 그 특성값에 대한 가중치가 수렴되지 않기 때문입니다. 사실 특성값은 실제로 유용하기 때문에 이러한 경우는 운이 매우 좋지 않을 경우에 해당됩니다. 하지만 두 가지의 클래스를 구분하는 간단한 규칙이 있다면 기계 학습이 필요하지 않습니다. 완전한 분리의 문제는 가중치에 패널티를 도입하거나 가중치의 사전 확률 분포를 정의함으로써 해결할 수 있습니다.

 

 반면 좋은 점을 보았을 때, 로지스틱 회귀 모델은 분류 모델일 뿐만 아니라 확률 또한 제공합니다. 이는 최종 분류만 할 수 있는 모델에 비해 큰 장점입니다. 한 클래스가 51%인 것에 비해 한 인스턴스가 99%의 확률을 가지고 있다는 사실을 알면 이는 큰 차이가 있음을 알 수 있습니다.

 로지스틱 회귀 분석은 이진 분류에서 다중 분류로 확장될 수도 있습니다. 이를 다항 회귀라고 부릅니다.

 

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

 

4.2 Logistic Regression | 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

 

반응형