로지스틱 회귀 모형 (logistic regression model)
+ 이나스AI에는 인공지능 관련 다양한 강의가 있습니다.
- Object detection, Text To Speech, Reinforcement learning, OCR, Chatbot, Time series prediction,
- Meta learning, eXplainable AI, Transformer/BERT/GPT, Graph-based ML, etc
- 소스코드, 다이어그램 및 중간데이터에 기반하여 인공지능 알고리즘들의 작동원리와 구조를 이해하기 쉽고 정확하게 설명합니다.
+ 작업할 때 켜놓는 라이브 스트리밍 study with me 채널도 운영하고 있습니다.
1. 로지스틱 회귀 모형
1-1. 데이터 예시
성별(X1) | 나이(X2) | 체중(X3) | 고혈압여부(Y) |
---|---|---|---|
1 | 65 | 55 | 1 |
2 | 27 | 62 | 0 |
... | ... | ... | ... |
1 | 24 | 67 | 0 |
- 종속변수는 범주형 (주로 0 또는 1의 이진형태)
1-2. 로지스틱 회귀 모형 종류
- 종속변수가 0 또는 1, 성공 또는 실패와 같은 값을 가지는 이항분포를 따른다면, 이항 로지스틱 회귀 (binomial logistic regression) 이라고 할 수 있다. 일반적으로 가장 많이 사용되는 형태이기 때문에, 간단히 로지스틱 회귀 모형이라고 불린다.
- 종속변수가 서울, 경기, 인천 처럼 3개 이상의 범주를 가져 다항분포를 따른다면, 다항 로지스틱 회귀 (multinomial logistic regression) 을 사용할 수 있다. 이 경우, 범주가 3개라면 종속변수를 주로 (3-1)개의 더미변수로 만들어 분석을 하게 된다.
- 종속변수가 연령대1, 연령대2, 연령대3 처럼 3개 이상의 순서가 있는 범주를 가지는 경우, 서수 로지스틱 회귀 (ordinal logistic regression) 을 사용할 수 있다.
1-3. 로지스틱 회귀 모형 개념
- 종속변수가 두개의 범주를 가진 이항형인 경우에, 선형회귀 모형을 적용하면, 0 또는 1과는 다른 예측값 (0.3, 6 등) 이 나올 수 있다. 즉, 독립변수와 0과 1을 가지는 종속변수 사이의 관계를 선형회귀 모형은 적절히 모델링 할 수 없기때문에, 로지스틱 회귀라는 새로운 모델링 방법이 필요한 것이다.
2. 로지스틱 모형 정의
- 종속변수의 값으로서 $$$y_i=0$$$ 또는 $$$y_i=1$$$ 로 직접적으로 정확히 추정하기는 어렵다.
- 따라서, 0 또는 1 값으로 정확히 예측하지 말고, 간접적으로 0 또는 1이 될 확률값을 추정하는 것이다.
종속변수가 1이 될 확률 : $$$Pr(y_i=1)$$$
종속변수가 0이 될 확률 : $$$Pr(y_i=0)=1-Pr(y_i=1)$$$
- $$$y$$$가 1이 될 확률을 아래처럼 정의한다.
$$$\pi_i = Pr(y_i=1)$$$
- 우리가 갖길 원하는 방정식은 아래와 같이 실수범위에서 정의된 종속변수 및 독립변수 형태이다. 아래 방정식의 종속변수는 음의 무한대에서 양의 무한대 범위에서 정의되고, 오른쪽 식은 선형회귀 모형에서의 형태와 같으므로, 전체적으로 선형회귀 모형이라고 볼 수 있다.
$$$\log{ \left( \dfrac{\pi_i}{1-\pi_i} \right) } = \beta_0 + \beta_1x_{1i} + \beta_2x_{2i} + \cdots + \beta_px_{pi} + \epsilon_i$$$
위 식에서 $$$\log{ \left( \dfrac{\pi_i}{1-\pi_i} \right) }$$$ 를 로그 오즈비 (log odds ratio) 라고 하는데, 왜 로그 오즈비가 사용되었는지 아래 내용에서 설명한다.
- 우선적으로, 아래와 같이 종속변수는 확률로, 독립변수는 선형회귀형태로 표현된 모형을 생각해 본다.
$$$\pi_i = \beta_0 + \beta_1x_{1i} + \beta_2x_{2i}+ \cdots + \beta_px_{pi} + \epsilon_i$$$
- 위의 식에서 $$$\pi_i$$$ 는 확률이므로 0과 1 사이의 값이다. 따라서, 우리가 최종적으로 원하는 양의 무한대, 음의 무한대에서 정의된 종속변수가 아니다. 그래서 확률을 오즈비로 대신 사용하여 아래와 같이 모델링을 해본다.
$$$\dfrac{\pi_i}{1-\pi_i} = \beta_0 + \beta_1x_{1i} + \beta_2x_{2i}+ \cdots + \beta_px_{pi} + \epsilon_i$$$
참고사항으로, 확률을 (1-확률) 로 나눈 값을 오즈비 (odds ratio) 라고 한다.
Odds ratio = $$$\dfrac{Pr}{1-Pr}$$$
Odds ratio $$$\dfrac{Pr}{1-Pr}$$$ 값의 범위는 $$$0 \le \dfrac{Pr}{1-Pr} \le \infty$$$ 이다
종속변수가 양의 무한대는 커버하지만, 음의 무한대는 커버하지 못하고 있다.
- 따라서, 아래와 같이, 오즈비에 로그를 적용한 로그오즈비를 대신 사용하여 모델링을 해본다.
$$$\log{ \left( \dfrac{\pi_i}{1-\pi_i} \right) } = \beta_0 + \beta_1x_{1i} + \beta_2x_{2i} + \cdots + \beta_px_{pi} + \epsilon_i$$$
그러면, 종속변수가 음의 무한대에서 양의 무한대까지 정의된 형태가 되고, 오른쪽은 선형회귀 모형의 형태이므로, 로지스틱 회귀 모형을 우리가 알고있는 선형회귀 모형의 최적화 관점에서 접근할 수 있게 된다.
그리고 우리는 위의 식에 포함되어있는 회귀계수 $$$\beta$$$ 들을 추정해야한다.
- 여기서 한번 더 식을 변형 할 수 있는데, 아래와 같이 종속변수를 확률 $$$\pi_i$$$ 로 갖는 방정식으로 정리하면, 비로소 로지스틱 회귀 모형 방정식을 얻을 수 있다.
$$$\pi_i = \dfrac{\exp{(\beta_0+\beta_1x{1i}+\beta_2x{2i}+\cdots+\beta_px{pi})}}{1+\exp{(\beta_0+\beta_1x{1i}+\beta_2x{2i}+\cdots+\beta_px{pi})}}$$$, $$$i=1,\cdots,n$$$
3. 로지스틱 함수 고찰
3-1. 시그모이드 함수
- 시그모이드 함수는 S 모양을 띄며, 아래와 같은 특성을 갖는, 성장 곡선 패턴 (초기에는 천천히 증가하다가 증가 속도가 점차 빨라지고 확률 $$$\frac{1}{2}$$$ 이후에는 다시 증가속도가 줄어드는 형태) 를 모델링할 때 많이 사용된다.
종속변수의 모든 실수값에 대하여,
유한 구간 $$$(a,b)$$$ 사이에서 한정된 값을 가지면서, $$$a < f(x) < b$$$ 를 만족한다.
항상 양의 기울기를 가지면서 단조 증가한다, $$$a>b \rightarrow f(x) > f(b)$$$
- 시그모이드 함수의 종류로는 로지스틱 함수, 하이퍼볼릭탄젠트 함수, 오차 함수 등이 있다.
- 로지스틱 함수
$$$logistic(z) = \dfrac{1}{1+\exp{(-z)}}$$$
- 하이퍼볼릭탄젠트 함수
$$$\tanh(z) = \dfrac{\sinh{z}}{\cosh{z}} = \dfrac{\dfrac{(e^z-e^{-z})}{2} }{\dfrac{(e^z+e^{-z})}{2}}$$$
- 오차 함수
$$$erf(z) = \dfrac{2}{\sqrt{\pi}} \int_0^z e^{-t^2}dt$$$
- 아래 로지스틱 회귀모형에서 출력값 $$$\pi_i$$$ 와 입력값 $$$x$$$ 의 관계는 S형태의 비선형이다. 단, 로지스틱 회귀모형은 선형 모형임을 주의한다. (로지스틱 회귀에서 odds 와 예측 확률 y의 관계가 비선형임)
- Linear models, such as logistic regression and linear regression, are appealing because they may be fit efficiently and reliably, either in closed form or with convex optimization. Linear models also have the obvious defect that the model capacity is limited to linear functions, so the model cannot understand the interaction between any two input variables. 출처 : Ian Goodfellow, Yoshua Bengio, Aaron Courville - Deep Learning (2017, MIT)
- Logistic regression is indeed non linear in terms of Odds and Probability, however it is linear in terms of Log Odds. 출처 : https://stats.stackexchange.com/a/365427
$$$\pi_i = \dfrac{\exp{(\beta_0+\beta_1x{1i}+\beta_2x{2i}+\cdots+\beta_px{pi})}}{1+\exp{(\beta_0+\beta_1x{1i}+\beta_2x{2i}+\cdots+\beta_px{pi})}}$$$, $$$i=1,\cdots,n$$$
- 아래 방정식으로 표현된, 입력변수와 로그오즈비의 관계는 직선이다
$$$\log{ \left( \dfrac{\pi_i}{1-\pi_i} \right) } = \beta_0 + \beta_1x_{1i} + \beta_2x_{2i} + \cdots + \beta_px_{pi} + \epsilon_i$$$
3-2. 로지스틱 함수 유도
- 확률 $$$\pi$$$ 를 가정한다. 이 값은 0부터 1까지 연속값을 갖는다.
- Odds ratio 는 아래와 같이 정의된다. 이 값은 0부터 양의 무한대까지 연속값을 갖는다.
Odds ratio = $$$\dfrac{\pi}{1-\pi}$$$
- Log odds ratio 는 아래와 같이 정의된다. 이 값은 음의 무한대부터 양의 무한대까지 연속값을 갖는다. 이것은 출력이 음의 무한대에서 양의 무한대인 로짓 함수 (logit function) 로 부를 수 있다.
z = log odds ratio = logit($$$\pi$$$) = $$$\log{\left( \dfrac{\pi}{1-\pi} \right)}$$$
- 로짓함수의 역함수를 구하면, 이는 로지스틱 함수가 된다. 음의 무한대에서 양의 무한대로 정의된 입력값을 0과 1사이의 값으로 변환해 주는 함수이다.
$$$logistic(z) = \dfrac{1}{1+\exp{(-z)}}$$$
4. 로지스틱 회귀 모형의 회귀계수 추정
- 아래의 로지스틱 회귀 모형에서 회귀계수는 선형회귀 모형에서 사용했던 최소 제곱법으로 추정할 수는 없고, 최대우도추정법 (MLE, Maximum Likelihood Estimation) 에 의해 추정 할 수 있다.
$$$P(Data|\beta) = P(x_1,x_2,\cdots,x_n|\beta)$$$ 일 때,
$$$\hat{\beta}_{MLE}^* = \arg_{\beta}\max P(Data|\beta)$$$
- 최대우도추정법은 편미분을 사용한 대수적 방법이나, 대수적 방법이 부적합한 경우 뉴턴랩슨 방법과 같은 수치적 방법을 사용할 수 있다.
- 추정된 회귀계수로 로지스틱 회귀 모형을 아래와 같이 표현 할 수 있다.
$$$\hat{\pi}_i = \dfrac{\exp{(\hat{\beta}_0 + \hat{\beta}_1x_{1i} + \cdots + \hat{\beta}_px_{pi})}}{1+\exp{(\hat{\beta}_0 + \hat{\beta}_1x_{1i} + \cdots + \hat{\beta}_px_{pi})}}$$$, $$$i=1,\dots,n$$$
또는, $$$\log{ \dfrac{\hat{\pi}_i}{1- \hat{\pi}_i}} = \hat{\beta}_0 + \hat{\beta}_1x_{1i} + \cdots + \hat{\beta}_px_{pi}$$$, $$$i=1,\dots,n$$$
5. 로지스틱 회귀 모형 해석
5-1. 회귀 계수 해석
- 로그오즈비로 표현된 아래의 로지스틱 회귀 모형은 종속변수와 독립변수간에 선형 관계를 갖는다. 따라서, 아래 식에서 회귀 계수 $$$\beta_j$$$ 는 다른 입력변수들을 보정 (고정) 했을 때, 성공 (Y=1) 의 로그오즈에 미치는 $$$x_j$$$ 의 효과를 의미한다.
$$$\log{ \dfrac{\hat{\pi}_i}{1- \hat{\pi}_i}} = \hat{\beta}_0 + \hat{\beta}_1x_{1i} + \cdots + \hat{\beta}_px_{pi}$$$, $$$i=1,\dots,n$$$
- 회귀계수 $$$\beta_j$$$ 가 양수라면, $$$x_j$$$ 가 증가할 때, 성공 확률 $$$\pi$$$ 와 로그오즈비 $$$\log{( \dfrac{\pi}{1-\pi} )}$$$ 도 증가하고, $$$\beta_j$$$ 가 음수라면, $$$x_j$$$ 가 증가할 때, 이들은 감소한다고 해석한다.
- 실제적으로 연구에서 많이 사용되는 방식은 아래의 방식인데, 다른 입력 변수가 일정할 때, $$$\exp(\beta_i)$$$ 는 $$$x_j$$$ 가 한 단위 변동할 때, 오즈비 (odds ratio) 에 미치는 기여도를 의미한다. $$$\exp(\beta_i)$$$ = 1 을 기준으로 이 값이 1보다 크면 클 수록 odds ratio 에 더 강하게 positive 영향을 주는 것이고, 1보다 작으면 작을 수록 odds ratio 에 더 강하게 negative 영향을 준다고 해석한다. 단, 회귀계수가 통계적으로 유의해야한다. (일반적으로 p-value<0.05)
5-2. 변수의 중요도
- j번째 입력변수 $$$x_j$$$ 에 대하여, 이 변수의 중요도 z값은 다음과 같이 정의된다.
$$$z_j=\dfrac{\hat{\beta}_j}{SE(\hat{\beta}_j)}$$$
$$$SE(\hat{\beta}_j)$$$ 는 j번째 회귀계수의 추정치인 $$$\hat{\beta}_j$$$ 의 표준오차이다
5-3. 모형의 적합도
5-3-1. 이탈도 (deviance)
- 이탈도는 어떤 모형 M의 최대로그우도 $$$\log{(L_M)}$$$ 에서 포화모형 S의 최대로그우도 $$$\log{(L_S)}$$$ 를 뺀 것에 -2를 곱한 값으로 정의된다.
$$$Deviance = -2 [\log{(L_M)}-\log{(L_S)}]$$$
- 포화모형이란 각 관측에 모수를 하나씩 사용한 (아래 그림과 같이 모든 포인트를 모형이 모두 지나침) 완벽한 모형을 의미한다.
- 이탈도가 클 경우, 포화모형과 비교하여 해당모형은 적합하지 않다고 평가 할 수 있다.
5-3-2. AIC (Akaike Information Criterion)
- 입력변수의 수가 다른 모형들을 비교 평가할 때 사용되며, 아래와 같이 정의된다.
$$$AIC = -2\log{(L_M)}+2p$$$
- AIC 는 작은 값일 수록 좋은 모형을 반영하며, $$$L_M$$$ 은 모형 M에 대한 우도함수에서 최대값이고, p는 모수의 개수이다.
- 데이터를 잘 설명하는 모형일 수록 우도함수는 큰값을 갖고, $$$-2\log{(L_M)}$$$ 항은 비례해서 값이 작아진다.
- 2p 항을 둠으로써, 변수의 개수를 늘릴 때, AIC 가 커지도록 패널티를 준다.
6. 모형을 통한 예측
- 임의의 객체 $$$i^*$$$ 에 대하여, 입력변수의 값 $$$x_{1i^*}, x_{2i^*}, \dots, x_{pi^*}$$$ 을 로지스틱 회귀 모형에 대입하면 성공 확률의 예측값 $$$\hat{\pi_{i^*}}$$$ 를 얻을 수 있다.
$$$\hat{\pi_{i^*}} = \dfrac{\exp(\hat{\beta}_0 + \hat{\beta}_1x_{1i^*} + \dots + \hat{\beta}_px_{pi^*})}{1+\exp(\hat{\beta}_0 + \hat{\beta}_1x_{1i^*} + \dots + \hat{\beta}_px_{pi^*})}$$$
- 예측된 확률은 0과 1사이의 값으로 산출되며, 특정 임계치 $$$\pi_0$$$ 를 기준으로 이진화 할 수 있다.
$$$\hat{y}_{i^*} = \begin{cases} 1, & \hat{\pi}_{i^*} > \pi_0 \\ 0, & \hat{\pi}_{i^*} \le \pi_0 \end{cases}$$$
- 임계치 $$$\pi_0$$$ 는 대략 0.5 를 사용하지만, 적용 분야나 데이터에 따라 달라질 수 있으며, 연구에서는 보통 ROC 커브를 그려서 sensitivity 와 specificity 의 균형정도를 시각적으로 확인하고, 아래와 같이 정의된 youden's index 방법으로 최적의 임계치를 산출해 사용한다.
$$$\pi_0^* = \arg_{\pi_0}\max(\text{True Positive Rate} - \text{False Positive Rate})$$$
또는, $$$\pi_0^* = \arg_{\pi_0}\max(sensitivity + specificity - 1)$$$
7. 성능 지표
- 정오분류표 (confusion matrix), accuracy, sensitivity, specificity, precision, f1 score, ROC AUC 등을 산출해 본다.
- 연구에서는 주로 ROC AUC, sensitivity, specificity 등을 사용한다.
8. 범주형 입력변수 처리
- 어떤 변수 X가 서울, 경기, 인천 이라는 값을 가지는 변수라고 할 때, 2개의 가변수 (K개의 범주일 때, K-1개 가변수 사용) 을 생성해서 입력변수로 사용한다.
- 가변수 처리를 해주는 이유는, 서울, 경기, 인천 이라는 데이터는 문자형이라 연산을 할 수 없고, 서울, 경기, 인천을 1, 2, 3 과 같이 숫자로 표현하더라도 순서가 의미없기때문에 연산을 하는 것이 적합하지 않기 때문이다.
- 가변수 처리 전
나이 | 지역(X) | 고혈압여부(Y) |
---|---|---|
59 | 서울 | 1 |
42 | 서울 | 0 |
21 | 인천 | ... |
35 | 경기 | 0 |
- 가변수 처리 후
나이 | 지역(서울) | 지역(경기) | 고혈압여부 |
---|---|---|---|
59 | 1 | 0 | 1 |
42 | 1 | 0 | 0 |
21 | 0 | 0 | ... |
35 | 0 | 1 | 0 |
9. 모형 구축을 위한 변수 선택
9-1. 변수 선택 (feature selection)
- 후진 소거법
- 전진 선택법
- 단계적 선택법
- 유전 알고리즘
9-2. 변수 추출 (feature extraction)
9-2-1. 매니폴드 고려하지 않음
- 주성분 분석
9-2-2. 매니폴드 고려
- ISO MAP
- LLE
- t-SNE
- 오토 인코더
https://m.blog.naver.com/pmw9440/222001218822
https://datascienceschool.net/03%20machine%20learning/10.01%20%EB%A1%9C%EC%A7%80%EC%8A%A4%ED%8B%B1%20%ED%9A%8C%EA%B7%80%EB%B6%84%EC%84%9D.html
+ 이나스AI에는 인공지능 관련 다양한 강의가 있습니다.
- Object detection, Text To Speech, Reinforcement learning, OCR, Chatbot, Time series prediction,
- Meta learning, eXplainable AI, Transformer/BERT/GPT, Graph-based ML, etc
- 소스코드, 다이어그램 및 중간데이터에 기반하여 인공지능 알고리즘들의 작동원리와 구조를 이해하기 쉽고 정확하게 설명합니다.
+ 작업할 때 켜놓는 라이브 스트리밍 study with me 채널도 운영하고 있습니다.
댓글
댓글 쓰기