로지스틱 회귀모델의 배경
선형 회귀모델의 경우 입력변수에 따른 출력변수는 연속성을 가지고 있다. 하지만 출력변수가 연속형 변수인 모델 뿐만 아니라 이진변수나 멀티변수 같은 범주형 데이터를 갖는 모델도 많다. 이러한 모델들을 다루기 위해서 선형 회귀모델과는 다른 방식으로 접근해야할 필요가 있는데 그것이 바로 로지스틱 회귀모델이다. 로지스틱 회귀모델은 새로운 관측치가 왔을 때 이를 기존 범주 중 하나로 예측하는 '분류' 모델이다. 예를 들어 생산된 물건이 불량인지 정상인지, 또는 이 사람이 병에 걸렸는지 안걸렸는지를 분류해주는 모델 등이 있다.
입력변수 X가 주어졌을 때 출력변수 Y가 이진 또는 멀티변수로 표현된다면 이를 그래프 상에 나타내어 의미있는 결과가 도출될 수 없다. 때문에 로지스틱 회귀모델에서 입력변수 X가 주어졌을 때 출력변수 Y는 특정범주를 가질 '확률'로 표현된다.
출력변수 Y가 특정범주를 가질 '확률'일 경우 그러한 함수는 위와 같은 그래프를 갖는데, 이와 같은 함수를 '로지스틱 함수' 또는 '시그모이드 함수'라고 하고 함수식은 다음과 같다.
$$ f(x)=\frac{1}{1+e^{-(\beta _0 + \beta _1x)}} $$
로지스틱 함수의 가장 큰 특징은 출력값이 확률값을 갖으므로 0~1의 값을 갖는다는 것과 로지스틱 함수를 미분하면 로지스틱 함수의 곱으로 표현될 수 있다는 것이다.
$$ \frac{d\phi (z)}{dz} = \frac{1}{1+e^{-z}}(1-\frac{1}{1+e^{-z}}) = \phi (z)(1-\phi (z)) $$
단순선형회귀 모델의 경우 β1의 해석이 증가율으로 직관적이지만 로지스틱 회귀에서는 그렇지 않기 때문에 β1의 해석을 용이하게 하기 위해 승산(Odd)이라는 개념이 사용된다.
승산(Odd)
승산(Odd)은 실패확률 대비 성공확률의 비율을 나타내는 개념이다.
성공확률이 p일때 승산은
$$ Odd = \frac{p}{1-p} $$
와 같이 계산된다.
다시 로지스틱 회귀모델로 돌아와서 출력변수 A와 B 중 A를 가질 확률을 π라 할 때 π는
$$ \pi(X=x) = \frac{1}{1+e^{-(\beta _0+\beta _1x)}} $$
이다. 이때 승산을 사용하여 범주 B에 속할 확률 대비 범주 A에 속할 확률을 구하면
$$ Odds = \frac{\pi (X=x)}{1-\pi (X=x)} $$
로 표현될 수 있다. 여기에 로그를 씌우면
$$ log(Odds) = log(\frac{\pi (X=x)}{1-\pi (X=x)}) = log(\frac{\frac{1}{1+e^{-(\beta _0+\beta _1x)}}}{1-\frac{1}{1+e^{-(\beta _0+\beta _1x)}}}) = \beta _0+\beta _1x $$
으로 β를 포함하는 일차식을 얻을 수 있다. 이렇듯 승산을 구한 후 거기에 로그를 씌우는 변환을 '로짓변환(Logit Transform)'이라고 한다.
결과적으로 β1은 x의 증가에 따른 log(odds)의 증가량이라 말할 수 있다.
입력변수 x가 2개 이상인 다중 로지스틱 회귀모델의 경우
$$ \pi (X=x) = \frac{1}{1+e^{-(\beta _0+\beta _1x_1+\cdot \cdot \cdot \beta _px_p)}} $$
$$ Odds = \frac{\pi (x)}{1-\pi (x)} = e^{-(\beta _0+\beta _1x_1+\cdot \cdot \cdot \beta _px_p)} $$
$$ log(Odds) = log(\frac{\pi (X=x)}{1-\pi (X=x)}) = (\beta _0+\beta _1x_1+\cdot \cdot \cdot \beta _px_p) $$
와 같은 식을 갖는다.
'개인공부 > 데이터 사이언스' 카테고리의 다른 글
편향과 분산 (0) | 2024.01.11 |
---|---|
앙상블 기법 (0) | 2024.01.11 |
최근접 이웃(K-Nearest Neighbor) 알고리즘을 이용한 종양 판별 모델 만들기 (0) | 2021.10.03 |
신뢰도 높은 리뷰 탐색 프로젝트(파이어베이스, 파이썬) (0) | 2021.03.23 |
Selenium을 이용한 미세먼지 크롤러 만들기(2) (0) | 2021.03.18 |