히비스서커스의 블로그

[기계학습 3강] Optimal Classification 본문

Theory/Machine Learning

[기계학습 3강] Optimal Classification

HibisCircus 2021. 4. 6. 01:08
728x90

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

 

 

 

Supervised learning은 실제 정답을 알고 있는 문제에 대해 모델이 정답을 잘 맞추도록 학습시키는 것이다. 이를 잘 평가하기 위해 Optimal Classification이라는 개념을 도입해보자.

 

 

Optimal Classification


먼저 확률변수 $X$와 $Y$만으로 이루어진 결합분포를 생각해보자. $X$를 Feature로 $Y$를 label이라고 보면 우리는 $X$가 주어졌을 때 우리의 모델이 예측한 값$f(X) = \hat{y}$이 실제 값$Y$이 아닐 확률을 최소화 시켜주고 싶다. 이를 식으로 나타내보자면,

 

$f^{*} = argmin_{f} P(f(X) \neq Y)$

 

이다. 

 

 

 

위의 그래프와 같이 Y의 값이 T, F와 같이 두 개의 class밖에 갖고 있지 않는 경우를 생각해보자. 이는 X가 특정값으로 주어졌을 때 Y가 틀린 값(G라고  하면)을 가지도록 최소화하는 확률은 Y가 실제값(F가 될 것이다.)을 가지도록 최대화하는 확률과 같다. 이를 식으로 나타내보자면,   

 

$f^{*}(x) = argmax_{Y = y}P( Y=y | X=x )$

 

이다.

 

 

 

 Detour : Thumbtack MLE and MAP


MLE에서는 관측된 값만 활용하여 $\theta$를 추정하였다.

 

$\theta = argmax_{\theta} P(D | \theta)$

 

  • $P(D|\theta) = \theta^{a_{H}}(1-\theta)^{a_{T}}$
  • $\hat{\theta} = \frac{a_{H}}{a_{H} + a_{T}}$

 

MAP에서는 사전확률도 고려하여서 $\theta$를 추정하였다.

 

$\theta = argmax_{\theta} P(D | \theta)$

 

  • $P(\theta | D) \propto \theta^{a_{H} + \alpha -1}(1-\theta)^{a_{T} + \beta -1}$
  • $\hat{\theta} = \frac{a_{H} + \alpha -1}{a_{H} + \alpha + a_{T} + \beta -2}$

 

 


우리가 배운 MLE와 MAP의 개념을 어떻게 Classifier에 적용할 수 있을까?


 

 

Optimal Classification and Bayes Risk


위의 그림에서 Decision Boundary라는 개념과 Bayes risk라는 개념을 도입해보자.

 

우리의 모델은 X가 바뀜에 따라 Y를 예측하는 확률은 변할 것이다. 아래 그림과 같이 X가 작은 값을 가질 경우 Y는 초록색 y값으로 예측할 확률이 더 높다가 어느 지점이 지나고 나면 Y는 빨간색 y값으로 예측할 확률이 더 높아질 것이다. 이 지점을 Decision Boundary라고 한다.

 

또한, X가 작은 값을 가질 경우에도 모델은 Y를 빨간색 y로 예측할 확률이 존재한다. 이를 Bayes Risk라고 한다. 우리는 Bayes Risk가 작아지게 하는 모델을 구축하고 싶다. 점선으로 예측하는 모델보다는 실선으로 예측하는 모델이 Bayes Risk가 더 작기 때문에 점선과 같은 모델보다는 실선과 같은 모델을 구축하고 싶은 것이다.

 

 

 

곡선과 같이 더 좋은 성능으로 예측하는 모델을 만드는 것은 Logistic Regression에 대해 배울 때 자세하게 배울 것이다.  이번에는 성능이 어떻든지 상관없이 확률밀도함수를 통해서 분류해낼 수 있는 모델을 만드는 것에 대해 살펴볼 것이다.

 

 

 

Learning the Optimal Classifier


위의 식을 다시 살펴보자.

 

$f^{*} = argmax_{Y=y} P(Y=y | X=x)$

$=argmax_{Y=y} P(X=x | Y=y)P(Y=y)$, $\because Bayesian Theorem$ 

 

 

$P(Y=y)$ : Class Prior로 이에 대해서 MLE나 MAP를 통해 구할 수 있다.

$P(X=x | Y=y)$: Likelihood로 $Y=t$일 때 X의 확률과 $Y=f$일 때 X의 확률을 구할 수 있다.

 

 

하지만 여기서 X가 하나의 확률변수가 아닌 여러 개의 확률변수가 존재할 경우 이들 간의 상호작용과 조합이 생길 경우 X의 변수가 매우 많아지게 되는데 이를 해결할 수 있는 것이 Naive Bayesian Classifier이다.

 

 

 

 

-히비스서커스-

728x90