히비스서커스의 블로그

[기계학습 4강] Naive Bayes and Logistic Regression 본문

Theory/Machine Learning

[기계학습 4강] Naive Bayes and Logistic Regression

HibisCircus 2021. 4. 16. 22:32
728x90

 내용들은 edwith(KAIST Open Online Course)의 인공지능 및 기계학습 개론 1 Chap. 4강 내용을 기반으로 재구성하였음을 먼저 밝힙니다.

 

 

우리는 앞서 Naive Bayes Classifier와 Logistic Regression classifier 를 살펴보았다. 이 둘 사이의 관계를 이번 시간에 알아보도록 하자. 먼저 Naive Bayes를 Logistic Regression으로 근사시키는 방법을 알아보고, 후에 Naive Bayes와 logistice Regression을 비교해보자.

 

 

Naive Bayes to Logistic Regression


Naive Bayes의 Classifier Function는 범주형 Feature들에 대해서 다루었을 때 Feature들이 독립이라는 가정 하에 다음과 같이 나타낼 수 있었다.

 

$f_{NB}(x) = argmax_{Y=y} P(Y=y) \prod_{1 \leq i \leq d} P(X_i = x_i | Y = y)$

 

Logistic Regression이 연속적인 Feature들에 대해서 적용된다는 것을 고려한다면 Naive Bayes에서도 Feature가 연속형 확률변수일때를 고려해보자. 이때, 평균이 $\mu$이고, 분산이 $\sigma$인 정규분포를 따른다고 가정하겠다. 이를 표현하면

 

$P(X_i | Y, \mu, \sigma) = \frac{1}{\sigma \sqrt{2 \pi} e^{-\frac{(X_i - \mu)^2}{2 \sigma^2}}}$

 

과 같이 나타낼 수 있다. 추가적으로 

 

$P(Y = y) = \pi_1$

 

로 나타낸다면 우리는 위 Naive Bayes의 Classifier Function을 다음과 같이 나타낼 수 있다.

 

$f_{NB}(x) = P(Y) \prod_{1 \leq i \leq d} P(X_i | Y) = \pi_k \prod_{1 \leq i \leq d} \frac{1}{\sigma_{k}^{i} C} exp(-\frac{1}{2} (\frac{X_i - \mu_{k}^{i}}{\sigma_{k}^{i}})^2)$

 

 

이제 Naive Bayes 가정 하에 $P(Y = y | X)$ 식을 전개해보자.

 

 

여기서 위에서 구한 feature들이 정규분포를 따를 때를 대입해주면 

 

 

이제 더 이상 전개가 어려울 듯 한데 하나 가정을 해보겠다. 바로 $Y=y$일 때의 X들의 분산 $\sigma_{1}^{i}$와 $Y=n$일 때의 X들의 분산 $\sigma_{2}^{i}$이 동일하다는 등분산 가정이다.

 

과 같이 되는데 지수의 표현이므로 분모에 역수를 해주면 안의 식이 음의 항으로 바뀌며 아래와 같이 된다.

 

 

최종적으로 얻은 식이 Logistic Regression을 위한 Classifier와 동일해졌다. 따라서, feature들이 연속적인 변수일 때 Naive Bayes 가정과 등분산 가정을 통해 Naive Bayes classifier가 Logistic Regression classfier에 근사될 수 있음을 밝힌 것이다.

 

 

 

그렇다면 Naive Bayes와 Logisitc Regression에는 어떤 차이가 있는 것일까?

 

 

 

Naive Bayes VS Logistic Regression


Naive Bayes classifier의 추정함수는 다음과 같았다.

 

$P(Y|X) = \frac{1}{1 + exp(- \frac{1}{2(\sigma_{1}^{i})^2} \sum_{1 \leq i \leq d} \left \{ 2(u_{2}^{i} - u_{1}^{i})x_i + \mu_{1}^{2i} - \mu_{2}^{2i} \right \} + log \pi_2 - log \pi_1)}$

 

이때 가정했던 사항들은 다음과 같았다.

  • Naive Bayes 가정을 하였고, class들 간에 등분산 가정을 하였다. 
  • $P(X|Y)$에 대하여 정규분포를 따른다(Feature들이 연속형 변수를 가진다)고 가정하였다.
  • $P(Y)$에 대하여 베르누이 분포를 따른다(Class의 결과가 둘 중 하나의 결과인 범주형이다)고 가정하였다.

또한, 추정을 위한 파라미터의 수는 다음과 같았는데 

 

2X2Xd + 1 = 4d + 1

 

이는 feature의 수가 d개 인데 필요한 모수($\mu, \sigma$)가 2개이고 이를 각각의 class(총 2개)에 대해서 적용해주어야 하므로 4d가 된다. 여기에 Prior 즉, $P(Y=y)$가 두 개 ($\pi_1, \pi_2$)인데 이는 베르누이 시행에서는 $\pi_1 + \pi_2 = 1$이므로 한 개가 정해지면 나머지는 자동으로 정해지기에 1을 더해준다.  따라서 최종적으로 $4d+1$개가 된다.

 

 

 

Logistic Regression classifier의 추정함수는 다음과 같았다.

 

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

 

이때 가정한 것은 단 하나로 로지스틱 함수에 fitting 하였다는 것이다.

 

 

또한, 추정을 위한 파라미터의 수는 다음과 같았는데

 

d+1

 

이는 feature의 수 d 개에 바이어스 텀 1개를 붙여준 것이다.

 

 

 

이렇게만 본다면 가정사항도 적고 파라미터의 수도 적게 필요한 Logistic Regression classifier가 Naive Bayes classifier보다 무조건적으로 좋아보인다. 하지만 항상 그렇다고 할 수 없는데 Naive Bayes classifier는 사전정보 (Prior)를 포함할 수 있었다는 장점이 있기 때문이다. 즉, 우리가 조작할 수 있는 부분들이 Naive Bayes classifier에 더 많이 존재하는 것이다.

 

 

사실 Logistic Regression classifier와 Naive Bayes classifier를 비교한 것은 Generative-Discriminative pair를 도식화한 것에 하나의 예이다. Generative-Discriminative pair란 무엇인지 살펴보자.

 

Generative-Discriminative Pair


Generative model에서의 추정함수는 아래와 같다.

 

$P(Y|X) = \frac{P(X, Y)}{P(X)} = \frac{P(X|Y)P(Y)}{P(X)} $

 

데이터로부터 $P(Y|X), P(Y)$의 파라미터를 추정하는 것이다. 특징을 더욱 살펴보자면

  • 베이지안 공식을 활용한다.
  • 사전정보(Prior)를 활용한다.
  • 결합확률분포(joint probability)를 모델링한다.

대표적인 예로 위에서 살펴본 Naive Bayes classifier가 있다.

 

 

 

Discriminative model의 추정함수는 다음과 같다.

 

$P(Y|X)$

 

관측된 변수들의 분포모델이 필요하지 않다. 즉, 데이터로부터 $P(Y|X)$의 파라미터를 직접 추정한다. 특징은

  • 조건부 확률(conditional probability)을 모델링한다.

 대표적인 예로 위에서 살펴본 Logisitic Regression classifier가 있다.

 

 

 

-히비스서커스-

728x90