정보

지도학습 — 분류와 회귀

답을 알려 주고 가르치는 방법입니다.
무엇을 맞히게 하느냐에 따라 둘로 나뉩니다.

학습 목표

  1. 레이블이 무엇인지 설명하고, 지도학습을 레이블을 함께 주는 학습으로 정의할 수 있다.
  2. 분류와 회귀를 맞히려는 값이 범주인지 수치인지로 구별할 수 있다.
  3. 같은 데이터라도 무엇을 묻느냐에 따라 분류가 되기도 회귀가 되기도 함을 설명할 수 있다.
  4. 주어진 문제를 보고 분류와 회귀 중 어느 쪽인지 판단하고 그 근거를 말할 수 있다.

답을 붙여서 가르칩니다

기계학습은 데이터에서 규칙을 찾는 방법입니다. 그런데 데이터만 주는 것과 데이터에 답까지 붙여서 주는 것은 전혀 다른 학습이 됩니다. 여기서는 답을 붙여서 주는 쪽을 봅니다.

레이블(label)

학습 데이터 하나하나에 미리 붙어 있는 정답을 말합니다. 사람이 붙이기도 하고, 기록에 남은 실제 값이 그대로 레이블이 되기도 합니다. 잎 사진마다 「은행나무」, 「단풍나무」라고 적어 두는 것이 레이블을 붙이는 일입니다.

지도학습(supervised learning)

학습 데이터와 레이블을 함께 주어 둘 사이의 관계를 학습하게 하는 방법입니다. 학습을 마치면 레이블이 없는 새 데이터에도 답을 내놓습니다.

「지도」라는 말은 옆에서 답을 알려 주며 가르친다는 뜻입니다. 문제집을 풀 때 답지를 함께 놓고 맞춰 가며 익히는 것과 닮았습니다. 답지가 없으면 자기가 맞게 풀었는지 알 수 없듯이, 레이블이 없으면 지도학습은 시작할 수 없습니다.

기록에 남은 값이 없으면 레이블을 붙이는 일은 사람이 합니다. 사진 수천 장에 일일이 이름을 적는 일이라 손이 많이 가고, 여기서 잘못 붙은 답은 그대로 학습될 수 있습니다. 그래서 사람이 레이블을 붙여야 하는 문제라면, 지도학습에서 가장 공이 많이 드는 대목이 레이블 붙이기입니다.

답을 붙이다 보면 부딪히는 것

레이블 붙이기는 단순해 보이지만 실제로 해 보면 자주 막힙니다. 막히는 곳이 셋 있고, 셋 다 붙이기 전에 정해 두어야 하는 것들입니다.

① 경계에 걸친 것

잎 사진을 모으다 보면 반쯤 가려진 잎, 마른 잎이 나옵니다. 여기에 무슨 답을 붙일까요? 「모르겠음」이라는 갈래를 하나 두거나, 아예 빼기로 정해야 합니다. 그때그때 다르게 정하면 데이터가 뒤섞입니다.

② 사람마다 다르게 붙는 것

모둠원 넷이 나누어 붙이면 같은 사진에 다른 답이 붙기도 합니다. 그러면 모델은 서로 어긋나는 것을 함께 배우게 됩니다. 기준을 글로 적어 두고 시작하는 것이 그래서 중요합니다.

③ 한쪽으로 몰린 것

광고 메시지를 가리려는데 모은 자료의 대부분이 광고가 아니라면, 모델이 무조건 「광고 아님」이라고만 답해도 꽤 맞힌 것처럼 보입니다. 갈래마다 예를 고르게 모으는 것이 필요합니다.

셋 모두 학습을 시작하기 전에 살펴서 찾을 수 있는 문제입니다. 그런데 그냥 지나치면 성능이 나빠진 다음에야 알게 되고, 그때는 붙여 둔 답을 다시 수정해야 합니다. 레이블을 붙이기 전에 기준을 적고 모둠에서 맞춰 보는 것이 결국 빠른 길입니다.

맞히려는 값이 무엇이냐

분류(classification)

미리 정해 둔 범주 가운데 어디에 드는지를 맞히는 것입니다. 답이 「둘 중 하나」이거나 「셋 중 하나」처럼 갈래로 떨어집니다.

이런 물음

  • 이 잎 사진은 어느 나무의 잎인가?
  • 이 손글씨는 어떤 숫자인가?
  • 들어온 메시지가 광고인가 아닌가?

맞혔는지 틀렸는지가 분명히 나뉩니다. 은행나무를 단풍나무라고 했으면 틀린 것입니다.

회귀(regression)

속성(데이터가 가진 항목. 기온 · 요일 같은 것)들 사이의 관계를 학습해 이어지는 수치를 맞히는 것입니다. 답이 갈래가 아니라 숫자로 나옵니다.

