콘텐츠로 이동

P4-2.1 지도학습(supervised learning)

Section ID: P4-2.1 Version: v2026.07.20

P4-1.2에서는 머신러닝을 “데이터에서 입력과 출력의 관계를 추정하는 접근”으로 보았습니다. 이제 그중 가장 먼저 만나는 형태인 지도학습(supervised learning)을 봅니다.

지도학습은 라벨(label) 또는 목표값(target)이 있는 사례로 모델을 학습하는 방식입니다. 여기서 라벨은 단순한 이름표가 아니라, 모델이 맞추려는 출력입니다. 입력이 주어졌을 때 어떤 결과를 내야 하는지 사례로 보여 주기 때문에 “지도”라는 표현이 붙습니다.

지도학습은 “예시와 답이 함께 있는 사례를 보고, 새 사례의 출력을 맞춰 보는 방식”으로 읽을 수 있습니다. 다만 모델이 해설을 이해하는 것은 아닙니다. 모델은 많은 사례에서 입력과 출력의 관계를 맞추도록 내부 기준을 조정합니다.

이 절은 지도학습(supervised learning), 입력 X와 목표값 y, 분류(classification)회귀(regression)의 기본 구분을 설명합니다. 뒤 절에서는 이 손잡이를 바탕으로 현재 맥락의 판단을 이어 가고, 라벨 기반 학습의 기본 뜻은 이 절과 개념사전을 기준으로 다시 연결합니다.

지도학습(supervised learning)에서 닫을 질문

이 절은 지도학습의 기본 구조를 설명합니다. 선형회귀(linear regression), 로지스틱 회귀(logistic regression), 결정트리(decision tree) 같은 개별 알고리즘은 뒤에서 따로 다룹니다. 구체적으로 선형회귀는 P4-10, 로지스틱 회귀는 P4-11, 결정트리는 P4-14에서 다시 다룹니다.

  • 지도학습에서 입력과 라벨은 무엇인가?
  • 분류(classification)와 회귀(regression)는 어떻게 다른가?
  • 학습(training), 평가(evaluation), 예측(prediction)은 어떻게 이어지는가?
  • 라벨이 있다고 해서 모델이 정답을 안다는 뜻인가?
  • 지도학습에서 가장 먼저 조심해야 할 오해는 무엇인가?

지도학습(supervised learning)에서 남길 판단 기준

  • 지도학습을 라벨이 있는 사례에서 입력과 출력의 관계를 배우는 방식으로 설명할 수 있습니다.
  • 입력 데이터 X와 라벨 또는 목표값 y의 역할을 구분할 수 있습니다.
  • 분류와 회귀의 차이를 예시로 설명할 수 있습니다.
  • 학습 데이터와 평가 데이터를 나누는 이유를 말할 수 있습니다.
  • 모델의 예측과 서비스의 최종 결정을 구분할 수 있습니다.

먼저 한 장면으로 이해하기

고객 문의를 자동으로 분류하는 상황을 생각해 봅니다.

고객 문의 내용 사람이 붙인 라벨
“결제했는데 물건이 아직 안 왔어요.” 배송 문의
“환불은 어디에서 신청하나요?” 환불 문의
“비밀번호를 잊어버렸습니다.” 계정 문의

지도학습에서는 이런 사례를 모델에게 보여 줍니다. 문의 내용은 입력이고, 사람이 붙인 문의 유형은 라벨입니다. 모델은 새 문의가 들어왔을 때 어떤 라벨에 가까운지 예측하도록 학습됩니다.

이 예시에서 핵심은 “라벨이 있다”는 점입니다. 라벨이 없으면 모델은 무엇을 맞춰야 하는지 직접적으로 알 수 없습니다. 라벨이 있으므로 모델은 입력과 출력의 관계를 맞추는 방향으로 학습할 수 있습니다.

지도학습의 기본 모양

지도학습에서는 사례(example)가 입력과 출력의 쌍으로 준비됩니다.

사례 입력 특징(feature) 라벨 또는 목표값(label / target)
메일 1 제목, 본문 단어, 링크 수, 발신자 정보 스팸
메일 2 제목, 본문 단어, 링크 수, 발신자 정보 정상
주택 1 면적, 위치, 방 수, 건축 연도 가격
고객 1 방문 횟수, 구매 금액, 최근 접속일 이탈 여부

