Logistic Regression
The Problem of Linear Regression
Linear regression model은 가장 기초적이면서도 많이 사용되는 모델중의 하나이며, \(\mathbf{X}\) 가 주어졌을대 \(\mathbf{Y}\) 에 대한 평균값을 예측을 합니다.
해당 line은 regression line
이라고 부릅니다.
결과적으로 linear regression model \(\hat{y} = \mathbf{w} \mathbf{x} + b\) 는 response variable \(\hat{y}\) 를 quantitative 로 가정을 합니다.
하지만 response variable이 qualitative (즉 categorical data) 인 경우가 상당수 많습니다.
기본적으로 linear regression model은 확률을 예측할수 없습니다.
이유는 linear regressino model의 예측값 \(y\) 의 range는 -infinity 에서 +infinity 인데, 확률로 표현되기 위해서는 0에서 1사이의 값의 range를 갖아야 하기 때문입니다. 여기에서 Logistic Regression을 이용하게 되면 0~1사이의 값을 갖는 확률로 표현이 가능해지기 때문입니다.
인사이트
Dependent variable이 categorical data일 경우 linear regression을 적용할 수 없다.
Difference between Odds and Probability
먼저 logistic regression을 알기전에 odds에 대한 개념을 알고 있어야 합니다.
odds라는 단어는 probability 와 유사하게 쓰이는 경우가 있고, 실제로 두개를 혼동해서 쓰는 경우가 있습니다.
하지만 두개는 명벽하게 다른 의미를 갖고 있습니다.
Probability VS Odds
-
Probability(확률)이란 \(\frac{성공횟수}{전체\ 시도\ 횟수}\)
-
Odds(승산)이란 \(\frac{성공횟수}{실패횟수}\)
Euqal
-
Equal Odds 는 1입니다. 즉 매번 1번 실패할때마다 1번 성공한다는 뜻입니다. 1:1
-
Equal Probabilities는 0.5입니다. 2번 시도할때 1번 성공한다는 뜻입니다.
Range
-
Odds는 0~무한 까지의 범위를 갖고 있으며, 1이상일 경우 성공확률이 실패확률보다 높다는 뜻입니다.
-
Probability는 0~1까지의 범위를 갖고 있습니다.
Converting between Odds and Probability
\[Odds(Y) = \frac{Pr(Y=1)}{Pr(Y=0)} = \frac{Pr(Y=1)}{1-Pr(Y=1)}\] \[Pr(Y=1) = \frac{Odds(Y)}{1+Odds(Y)} = 1 - \frac{1}{1+Odds(Y)}\]Binary Logistic Regression
Problem 1 (단순 확률 사용)
\(\mathbf{x}\) 가 dependent variable 그리고 \(y\) 가 반응변수 dependent variable 로서 qualitative (categorical data) 로 주어졌을대,
linear regression을 사용해서 공식을 세우면 다음과 같습니다.
우측항의 range는 0 ~ 1 입니다. 하지만 우측한의 range는 \(- \infty\) 에서 \(+ \infty\) 입니다.
따라서 위의 공식은 식 자체가 성립되지 않습니다.
Problem 2 (Odds ratio 사용)
Odds ratio를 사용하여 Y = 1 일때의 확률을 계산하여 linear regression으로 바꾸면 다음과 같습니다.
\[\text{odds ratio} = \frac{P(Y=1\ |\ \mathbf{x})}{P(Y=0\ |\ \mathbf{x})} = \frac{P(Y=1\ |\ \mathbf{x})}{1-P(Y=1\ |\ \mathbf{x})}\] \[\frac{P(Y=1\ |\ \mathbf{x})}{1-P(Y=1\ |\ \mathbf{x})} \ne \beta_0 + \beta_1 x_1 + \beta_2 x_2 + ... + \beta_n x_n\]오즈비의 range 범위는 0 ~ \(\infty\) 입니다.
즉 승산(odds)가 높으면 높아질수록 값이 무한대로 커질수 있습니다.
하지만 우측항의 linear model의 range는 음의 무한대를 갖고 있으므로 여전히 공식은 성립하지 않습니다.
np.range(0, 1, 0.1) 을 할때 0.1이 아니라 0.01 또는 0.001 이렇게 바꿔줄대마다 y의 값은 100 또는 1000 까지도 계속 상승하게 됩니다.
Solution -> Log 추가
위의 문제를 해결하기 위하여 logarithm을 추가하여 log-odds 또는 logit function 이라고 부르는 함수를 만들어 줍니다.
\[\text{logit function} = \log \left( \frac{P(Y=1\ |\ \mathbf{x})}{1 - P(Y=1\ |\ \mathbf{x})} \right) = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + ... + \beta_n x_n\]왼쪽항은 logit (또는 logit function 또는 logit link function) 이라고 부릅니다.
log odds의 range는 \(-\infty\) 에서 \(+ \infty\) 입니다.
따라서 우측항의 linear regression model의 range와 동일하게 되므로 공식이 성립하게 됩니다.
Final Solution -> 확률을 기준으로 정리
사실 정말 알고 싶은것은 성공확률입니다.
확률에 대한 기준으로 공식을 다시 정리하면 다음과 같습니다.
\[\begin{align} \ln \left(\frac{P(x)}{1- P(x)} \right) &= \theta \\ \\ \frac{P(x)}{1- P(x)} &= e^{\theta} \\ \\ P(x) &= e^{\theta} \cdot \left( 1 - P(x) \right) \\ \\ P(x) &= e^{\theta} - e^{\theta} P(x) \\ \\ P(x) + e^{\theta} P(x) &= e^{\theta} \\ \\ P(x)(1 + e^{\theta}) &= e^{\theta} \\ \\ P(x) &= \frac{e^{\theta}}{1 + e^{\theta}} = \frac{1}{1 + e^{-\theta}} \end{align}\]이때 공식을 줄이기 위해서 다음과 같은 조건을 설정합니다.
\(P(Y=1\ |\ \mathbf{x}) = P(x)\)
\(\beta_0 + \beta_1 x_1 + \beta_2 x_2 + ... + \beta_n x_n = \mathbf{w^Tx}+b = \theta\)
결론적으로 다음과 같은 최종 공식이 도출이 됩니다.
\[P(Y=1\ |\ \mathbf{x}) = \frac{1}{1 + e^{-(\mathbf{w^Tx} + b)}}\]확률로 표현된 최종 도출된 공식은 logistic function 이라고 하며, 딥러닝 분야에서는 sigmoid function 이라고 합니다.
Logistic function은 어떤 값이든 0~1사이의 값으로 출력이 됨으로 확률적 계산을 할 수 있게 됩니다.
Derivative of sigmoid function
아래는 sigmoid (또는 logistic) function의 공식입니다.
\[\phi(z) = \frac{1}{1 + e^{-z}}\]derivative of sigmoid function은 다음과 같습니다.
\[\begin{align} \dfrac{d}{dx} \phi(x) &= \dfrac{d}{dx} \left[ \dfrac{1}{1 + e^{-x}} \right] \\ \\ &= \dfrac{d}{dx} \left( 1 + \mathrm{e}^{-x} \right)^{-1} \\ \\ &= -(1 + e^{-x})^{-2} \frac{d}{dx}(1 + e^{-x}) \\ \\ &= -(1 + e^{-x})^{-2}(-e^{-x}) \\ \\ &= \dfrac{e^{-x}}{\left(1 + e^{-x}\right)^2} \\ \\ &= \dfrac{1}{1 + e^{-x}\ } \cdot \dfrac{e^{-x}}{1 + e^{-x}} \\ \\ &= \dfrac{1}{1 + e^{-x}\ } \cdot \dfrac{(1 + e^{-x}) - 1}{1 + e^{-x}} \\ \\ &= \dfrac{1}{1 + e^{-x}\ } \cdot \left( 1 - \dfrac{1}{1 + e^{-x}} \right) \\ \\ &= \phi(x) \cdot (1 - \phi(x)) \end{align}\]참고로….. 외울것
\[\frac{d}{dx} e^{f(x)} = e^{f(x)} \cdot f^{\prime}(x)\] \[\frac{d}{dx} a^{f(x)} = a^{f(x)} \cdot f^{\prime}(x) \cdot ln(a)\] \[\frac{d}{dx} e^{-x} = e^{-x} \cdot \frac{d}{dx} \left[ -x \right] = -1 \cdot e^{-x} = - e^{-x}\]