이런 물음

  • 기온이 이 정도일 때 정수기 물이 얼마나 쓰일까?
  • 내일 이 시간의 기온은 몇 도일까?
  • 이 조건에서 몇 명이 올까?

딱 맞히기는 어렵고 얼마나 가까웠는지로 봅니다. 18L라고 했는데 실제가 19L였다면 1L만큼 어긋난 것입니다.

둘을 구분하는 물음은 하나입니다

「답을 미리 늘어놓을 수 있는가?」 은행나무 · 단풍나무 · 소나무처럼 답의 목록을 먼저 적을 수 있으면 분류이고, 17.4L · 18.9L처럼 목록을 적을 수 없고 사이의 값도 답이 될 수 있으면 회귀입니다.

같은 점, 다른 선

둘 다 그림을 그려 보면 점들 사이에 선을 하나 긋는 모양이 됩니다. 그런데 그 선이 하는 일이 정반대입니다.

분류 — 나누는 선

점의 색은 레이블을 나타냅니다. 선은 두 갈래를 나누는 경계이고, 새 점이 들어오면 선의 어느 쪽에 놓이는지로 답합니다.

회귀 — 따라가는 선

점에는 색이 없습니다. 맞혀야 할 수치는 점의 세로 자리로 나타납니다. 선은 점들의 흐름을 따라가는 자취이고, 새 가로 값이 들어오면 선의 높이로 답합니다.

헷갈리기 쉬운 점

두 그림 모두 선이 하나씩이지만, 분류의 선은 점들 「사이」를 지나고 회귀의 선은 점들 「가운데」를 지납니다. 분류에서는 선 가까이에 점이 몰려 있을수록 조금만 어긋나도 갈래가 바뀌는 불안한 선이고, 회귀에서는 선 가까이에 점이 몰려 있을수록 잘 그은 선입니다.

스스로 확인

회귀 그림에서 점이 하나도 없는 구간의 값을 선에서 읽어 오면 어떻게 될까요? 선이 이어져 있다고 해서 그 구간의 답을 믿어도 되는지 생각해 보세요.

문제를 보고 구별해 봅시다

맞히려는 것 갈래 그렇게 본 까닭
사진 속 잎이 어느 나무의 잎인지 분류 나무 이름의 목록을 미리 적을 수 있다
기온에 따른 정수기 물 사용량 회귀 답이 이어지는 수치이고 사이의 값도 답이 된다
들어온 메시지가 광고인지 아닌지 분류 답이 둘 중 하나다
다음 주 교내 행사에 몇 명이 올지 회귀 답이 크기를 가진 수치이고, 얼마나 가까웠는지로 본다. 사람 수처럼 정수로 떨어지는 값도 그렇다
내일 비가 올지 안 올지 분류 「온다 · 안 온다」는 두 갈래다
내일 비가 몇 mm나 올지 회귀 같은 날씨를 물어도 수치를 물으면 회귀가 된다

비를 묻는 두 줄을 눈여겨보세요. 데이터는 같은데 갈래가 달라졌습니다. 분류인지 회귀인지는 데이터가 정해 주는 것이 아니라 우리가 무엇을 묻기로 했는지가 정합니다. 그래서 문제를 적을 때 맞히려는 값이 무엇인지부터 못박아야 합니다.

스스로 확인

「정수기 물 사용량」 문제를 분류 문제로 바꾸어 적어 보세요. 무엇을 답의 목록으로 정하면 될까요? 그렇게 바꾸면 무엇을 얻고 무엇을 잃을까요?

핵심 정리

지도학습

supervised learning

  • 학습 데이터와 레이블을 함께 주어 가르친다
  • 레이블을 사람이 붙여야 하면 가장 손이 많이 가는 대목이 된다
  • 잘못 붙은 답도 그대로 학습될 수 있다

분류

classification

  • 미리 정해 둔 범주 중 하나를 맞힌다
  • 맞고 틀림이 분명하다
  • 그림에서 선은 나누는 경계다

회귀

regression

  • 속성 사이의 관계로 이어지는 수치를 맞힌다
  • 딱 맞히기보다 얼마나 가까운지로 본다
  • 그림에서 선은 따라가는 자취다

갈래를 정하는 것

what decides the type

  • 구분하는 물음은 「답을 미리 늘어놓을 수 있는가」
  • 같은 데이터라도 묻는 것이 바뀌면 갈래도 바뀐다
  • 그래서 맞히려는 값부터 못박고 시작한다

확인 퀴즈

배운 내용을 확인해 봅시다.

Q1

지도학습에서 레이블은 무엇을 가리키나?

Q2

「내일 비가 몇 mm 올지 맞히기」는 어느 갈래일까?

Q3

분류 그림의 선과 회귀 그림의 선은 어떻게 다른가?