본문 바로가기
머신러닝 입문

[머신러닝 대회 입문] 분류? 회귀? Task란?

by 미역청 2025. 4. 12.

최근 패턴인식 과목에서 머신러닝 대회 팀플을 하고 있습니다.

2학년 과목(...)이라 그런가

본의 아니게 팀원분들을 제가 가르쳐가며 진행하는 중인데요,

가르치다보니 초보 분들의 입장에서 뭐가 어려운지를 알게 되더라구요.

 

오늘은 최근 들어온 질문 중 하나이자,

인공지능의 존재의의,

가장 중요한 Task에 관한 이야기를 해보겠습니다.

 

소개 - Task란 무엇인가?

인공지능 모델은 어떤 일을 할 수 있을까요?

 

역사적으로 무릇 위대한 지도자들은 인재의 장점을 파악하여 적재적소에 배치하는 능력이 매우 뛰어났다고 알려졌습니다.

아무리 뛰어난 도구를 갖고 있어도 그 잠재력을 이해하지 못했다면 제대로 활용할 수 없겠지요.

 

인공지능도 마찬가지입니다.

 

인공지능은 아주 강력한 도구이지만, 동시에 그 장점과 단점이 명확합니다.

따라서 인공지능이 가진 진가를 모두 발휘하기 위해선 인공지능이 무얼 할 수 있는가를 알 필요가 있습니다.

 

Task란, 인공지능 모델이 해결하고자 하는 문제의 유형입니다.

다시 말해, "이 모델이 무슨 일을 하려고 만들어졌는가?" 라는 질문에 대한 대답이지요.

 

Task의 시작 - 분류와 회귀

머신러닝이 다루는 대표적인 Task에는 분류회귀가 있습니다.

이 둘은 머신러닝의 오랜 숙명과도 같은 과제로,

모든 복잡한 task의 근간이자 현재까지도 수많은 곳에서 활용되는 개념입니다.

 

분류란, 어떤 데이터가 주어지면 이것이 주어진 카테고리 중 어느 곳에 해당하는지를 골라내는 일입니다.

대표적인 예시로는

  1. 사진을 보고 개인지 고양이인지 구별하기 (개 vs 고양이)
  2. 메일함에서 스팸 골라내기 (스팸 vs 정상메일)
  3. 타이타닉 탑승자의 생존여부 예측하기 (생존 vs 사망)
  4. 꽃 사진을 보고, 어떤 종인지 맞추기 (해바라기 vs 장미 vs 민들레 vs 붓꽃)
  5. 몸에 점을 보고 피부암인지 아닌지 골라내기 (피부암 vs 정상)

내 점이 피부암인지 아닌지 구별하는 방법.  최근에는 휴대폰으로도 피부암을 진단할 수 있는 경량화 모델도 개발되는 중입니다.

등이 있습니다.

각 예시에서, 예측할 때 주어진 선택지를 클래스(class)라고 합니다. 

즉 1, 2, 3, 5번은 2개의 클래스로 이루어져 있는 task,

4번은 4개의 클래스로 이루어져 있는 task가 되겠습니다. 

 

전통적인 머신러닝에서, 분류 task는 클래스의 개수가 2개보다 많냐/아니냐 에 따라 나뉩니다.

클래스의 개수가 2개일 때는 이진분류 (Binary Classification),

클래스의 개수가 2개보다 많을 때는 다중 분류 (Multiclass Classification)입니다.

 

한때 데이터 기반 접근을 하는 모델이 개발되기 이전에는

머신러닝 모델이 영원히 개/고양이 분류 task를 수행할 수 없다는 전망도 나왔었는데요,

이제는 개/고양이 분류는 당연히 가능하고,

오히려 피부암 분류 같은 일부 task에서는 모델이 인간보다 높은 정확도를 보이기도 한답니다.

 

 

회귀란, 어떤 데이터가 주어졌을 때, 이걸 토대로 연속적인 수치를 예측하는 일입니다.

대표적인 예시로는

  1. 영화 관람객수 예측 (예: 17만명, 100만명, 5,723명 ...)
  2. 아파트 집값 예측 (예: 3억원, 20억원, 12억 4천만원...)
  3. 당뇨병에 걸릴 확률 예측 (예: 25%, 7.6%, 80% ... )

등이 있습니다. 

회귀는 '머신러닝'이라는 단어가 생기기도 훨씬 전인 19세기 초에

수학자 가우스와 라그랑주가 천문 데이터를 예측하며 만든, 아주 유서깊은 task랍니다.

 

더 복잡한 Task

현대에 들어서는 더 복잡한 task를 수행할 수 있는 방법이 많이 개발되었습니다.

덕분에 다중라벨분류(Multi-Label Classification), 객체탐지(Object Detection), 생성(Generative Task), 기계번역 등,

인공지능이 수행할 수 있는 task의 범위가 무궁무진하게 넓어지고 있지요.

 

그리고 이러한 발전은, 간단한 task를 변형 및 활용하는 데에서 시작되었습니다.

대표적인 예시가 다중 라벨 분류(Multi-Label Classification), 순서예측(Sequence Problem)입니다. 

 

다중 라벨 분류

다중 라벨 분류(Multi-label Classification) 란 하나의 데이터에서 여러 클래스를 동시에 예측하는 문제를 뜻합니다.

아래 사진에서 동물을 모두 분류해내는 task를 수행해보면, '개', '고양이', '인간'으로 나눌 수 있을 것입니다.

즉, 한 데이터당 하나의 라벨만 달릴 수 있었던 일반적인 분류 문제와 달리

한 데이터당 라벨이 여러 개 달릴 수 있습니다.

보통 다중라벨분류는 이진분류모델 여러 개를 병렬로 돌리는 형태로 구현됩니다. 

 

이 사진의 경우,

(개 있음 vs 개 없음) + (고양이 있음 vs 고양이 없음) + (사람 있음 vs 사람 없음)

= 총 3개의 이진분류모델을 병렬로 붙여 사용하면 되겠습니다.

 

순서예측

순서예측(Sequence Prediction)이란, 어떤 데이터가 순서대로 주어졌을 때, 그 다음 순서에 무엇이 올 지를 예측하는 문제입니다.

과거 10일간의 주가가 주어졌을 때 11일째 되는 날의 주가를 예측하는 등의 task가 그 예시입니다.

이 외에도 유명한 예시로는, GPT처럼 '말하는 모델'이 있습니다.

 

언어모델은 문장의 앞부분이 주어지면, 그 뒤에 올 단어를 계속해서 이어 예측하는 방법으로 말을 이어나갑니다.

예를 들어,

  1. "오늘 날씨는" 이 주어지면, 그 뒤로 "비가"를 예측합니다.
  2. "오늘 날씨는 비가" 가 주어지면, 그 뒤로 "올"를 예측합니다.
  3. "오늘 날씨는 비가 올"이 주어지면, 그 뒤로 "예정입니다"를 예측합니다.



도움이 되었다면 하트 눌러주세요 :)
구독하시면 더 많은 데이터사이언스 정보와 대회풀이를 보실 수 있습니다!