-
Logistic Regression 정리머신러닝 2021. 10. 12. 11:06
로지스틱 회귀분석(Logistic Regression) 이란 데이터가 어떤 범주에 속할 확률을 0에서 1 사이의 값으로 예측하고 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류해 주는 지도 학습 알고리즘입니다.
쉽게 말하면, 선형회귀분석과 비슷한데 Y값이 확률로 되어 있기 때문에 하한, 상한이 [0, 1] 사이로 정해져 있습니다.
그리고 특정 threshold 값을 기준으로 삼아서 예측된 확률 값이 threshold 이상인 것과 미만인 것으로 분류를 하는 식입니다.
즉 1개 이상의 독립변수가 있을 때 이를 이용하여 데이터가 2개의 범주 중 하나에 속하도록 결정하는 이진 분류(binary classification) 문제를 풀 때 로지스틱 회귀분석을 많이 사용합니다.
로지스틱 회귀식은 다음과 같이 나타낼 수 있어요. 만일 종속변수가 0일 확률을 $P(y=0|x)$라고 한다면, 이를 구하는 식은 다음과 같습니다.
$LogOdds = log(\frac{P(y=0|x)}{1-P(y=0|x)}) = \beta_0 + \sum_{j=1}^{p}\beta_j x_j$
$Odds(Malignant) = \frac{P(Y=0|x)}{P(Y=1|x)} = \frac{P(Y=0|x)}{1-P(Y=0|x)} =\frac{0.2}{0.8} = 0.25$
위 값에 log를 취한 값을 $Log-odds$라고 부릅니다. 그런데 이 $Log-odds$의 형식이 맨 처음 나온 좌변의 식과 같지 않나요? 결국에는 이 $log-odds$라는 값을 선형회귀분석의 종속변수처럼 구하면 됩니다.
$log(\frac{P(Y=0|x)}{1-P(Y=0|x)}) = log(0.25) = \beta_0 + \sum_{j=1}^{p}\beta_j x_j$
위와 같은 식에 주어진 데이터를 이용하면, 주어진 데이터를 잘 설명하는 회귀계수(\beta) 값을 구할 수 있어요. 이렇게 로지스틱 회귀모델이 구성되는데, 이 회귀모델은 수식적으로 볼 때 $Log-odds$의 선형 회귀모델이라고 할 수도 있겠습니다.
그런데 실제로 우리가 원하는 값은 $log-odds$ 값일까요?
우리는 종속변수가 0일 확률, 1일 확률 자체를 원하는 것이지 $log-odds$ 자체의 값이 필요하지는 않답니다. 그래서 $log-odds$로부터 특정 범주에 속할 확률을 얻기 위해 $log-odds$의 식을 $P(Y=0|x)$에 대해서 다시 정리하게 되면,
$P(y=0|x) = \frac{exp({\beta}_0 + \displaystyle\sum_{j=1}^{p}{\beta}_{j}x_j)}{1+exp({\beta}_0 + \displaystyle\sum_{j=1}^{p}{\beta}_{j}x_j)}$
와 같은 식을 얻게 됩니다. $z = {\beta}_0 + \displaystyle\sum_{j=1}^{p}{\beta}_{j}x_j$라고 한다면, 식은 보다 간결하게 표현됩니다.
$P(y=0|x) = \frac{1}{1+exp(-z)}$
결국 Log-odds 값을 구한 다음, 이를 sigmoid function에 넣어서 0에서 1 사이의 값으로 변환해 주는 것입니다.
이 함수는 확률모델을 선형 회귀모델로 표현한 것이 아니라, 위 그래프에서 $z=0$인 지점을 중심으로 하여 두 범주 간 경계가 불명확해지는 $x$의 구간$(0.3<p<0.7)$을 최소화해 주기 때문에 분류모델의 분류 성능을 매우 향상시켜 줍니다.정리하자면, 로지스틱 회귀에서는 데이터가 특정 범주에 속할 확률을 예측하기 위해 아래와 같은 단계를 거칩니다.
- 실제 데이터를 대입하여 Odds 및 회귀계수를 구한다.
- Log-odds를 계산한 후, 이를 sigmoid function의 입력으로 넣어서 특정 범주에 속할 확률 값을 계산한다.
- 설정한 threshold에 맞추어 설정값 이상이면 1, 이하면 0으로 이진 분류를 수행한다.
'머신러닝' 카테고리의 다른 글
Logistic Regression [coursera 강의 정리] (0) 2021.10.05 Normal eqation coursera 강의 정리 (0) 2021.10.04 Linear regressor (선형회귀) Coursera 강의 (0) 2021.09.27