로지스틱 회귀모델의 필요성
앞서 선형 회귀모델에서 본 것과 다르게 반응변수 Y가 범주형일 경우, 즉 이진변수 혹은 멀티변수 등이라면 최소제곱법을 통해 회귀 계수 값을 추정하기가 어렵다. 이는 선형 회귀모델에서의 가정(오차항의 가정 등)이 성립하지 않기 때문이다. 이러한 경우 `로지스틱 회귀모델(Logistic Regression Model)`을 사용한다. 로지스틱 회귀 모델은 새로운 관측치가 왔을 때 이를 기존 범주 중 하나로 예측하는 범주예측, 즉 `분류(classification)` 문제를 풀때 사용하는 모델이다. 로지스틱 회귀모델을 사용하는 예시는 다음과 같다.
- 제품이 불량인지 양품인지 분류
- 고객이 이탈고객인지 잔류고객인지 분류
- 이메일이 스팸인지 정상메일인지
로지스틱 회귀모델의 이론적 배경은 다음과 같다.
로지스틱 함수(Logistic function)
- Logistic function, Sigmoid function, Squashing funciton(Large input → Small output)
- Input 값은 모든 실수가 가능하지만 Output의 범위는 0~1 사이의 확률값
- Input 값에 대해 단조증가 혹은 단조감소 함수
- 미분결과를 Output의 함수로 표현 가능 → `Gradient Learning Method`에서 유용하게 사용
`단순로지스틱 회귀모델`은 입력변수 X가 1개인 로지스틱 회귀모델을 말한다. 그러나 해당 식에선 B1의 해석이 그전에 본 선형 회귀모델보다 직관적이지 못하다는 것을 확인할 수 있다.
승산(Odds)
`승산(Odds)`이란, 성공 확률을 p로 정의할 때, 실패 대비 성공 확률 비율을 의미한다.
Odds를 로지스틱 회귀 모델에 적용하면, 이는 범주 0에 속할 확률 대비 범주 1에 속할 확률을 의미한다. 이에 대한 수식은 다음과 같다.
위 그림처럼 Odds 변환을 한 후 이에 대한 log 변환을 수행하는 것을 `로짓 변환(Logit Transform)`이라고 한다. 로지스틱 회귀모델에서 로짓 변환을 수행하면 다음과 같이 선형이 된다. 따라서 앞서 B1에 대한 해석이 직관적이지 못했던 로지스틱 회귀모델의 문제점이 해소되었다. 따라서 B1의 의미는 X가 1단위 증가 했을 때 log(odds)의 증가량으로 해석할 수 있다.
추가적으로, 성공확률에 대한 log(odds)의 그래프는 다음과 같다.
다중 로지스틱 회귀모델
- X변수를 로지스틱 함수형태(비선형결합)으로 표현
- 관측치가 특정 범주에 속할 확률로 계산
- 확률값이 정한 기준값보다 크면 범주 1 아니면 범주 2로 표현(이진범주 문제의 경우)
파라미터 추정
다중로지스틱 회귀모델에서는 파라미터를 추정하는 데 `최대 우도 추정법(Maximum Likelihood Estimation)`을 사용한다. 우선 `로그-우드 함수(Log Likelihood Function)`를 구하는 과정은 다음과 같다.
이러한 로그-우도 함수가 최대가 되는 파라미터를 결정해야한다. 그러나 로그-우도 함수는 파라미터에 대해 비선형이므로 선형회귀모델과 같이 명시적인 해가 존재하지 않는다(No closed-form solution exists). 따라서 `Iterative reweight least sequare`, `Conjugate gradient`, `Newton's method` 등의 수치 최적화 알고리즘을 이용하여 해를 구한다.
이러한 로그-우도 함수를 최대화시키는 파라미터를 찾는 것은 `Cross Entropy`를 최소화시키는 파라미터를 찾는 것과 같다. Cross Entropy는 두 확률분포의 차이를 나타내는 값으로, 음의 로그-우도 함수(Log likelihood function)의 기대값이다. Log likelihood function을 최대화한다는 것은 입력 분포 p(x)와 파라미터가 주어졌을 때, 출력 분포 q(x)의 확률을 최대하는 것을 의미한다. 또한 Cross Entropy를 최소화한다는 것은 입력 분포 p(x)와 출력 분포 q(x)의 차이를 최소한다는 것을 의미한다. 따라서 Log likelihood function을 최대화한다는 것은 Cross Entropy를 최소화한다는 것과 동일하다.
이렇게 파라미터를 추정하고 난 이후의 최종모델은 다음과 같다.
로지스틱 회귀모델의 결과 및 해석
이진 분류를 위한 기준값(threshold)를 설정할 때는 일반적으로 0.5를 설정한다. 그러나 성공 범주의 비중이 낮은 경우, 예를 들어 불량을 예측하거나, 희귀환자를 예측하거나, 사기 카드를 예측하는 경우에는 기준값을 낮추는 경우가 있고, 반대로 성공 범주의 비중이 높을 때는 기준값을 높게 설정하기도 하지만 이 경우는 많이 없다. 또한 선형 회귀모델과 로지스틱 회귀모델의 파라미터의 의미는 다음과 같다.
- 선형 회귀모델 : 입력변수가 1단위 증가할때 출력변수의 변화량
- 로지스틱 회귀모델 : 입력변수가 1단위 증가할 때 로그아드의 변화량
승산 비율(Odds Ratio)
- 나머지 입력변수는 모두 고정시킨 상태에서 한 변수를 1단위 증가시켰을 때 변화하는 Odds의 비율
- x1이 1단위 증가하면 성공에 대한 승산 비율이 e^B1만큼 변화
- 회귀 계수가 양수 → 성공 확률 증가(Odds Ratio >= 1)
- 회귀 계수가 음수 → 성공 확률 감소(0 < Odds Ratio < 1)
이 포스팅은 고려대학교 산업경영공학부 김성범 교수님 유튜브의 핵심 머신러닝 강의를 듣고 작성한 글입니다.
(이미지 출처 - 핵심 머신러닝)