입력은 보통 X로 쓰고, 라벨이나 목표값은 y로 씁니다. Part 2에서 본 표 관점으로 보면 X는 여러 행과 열을 가진 데이터입니다. 행(row)은 하나의 사례이고, 열(column)은 특징(feature)입니다. y는 각 사례에 붙은 답 역할을 합니다.

Xy는 수학 기호로만 외우기보다 각 표기가 맡는 역할로 읽는 쪽이 더 분명합니다.

표기 먼저 떠올릴 말 예시
X 모델에게 보여 주는 입력 묶음 메일 내용에서 뽑은 특징, 고객 기록, 상품 정보
y 모델이 맞추려는 출력 묶음 스팸/정상, 이탈/유지, 가격
한 행(row) 하나의 사례 메일 하나, 고객 한 명, 주택 하나
한 열(column) 하나의 특징 링크 수, 구매 금액, 방 수

이때 이라는 표현은 조심해야 합니다. 라벨은 학습 데이터에서 모델이 맞추려는 값이지, 현실의 모든 경우에 대해 완전한 진리를 보장하는 값은 아닙니다. 사람이 붙인 라벨에는 오류가 있을 수 있고, 측정값에는 잡음(noise)이 있을 수 있습니다.

Part 3의 데이터 정리 흐름을 가져오면, 지도학습으로 넘어가기 전에 아래 네 가지를 구분해야 합니다.

먼저 가르는 것 지금 단계에서의 뜻 지도학습에서 바로 쓰는가
사례 1건 한 행이 같은 종류의 동작 1건 또는 대상 1건을 뜻하는가
입력 특징 열 모델 입력으로 줄 설명값인가
목표값 후보 나중에 맞히려는 결과값인가 조건부 예
식별·운영 열 사례를 찾거나 운영 문맥을 설명하는 값인가 보통 아니오

여기서 조건부 예라고 적은 이유는 목표값 후보가 있어 보여도 곧바로 지도학습 문제가 되지는 않기 때문입니다. 라벨 기준이 일관적인지, 나중에 같은 방식으로 다시 붙일 수 있는지, 모델이 맞춰야 할 질문이 분류인지 회귀인지가 먼저 정리되어야 합니다. 식별 열도 마찬가지입니다. 사례를 다시 찾는 데는 중요하지만, 보통은 모델 입력 그 자체로 쓰기보다 분리해서 관리합니다.

흐름으로 보기

지도학습의 흐름은 다음처럼 볼 수 있습니다.

flowchart TD
  A["라벨이 있는 사례<br/>X와 y"]
  B["데이터 나누기<br/>학습 / 테스트"]
  C["모델 학습<br/>학습 데이터에 맞추기"]
  D["평가<br/>예측과 y 비교"]
  E["새 입력<br/>라벨 없는 사례"]
  F["예측<br/>모델 출력"]
  G["서비스 결정<br/>정책 또는 행동"]

  A --> B
  B --> C
  C --> D
  C --> E
  E --> F
  F --> G

이 도식에서 train model은 모델이 학습 데이터의 입력과 라벨 사이 관계를 맞추도록 내부 값을 조정하는 단계입니다. evaluate는 학습에 쓰지 않은 데이터에서 예측과 실제 라벨을 비교하는 단계입니다. prediction은 학습된 모델을 새 입력에 적용하는 단계입니다.

마지막의 service decision은 일부러 따로 두었습니다. 모델이 “스팸 가능성 0.92”를 냈다고 해서 서비스가 반드시 차단해야 하는 것은 아닙니다. 서비스는 정책, 비용, 위험, 사용자 경험을 함께 고려해 차단, 검토, 허용 같은 행동을 정할 수 있습니다.

학습, 평가, 예측을 구분하기

지도학습을 처음 볼 때 가장 자주 섞이는 말이 학습, 평가, 예측입니다.

단계 하는 일 쉬운 질문
학습(training) 라벨이 있는 데이터로 모델의 내부 기준을 맞춥니다. 이 사례들을 보고 어떤 관계를 배울 수 있는가?
평가(evaluation) 학습에 쓰지 않은 데이터로 모델이 얼마나 맞는지 확인합니다. 새 사례에서도 잘 맞는가?
예측(prediction) 학습된 모델을 실제 새 입력에 적용합니다. 이 새 사례는 어떤 결과일 것인가?

이 세 단계를 구분하면 “모델을 만들었다”는 말이 더 분명해집니다. 모델을 학습했다는 것과, 모델이 실제로 쓸 만하다는 것과, 모델을 서비스에서 실행한다는 것은 같은 말이 아닙니다.

분류와 회귀

