배워서 남 주자

AI/인공지능 및 기계학습 개론

[인공지능 및 기계학습 개론] 3.1 Optimal Classification

신라면순한맛 2022. 8. 20. 23:36

이번 포스팅에서는 Optimal Classification에 대해서 알아보도록 하겠습니다. 

 

http://www.edwith.org/machinelearning1_17/lecture/10585

 

[LECTURE] 3.1. Optimal Classification : edwith

- 신승재

www.edwith.org

 


 

기본적으로 Classifier는 측정값과 실제값의 차이를 최소화하여 misclassification 확률을 최소화 하려고 하죠. 즉, 아래의 식을 만족하는 $f^*$를 optimal classifier라고 합니다. $$ f^*\coloneqq\argmin_f P(f(X)\neq Y) $$ 이렇게 하게끔 하는 classifier는 여러 종류가 있을텐데, 그 중에서 Bayes Classifier란 input features $X\in\mathbb{R}^n$과 class label $Y\in\{1,\ldots,K\}$에 대해, 주어진 input $X=x$가 어느 class에 속할 때 가장 큰 확률을 갖는지를 알려주는 classifier입니다. $$ f^{\text{Bayes}}(x)\coloneqq\argmax_{y=1,\ldots,K} P(Y=y | X=x) $$ 이 때 Bayes theorem에 의하면 Bayes classifier가 maximize하려는 대상을 다음과 같이 써낼 수 있습니다.: $$ P(Y=y|X=x)=\frac{P(X=x|Y=y)P(Y=y)}{P(X=x)} $$ 따라서 이를 기준으로 Bayes Classifier를 다시 써보면 다음과 같습니다. 이 때 분모의 $P(X=x)$ term은 $y$에 대한 의존성이 없기 때문에 최대화 시키는 데 있어서는 무관한 값이라 없앤 것을 볼 수 있습니다.: $$ f^{\text{Bayes}}(x)=\argmax_{y=1,\ldots,K} P(Y=y | X=x)=\argmax_{y=1,\ldots,K} P(X=x | Y=y)P(Y=y) $$ 이렇게 분해 했을 때 강의에서는 $P(X=x|Y=y)$를 class conditional density라고 하고, $P(Y=y)$를 class prior라고 부르고 있습니다. 

 


 

끝으로 risk에 대한 얘기를 하며 아래 그림을 설명하시는데요.

 

 

Classification을 한다고 했을 때 nice하게 하는 방법이라면, 주어진 input에 대해 애매하게 구분하는게 아니라 확실하게 구분하는 것일 것입니다. 그런 의미에서 그림에서의 점선으로 분류를 하는 것보다는 실선으로 분류하는 것이 더 낫다고 할 수 있겠습니다. (하지만 이 말이 logistic regression이 항상 절대적으로 linear regression보다 좋다는 뜻은 아닙니다.)

 

그리고 위 그림에서 중간쯤에 한 점으로 모이는 부분이 있는데, 저 부분을 decision boundary라고 합니다. Decision boundary를 기준으로 왼쪽에서는 초록색을 따라 판별하는 것이 유리할 것이고, 오른쪽에서는 빨간색을 따라 판별하는 것이 유리할 것입니다.

 

더 나아가서 점선과 실선을 비교해보면, 왼쪽에서 초록색을 택한다고 했을 때 빨간색 점선과 실선 아래의 영역은 각각 error로써 작용하게 될텐데, 이 때 점선이 만들어내는 error 영역이 실선이 만들어내는 영역보다 더 큰 것을 알 수가 있습니다. 즉, 파란색 반달모양의 영역이 바로 두 classifier의 성능차이가 되는 것입니다. Optimal classifier라면 이러한 error를 최소화 하는 방향으로 설계가 될 것입니다. 

 


 

이번 포스팅은 여기서 마치고, 다음 포스팅에서 뵙겠습니다.