본문 바로가기

ML & AI

Logistic Regression 에서의 Regularization

머신러닝 초보자인 나는 지금 introdution to Machine Learning with Python이라는 책을 보고 있다.

책을 보던 중 지도학습 파트의 선형 이진 분류기 부분에서, Logistic Regression 과 SVM 내용이 나오는데, 여기서 

regularization 의 개념이 나온다. 

 

물론 Lasso 와 Ridge regression에서의 regularization의 개념은 배운 바 있지만, 

Logistic Regression에서의 규제는 어떻게 적용하는지 들어본 바 없었다.

 

로지스틱 회귀에서의 규제항?





로지스틱 회귀를 자세히 봐보자.

 

GLM 구성요소에 따라 이를 분석해보면,

 

  • Random Component : Y ~ B(P) -> y는 확률이 p인 이항분포를 따른다.
  • Systemic Component : 성공확률 p와  Regressor의 선형결합 Bo + B1X1 + B2X2 + .......... 사이의 연관성 존재
  • Link Function : Logit(p) =  Bo + B1X1 + B2X2 + .......... 

 

이 때, 회귀계수 Bo, B1, B2 ,,, 는 maximum likelihood estimation 에 의해 추정된다.

 

 

사실. Regularization의 원리는 Ridge, Lasso의 그것과 완전히 동일하다. 즉, 

 

Cost function + Regularizaton 이 가장 작아지도록 하는 Coefficient를 찾아내면 된다.

 

그럼 Logistic Regression에서의 Cost Function만 알면 궁금증 해결이다. 

 

$$  P(Y = (y_1, y_2, y_3,......) = \pi^{y_1 +.. + y_k} x (1-\pi)^{1-y_1 + .. 1-y_k} $$

 

양변에 로그를 취하면, Log Likelihood Function을 구할 수 있다.

 

$$ Log likelihood = \sum_{k = 1}^N Y_i log(\pi / {1 - \pi}) + Nlog(1- \pi) $$ 

 

이 때, Log likelihood를 최대로 만드는 Coefficients 를 구하면 된다.

 

이를 비용함수로 사용하기 위해서 음의 부호를 곱해주자 (이래야지 Cost function이 최소가 될 때 조건 충족)

 

$$ Cost function =  -Log likelihood = - \sum_{k = 1}^N Y_i log(\pi / {1 - \pi}) - Nlog(1- \pi) $$

 

즉 우리가 구하는 Regularization이 추가된 Logistic Regression은 

 

 

$$  -\sum_{k = 1}^N Y_i log(\pi / {1 - \pi}) - Nlog(1- \pi)   +  Regularization $$