지도학습은 크게 분류(classification)와 회귀(regression)로 나누어 설명하는 경우가 많습니다.

구분 모델이 맞추려는 출력 예시
분류(classification) 범주(category) 또는 클래스(class) 스팸/정상, 불량/정상, 이탈/유지
회귀(regression) 연속적인 숫자값(numeric value) 주택 가격, 수요량, 온도, 매출

분류는 “어느 범주에 속하는가”를 묻습니다. 이메일이 스팸인지 정상인지, 상품 리뷰가 긍정인지 부정인지, 이미지가 고양이인지 개인지 같은 문제입니다.

회귀는 “얼마나 되는가”를 묻습니다. 주택 가격이 얼마인지, 내일 수요가 몇 개인지, 배송 시간이 몇 분 걸릴지 같은 문제입니다.

둘 다 입력과 출력의 관계를 학습한다는 점은 같습니다. 차이는 출력의 성격입니다. 출력이 범주이면 분류에 가깝고, 숫자 크기이면 회귀에 가깝습니다.

작은 예시: 공부 시간과 합격 여부

다음처럼 공부 시간과 모의고사 점수, 합격 여부가 있는 작은 데이터를 생각해 봅니다.

공부 시간 모의고사 점수 합격 여부
1시간 45점 불합격
2시간 55점 불합격
4시간 72점 합격
5시간 80점 합격

합격 여부를 맞추려 하면 분류 문제입니다. 모델의 목표는 새 학생의 공부 시간과 모의고사 점수를 보고 합격 또는 불합격을 예측하는 것입니다.

반대로 실제 시험 점수를 예측하려 하면 회귀 문제입니다. 모델의 목표는 새 학생의 공부 시간과 모의고사 점수를 보고 몇 점 정도가 나올지 예측하는 것입니다.

같은 데이터라도 무엇을 y로 놓느냐에 따라 문제가 달라집니다. 이것이 지도학습에서 문제 정의가 중요한 이유입니다.

라벨은 어디에서 오는가

지도학습은 라벨이 필요합니다. 라벨은 여러 방식으로 만들어질 수 있습니다.

  • 사람이 직접 분류합니다.
  • 기존 업무 시스템의 결과를 사용합니다.
  • 센서나 측정 장비의 기록을 사용합니다.
  • 나중에 실제로 발생한 결과를 사용합니다.

예를 들어 고객 이탈 예측에서는 “30일 안에 서비스를 해지했는가” 같은 실제 결과가 라벨이 될 수 있습니다. 불량품 분류에서는 검사자가 붙인 판정이 라벨이 될 수 있습니다. 주택 가격 예측에서는 실제 거래 가격이 목표값이 될 수 있습니다.

라벨이 있다고 해서 항상 좋은 지도학습 문제가 되는 것은 아닙니다. 라벨이 부정확하거나, 라벨 기준이 중간에 바뀌었거나, 라벨이 특정 집단에 편향되어 있으면 모델도 그 문제를 배울 수 있습니다.

그래서 라벨이 있다바로 지도학습 문제로 쓸 수 있다를 분리해서 봐야 합니다.

보이는 상태 바로 결론 내리면 위험한 이유 다시 확인할 질문
라벨 열이 존재함 기준이 일관되지 않을 수 있음 같은 기준으로 다시 붙일 수 있는가
과거 시스템 값이 있음 업무 규칙 변경이 반영되었을 수 있음 지금도 같은 뜻의 목표값인가
사람 판정 결과가 있음 판정자마다 기준이 다를 수 있음 사람 사이 판단 차이가 큰가

즉 지도학습은 라벨 열 발견에서 시작하는 것이 아니라, 이 라벨이 정말 맞히고 싶은 결과를 안정적으로 표현하는가를 확인하는 데서 시작합니다.

실제로는 지금 문제가 지도학습으로 정리되는가를 먼저 짧게 판정해야 합니다.

현재 상태 지도학습으로 읽는가 이유
입력 특징과 목표 라벨이 함께 있고, 같은 기준으로 다시 붙일 수 있다 입력 X와 목표값 y를 안정적으로 만들 수 있기 때문입니다.
라벨 열은 있지만 기준이 자주 바뀌거나 사람마다 판정이 크게 다르다 바로는 아님 먼저 라벨 품질과 목표 정의를 다시 점검해야 하기 때문입니다.
입력만 있고 맞히려는 결과 라벨이 없다 아니오 구조 탐색이나 다른 문제 정의가 먼저이기 때문입니다.

