본문 바로가기

스터디

Logistic Regression(로지스틱 회귀)

- binomial 혹은 multinomial에 적용 가능한 확률론적 분류기(probabilitic classifier)

 

- 로지스틱 회귀는 시그모이드의 특별한 형태

$$f(x) = \frac{1}{1+e^{-x}} $$

 

 

- 로지스틱 회귀를 역함수 형태로 만들면 로짓 함수(logit function)이라 하며, 이는

$$f(x) = log(\frac{x}{1-x}) $$

로 표현함.

 

 

- linear regression에서 첫 항을 더미변수 1로 놓았을 때, $\hat {f(x)} = X\theta$로 표현함.

여기서, logistic regression을 위한 베르누이 분포의 pmf (우리가 궁극적으로 찾아야 할 식)는

$$P(y|x) = \mu (x)^y(1-\mu (x))^{1-y}$$ 임

 

한편, $\mu(x)$를 logistic function에 대입시키면

$$\mu(x) = P(y=1|x) = \frac{1}{1+e^{-\theta ^T x}} = \frac{e^{X\theta}}{1+e^{X\theta}}$$

 

 

- 여기서, $\mu(x)$를 linear regression에 의한 추정이 아닌 logistic function에 의해서 regression을 해보겠다고 시도하는 것이 logistic regression이 됨.

 

 

- MLE로 $\theta$를 찾아나감. 다만, Y는 input feacture X가 주어진 상태(given)에서 추정하는 것이므로 그냥 MLE가 아닌 MCLE(Maximum Conditional Likelihood Estimation)이 되고, 이를

$$ \hat \theta = argmax_{\theta}  \prod_{1\leq i \leq N} P(Y_i | X_i ; \theta) $$

로 표현함.

 

 

- 여기서 베르누이 pmf를 대입하여 식을 정리(로그를 씌우고 식을 정리한 뒤 $\theta$에 대해 미분하여 최적값을 찾아나감)하면, 최종형태는 

 

$$ \frac {\partial}{\partial \theta_j}\{{\sum_{1 \leq i \leq N}Y_iX_i\theta - log(1+e^{X_i\theta})}\} \\ = \sum_{1 \leq i \leq N}X_{i,j}(Y_i - \frac{e^{X_i\theta}}{1+e^{X_i\theta}}) \\ = \sum_{1 \leq i \leq N} {X_{i, j}(Y_i - P(Y_i=1|X_i;\theta))=0} $$

 

로 표현됨.

 

 

- 위의 식에서 $\theta$가 0이 되는 지점이 결국 $\theta$를 optimize 하는 것인데, $\theta$에 관해서 풀어내는 것이 쉽지 않다. (참고로, linear regression의 경우에는 $\theta = (X^TX)^{-1}X^TY)$로 $\theta$에 대해 딱 떨어짐)

따라서, $\theta$를 직접 계산하는 것이 아니라 방법을 우회하여 점점점점 approximation 하는 방향으로 진행하게 된다.

 

 

- 이 때 쓰이는 방법이 우리들이 흔히 알고 있는 Gradient Method(Gradient Descent/Ascent)

Gradient Method에 기존 스터디 자료가 있으므로 참고할 것(여기)

해당 자료는 간단한 개요

 

 

- Gradient Method를 위해 테일러 전개를 통해 실제 식을 근사한 식으로 표현한 뒤, 초기값($x_1$)을 잡고 방향벡터와 그 크기($x=x_1+h\textbf{u}$)를 가정 (h는 learning rate로 휴리스틱하게 잡는다)

$$f(x_1+h\textbf{u}) = f(x_1)+hf'(x_1)\textbf{u}+h^2O(1)$$

 

 

- 여기서, 뒤에 식은 Big-O notation관련 내용이며 별도로 정리하지 않음. h를 매우 작게 낮추면 뒤에 식은 제곱으로 커지므로 거의 없는셈 치는게 가능하므로,

$$f(x_1+h\textbf{u})-f(x_1) \approx hf'(x_1)\textbf{u}$$

로 정리됨.

 

- 위의 식에서 방향벡터 $\textbf{u}$를 조정하여 값을 낮추거나 높이는 방향으로 Gradient Method가 진행된다.

$$\textbf{u*} = argmin_u\{f(x_1+h\textbf{u})-f(x_1) \}$$

 

 

 

- NaiveBayes를 Logistic Regression으로 표현 후 비교한 것 정리