[Deep Learning] Classification 모델의 종류를 살펴보자.

Robert Lee·2021년 10월 5일
1

Deep Learning

목록 보기
4/5

🔊 목차

본격적인 분류 모델 이해에 앞서 Classification 종류에 대해 알아보자.

이 글은 모델 설계에 도움이 될 것이다.

  • Binary Classification
  • Multi-Class Classification
  • Multi-Label Classification

😃 분류 모델의 이해

우리는 목적에 따라 분류 모델을 설계해야 한다.

분류 모델은 크게 세가지로 나뉜다.

  • Binary Classification

  • Multi-Class Classification

  • Multi-Label Classification

위 모델들 구현시에 통계적 이론에 차이가 존재한다.


즉 우리는 목적에 맞는 Classification 을 찾고

그에 알맞은 이론을 구현해야 할 것이다.


더불어 이 글에서는 이미지 분류 모델을 중심으로 설명할 예정이지만

분류 문제는 이미지 분야에 한정되어 있는 건 아니다.

❝ 캐글의 타이타닉 생존자 예측 대회에 대해 들어본 적이 있는가 ? ❞

이는 둘 중 하나로 예측하는 이진 분류 Binary Classification 를 다룬다.


이를 통해 우리는 알 수 있다.

❝ Binary / Multi-Class / Multi-Label 분류는 머신러닝에서도 사용될 수 있는 개념이다. ❞


이제 각각 모델의 Use-Case 를 살펴보도록 하자.


⭐ Binary Classification

❝ 고양이와 강아지 사진을 분류할 수 있을까 ? ❞

출처 - flixstock.com

우리는 위 물음에 Yes 라고 말할 수 있다.

왜냐하면 두가지 중 하나로 예측하기 위한 모델이 존재하기 때문이다.


Binary Classification 은 예측 범위 Class 가 두가지인 경우에 사용된다.

그렇다면 우리가 수집한 훈련 데이터셋의 Class 도 반드시 2 개여야 한다.


훈련 데이터셋 = {
    이미지 1 : '고양이',
    이미지 2 : '강아지',
    이미지 3 : '강아지',
}

우리는 <고양이, 강아지> 훈련 데이터셋으로 모델을 학습시켰다.

그리고 호랑이 이미지를 넣어 예측을 해보자.

❝ 어떤 결과가 나올까 ? ❞

우리는 ❝ 호랑이야. ❞ 라고 예측을 하거나

❝ 고양이와 강아지가 아니다. ❞ 로 예측하길 바랄 것이다.


아쉽게도 <고양이 또는 강아지> 중 하나로 예측을 한다.

무조건 둘 중에 하나로 예측을 한다.

❝ 그럼 왜 사용하는 거야 ? ❞

우리 주변에는 생각보다 둘 중에 하나인 경우가 많다.

아래 예시를 보자 :

  • 적격 - 부적격
  • 합격 - 불합격
  • 스팸 - 햄
  • 고양이 - 고양이가 아닌 것

❝ 그래서 특별히 이진 분류가 있다. ❞

그치만 <고양이, 강아지, 호랑이> 중 하나로 분류를 하고 싶다면

Multi-Class Classification 모델을 구현해야 한다.


⚡ Multi-Class Classification

출처 - national geographic

❝ 고양이, 강아지, 호랑이 중에 하나로 분류를 하고 싶다. ❞

또는

❝ 고양이, 강아지, 호랑이, 사자, 돼지 중에 하나로 분류를 하고 싶다. ❞

첫번째는 3 개의 Class 로 둘째는 5 개의 Class 로 분류하고 싶은 경우이다.


Multi-Class Classification 는 분류하고자 하는 Class3 개 이상인 경우에 사용한다.


❝ Multi-Class 분류에서 데이터셋은 어떻게 구성해야 할까 ? ❞

만약 <강아지, 고양이, 호랑이> 분류 모델을 만들고 싶다면

훈련 데이터셋 = {
    이미지 1 : '고양이',
    이미지 2 : '강아지',
    이미지 3 : '호랑이',
    이미지 4 : '고양이',
    이미지 5 : '강아지',
    이미지 6 : '호랑이'
}

<강아지, 고양이, 호랑이> 사진을 1:1:1 로 수집하면 되고

<강아지, 고양이, 호랑이> 에 대해서는 틀림없이 좋은 성능을 낼 것이다.


그러나 문득 이런 생각이 든다.

❝ 한장의 사진에 고양이와 강아지가 같이 있다면 ? ❞

이런 질문은 대답하기가 쉽지 않다.

❝ 둘 중 하나로 나오지 않을까 ? ❞

이 때 우리는 Multi-Label Classification 을 하면 된다.


🌞 Multi-Label Classification

Multi-ClassMulti-Label 은 이름도 비슷하다.

❝ 굳이 모델을 나눈 이유가 있을까? ❞

우리는 다음과 같은 애매한 상황에 처할 수 있다.

출처 - petbacker.com

❝ 한장의 사진에 고양이와 강아지가 있다. ❞

그리고 <고양이와 강아지> 2 개로 예측하고 싶다.

이때 Multi-Label Classification 을 이용하면 된다.


다시 말해 Multi-Class 에서는 한장의 사진은 무조건 하나의 Class 로 예측되고

Multi-Class 는 두가지 이상의 Class 로 예측될 수 있다.


다만 <고양이와 강아지> 를 예측하기 위해서는

기존의 <고양이, 강아지, 호랑이> 훈련 데이터셋에

<고양이와 강아지> 사진을 합쳐서

Multi-Label Classification 에 학습시켜야 한다.


다음 포스트에서 Classification 설계 방법을 차근히 알아보도록 하자.

profile
Hi. Hello World.

0개의 댓글