오답노트
[ML] 로지스틱 회귀(Logistic Regression) 본문
Logistic Regression
시그모이드 함수라고도 불려진다.
회귀는 수치형 데이터를 예측하는 사용하지만, 로지스틱 회귀는 범주형 데이터를 예측하는데 사용된다.
선형회귀는 데이터를 가장 잘 표현하는 직선을 찾는 것이다. 하지만 0,1 과 같은 값만 존재한다면 선형회귀로는 데이터를 예측할 수 없다. 하지만 0 또는 1로 수렴하는 함수를 만들면 이러한 문제를 해결할 수 있다.

(출처 : https://odsc.medium.com/logistic-regression-with-python-ede39f8573c7)
승산 (Odds Ratio)
승산은 사건이 일어날 가능성 대 사건이 일아나지 않을 가능성의 비다.
예를 들어 일어날 확률이 80% 라면 승산은 0.8(일어날 확률) / 0.2(일어나지 않을 확률) = 4 이다
일어날 확률을 계속 줄이면 어떻게 될까?
일어나지 않을 확률을 계속 늘리면 어떻게 될까?
1 / 999999 ... = 0
0에 근사한 값을 가지게 된다.
즉 승산은 0 ~ 무한대 의 범위를 갖게된다.
로그 승산 (Log-odds)
승산에 로그를 취하면 어떻게 될까?
로그 함수를 먼저 살펴보자

로그 함수는 0으로 수렴할 수록 무한대가 되는 성질을 가지고 있다.
승산에 로그를 취한다면, 로그 승산은 -무한대 ~ 무한대 의 범위를 가지게 된다.
선형회귀와 같이 -무한대 ~ 무한대 범위를 가지게 된다.
우리는 지금 승산과 로그 승산을 통해
0 ~ 1 에서 -무한대 ~ 무한대 범위를 가지도록 만들었다.
그렇다면 반대로
-무한대 ~ 무한대 에서 0 ~ 1 범위를 가지도록 만들 수 있다는 의미다.
수학식

로지스틱 회귀의 수학식을 표현하면 위와 같다.
f(x)는 선형 판별식이다. 즉 선형회귀에서 수식이 로지스틱 회귀에 영향을 준다는 의미이다.
예를 들어 f(x) = w0 + w1 * x1 - w2 * x2 라고 할때
변수 x1 이 증가하면 예측 값은 1에 가까워 진다.
변수 x2 가 증가하면 예측 값은 0에 가까워 진다.
로지스틱 회귀는 이렇게 선형회귀의 계수들로 어떻게 영향이 끼치는지 해석할 수 있다.
'Python > ML' 카테고리의 다른 글
[ML] 로지스틱 회귀 모델링 - LogisticRegression (0) | 2022.08.23 |
---|---|
[ML] 범주형 데이터 모델 평가 방법 (0) | 2022.08.23 |
[ML] KNN - KNeighborsRegressor (0) | 2022.08.23 |
[ML] KNN (K-Nearest Neighbors) (0) | 2022.08.23 |
[ML] 선형회귀 (Linear Regression) (0) | 2022.08.22 |