로지스틱 회귀는 회귀를 사용하여 데이터가 어떤 범주에 속할 확률을 0에서 1 사이의 값으로 예측하고 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류해주는 지도 학습 알고리즘이다.
로지스틱 회귀의 대표적인 예시로는 스팸 메일 분류기가 있다.
어떤 메일을 받았을 때 그것이 스팸일 확률이 0.5 이상이면 spam으로 분류하고, 확률이 0.5보다 작은 경우 ham으로 분류하는 것이다.
이렇게 데이터가 2개의 범주 중 하나에 속하도록 결정하는 것을 2진 분류(binary classification)라고 한다.
Linear Regression에서는 각 feature를 이에 상응하는 coefficient와 곱한 값과 intercept를 모두 더해 결과를 예측한다. Logistic Regression에서도 비슷한 방식을 사용하지만 log-odds를 계산한다.
우선 Odds는 특정 사건이 일어나는 횟수가 특정 사건이 일어나지 않는 횟수보다 얼마나 더 많은지를 의미하는 변수로 다음과 같이 계산할 수 있다.
만약 특정 학생이 시험에서 pass할 확률이 0.7이라면, pass하지 못 할 확률은 1 - 0.7 = 0.3
이고, 이 경우 odds를 다음과 같이 계산할 수 있다.
Odd는 0과 양의 무한대의 값을 범위로 갖는다. log-odds는 odds에 log를 취한 것입니다. (이때 로그는 자연로그 )
이로써 odds를 음의 무한대부터 양의 무한대까지의 범위를 갖는 log-odds를 계산할 수 있다.
Logistic Regression 모델에서, 우리는 아래와 같이 z
값으로 나타내지는 log-odds 값을 계산할 수 있습니다.
log(P(A)1−P(A))=z=b0+b1x1+b2x2+⋯+bnxnlog(\cfrac{P(A)}{1 - P(A)}) = z = b_0 + b_1x_1 + b_2x_2 + \cdots + b_nx_nlog(1−P(A)P(A))=z=b0+b1x1+b2x2+⋯+bnx**n