왜 데이터를 나누는가

모델이 학습 데이터(training data)에만 잘 맞는 것은 충분하지 않습니다. 우리가 원하는 것은 보지 못한 데이터에서도 쓸 만한 모델입니다.

그래서 지도학습에서는 데이터를 나누어 봅니다.

데이터 구분 역할
학습 데이터(training data) 모델이 관계를 배우는 데 사용합니다.
검증 데이터(validation data) 모델 선택이나 설정 조정에 사용합니다.
테스트 데이터(test data) 마지막 성능 확인에 사용합니다.

학습 데이터와 테스트 데이터의 구분을 먼저 분명히 잡아야 합니다. 핵심은 “배운 문제를 다시 맞히는 것”과 “처음 보는 문제를 맞히는 것”이 다르다는 점입니다.

지도학습에서 처음 조심할 오해

지도학습에서 먼저 피해야 할 오해는 다음과 같습니다.

  • 라벨이 있으면 문제가 쉬워진다고 보지 않습니다.
  • 라벨을 현실의 완전한 정답으로 보지 않습니다.
  • 학습 데이터 성능을 실제 서비스 성능으로 보지 않습니다.
  • 모델 예측을 서비스의 최종 결정으로 보지 않습니다.
  • 분류와 회귀를 알고리즘 이름으로 구분하지 않습니다. 먼저 출력의 성격을 봅니다.

지도학습은 “정답을 알려 주고 외우게 하는 방식”이 아닙니다. 더 정확히는 라벨이 있는 사례를 이용해 입력과 출력의 관계를 추정하고, 그 관계가 새 사례에도 일반화되는지 확인하는 방식입니다.

사례 및 예시

사례 1. 문의 분류에서 사람이 붙인 답이 있을 때 왜 지도학습이 맞는가

한 팀이 고객 문의를 배송, 환불, 계정 같은 유형으로 자동 분류하려고 한다고 하겠습니다. 이미 과거 문의 기록과 상담사가 붙인 유형이 함께 남아 있다면, 사람은 이 답들을 이용해 새 문의도 분류할 수 있지 않을까라고 생각하게 됩니다.

이 장면에서 중요한 것은 정답 역할을 하는 라벨이 이미 있다는 점입니다. 모델은 문의 내용이라는 입력과 상담사가 붙인 유형이라는 출력 사이의 관계를 학습할 수 있습니다. 따라서 비슷한 새 문의가 들어왔을 때 어떤 유형에 가까운지 예측하는 문제가 됩니다.

이 절이 지도학습을 Xy가 함께 있는 문제로 설명하는 이유가 여기에 있습니다. 문의 내용, 링크 수, 길이 같은 특징은 X가 되고, 사람이 붙인 유형은 y가 됩니다. 이 구조가 있어야 모델이 무엇을 맞추려 하는지 분명해집니다.

확인 가능한 결과는 학습에 쓰지 않은 문의 평가에서 드러납니다. 과거 문의에만 잘 맞는 것이 아니라 새 문의에서도 분류 정확도가 유지된다면, 라벨이 있는 사례를 이용한 지도학습 문제로 잘 정리된 것입니다.

flowchart TD
  A["과거 문의 기록"]
  B["사람이 붙인 라벨이 있음"]
  C["X = 문의 특징으로 정리"]
  D["y = 문의 유형으로 정리"]
  E["지도학습 모델 학습"]
  F["새 문의 예측"]
  G["처음 보는 문의 정확도 확인"]

  A --> B --> C --> D --> E --> F --> G

체크리스트

  • 어떤 상태에서 라벨이 있다지도학습 문제로 바로 쓸 수 있다를 구분해야 하는지 설명할 수 있는가
  • 같은 데이터라도 y를 무엇으로 두느냐에 따라 왜 분류와 회귀가 달라지는지 말할 수 있는가
  • 모델 예측과 서비스 최종 결정이 다른 단계라는 점을 지도학습 문맥에서 설명할 수 있는가
  • 지도학습이 입력 X와 라벨 또는 목표값 y가 있는 사례에서 관계를 배우는 방식이라는 점을 설명할 수 있는가
  • 라벨이 모델이 맞추려는 출력이지만 현실의 완전한 진리를 보장하지는 않는다는 점을 설명할 수 있는가
  • 학습은 관계를 맞추는 단계이고 평가는 보지 못한 데이터에서 확인하는 단계라는 점을 구분할 수 있는가

출처와 참고 자료