지도 학습
Supervised Learning
방법
정답이 붙은 데이터를 보여 주며 규칙을 익히게 하는 방식으로, 앞으로 들어올 데이터의 답을 맞히게 만들 때 씁니다.
등장 배경
규칙을 사람이 손으로 적어 프로그램을 만드는 방식에는 한계가 분명한 영역이 있습니다. 스팸 메일 걸러내기가 알기 쉬운 예입니다.
처음에는 조건을 적었습니다. 제목에 특정 낱말이 있으면 스팸으로 보내고, 발신 주소가 목록에 있으면 걸러냅니다. 조건 200개까지는 늘려 볼 수 있습니다. 그런데 보내는 쪽이 낱말을 조금 바꾸면 조건이 무너집니다. 낱말 사이에 점을 넣거나 비슷한 글자로 바꾸는 식입니다. 조건을 다시 200개 더 적고 나면 또 바뀝니다.
더 근본적인 문제는 사람이 그 규칙을 말로 설명할 수 없는 경우입니다. 사람은 스팸 메일을 3초에 알아보는데, 어떻게 알아봤느냐고 물으면 문장으로 적어 내려가지 못합니다. 낱말과 문장 모양과 발신 주소가 합쳐진 판단이라 조건으로 쪼개지지 않습니다.
지도 학습은 그 판단을 규칙이 아니라 사례로 넘기는 방식입니다. 스팸이라고 표시된 메일 5만 통과 정상이라고 표시된 메일 5만 통을 보여 주고 그 차이를 스스로 찾게 만듭니다. 사람은 답만 붙이고 규칙은 적지 않습니다.
사용 절차
순서는 다섯입니다. 실제로 시간이 가장 많이 드는 곳은 첫 두 단계입니다.
- 맞힐 것을 정합니다. 무엇을 예측할지 한 문장으로 적습니다. 이탈할 것 같은 고객을 찾는 일이라면 이탈을 어떻게 정의할지부터 정해야 합니다. 30일 동안 접속이 없는 상태인지, 유료 요금제를 해지한 상태인지에 따라 만들 것이 달라집니다.
- 정답이 붙은 데이터를 모읍니다. 이것이 학습 데이터입니다. 이 단계가 이 방식의 전제이자 가장 큰 비용입니다. 데이터는 있어도 답이 안 붙어 있는 경우가 대부분이라, 사람이 하나씩 표시하는 작업이 들어갑니다. 문의 메일을 종류별로 나누는 모델을 만들려면 지난 문의 3천 건에 사람이 종류를 적어 두어야 합니다.
- 데이터를 나눕니다. 학습용과 검증용으로 가릅니다. 8대 2가 흔합니다. 나누는 이유는 외운 것과 익힌 것을 구분하기 위해서입니다. 학습에 쓴 데이터로 성능을 재면 시험 문제를 미리 본 채로 시험을 치는 것과 같습니다.
- 학습시킵니다. 모델이 입력과 정답 사이의 관계를 조정해 갑니다. 어느 범주에 속하는지 맞히는 분류인지, 값을 추정하는 회귀 분석 계열인지에 따라 쓰는 방법이 갈립니다.
- 검증용 데이터로 성능을 봅니다. 여기서 학습용 성능은 좋은데 검증용 성능이 나쁘면 과적합입니다. 학습 데이터에만 지나치게 맞춰져 새 데이터에는 못 쓰는 상태입니다.
성능을 무엇으로 볼지도 미리 정합니다. 맞힌 비율만 보면 안 되는 경우가 많습니다. 전체 고객 가운데 이탈이 3퍼센트라면 전부 이탈하지 않는다고 답하는 모델도 97퍼센트를 맞힙니다. 그래서 실제 이탈자 가운데 몇을 잡아냈는지를 따로 봅니다.
적합한 상황과 한계
잘 맞는 자리는 셋입니다. 맞힐 것이 분명하고, 정답이 붙은 사례가 충분히 있고, 앞으로 들어올 데이터가 과거와 비슷할 때입니다. 세 번째가 자주 빠집니다. 과거로 배운 모델은 과거와 다른 상황에서는 틀립니다.
잘 안 맞는 자리는 셋입니다.
- 정답을 붙일 수 없는 경우입니다. 무엇이 좋은 답인지 사람도 합의하지 못하는 일에는 이 방식을 쓸 수 없습니다. 이때는 정답 없이 구조를 찾는 비지도 학습 쪽을 봅니다.
- 사례가 적은 경우입니다. 지난 2년에 열두 건만 있었던 일을 맞히게 만들 수는 없습니다. 열두 건으로는 규칙이 아니라 그 열두 건을 외우게 됩니다.
- 규칙이 이미 분명한 경우입니다. 금액이 100만 원을 넘으면 승인이 필요하다는 판단에 모델을 붙이면, 조건문 한 줄로 끝나는 일에 학습과 검증과 운영이 붙습니다.
한계도 분명합니다. 정답의 품질이 결과를 정합니다. 문의를 다섯 종류로 나누라고 했을 때 사람 셋이 서로 다르게 나눴다면, 그 데이터로 학습한 모델은 그 불일치까지 배웁니다. 그래서 답을 붙이기 전에 기준을 문서로 정하고 몇 건을 여러 사람이 같이 표시해 얼마나 일치하는지 봅니다.
시간이 지나면 낡는다는 점도 한계입니다. 제품이 바뀌고 고객이 바뀌면 과거 데이터로 배운 규칙이 어긋납니다. 만들고 끝이 아니라 성능을 계속 재고 주기적으로 다시 학습시키는 일이 붙습니다.
실무 용례
"정답 데이터가 3천 건은 있어야 합니다. 지금 표시된 게 400건이에요."
이 방식의 전제가 갖춰지지 않았다는 말입니다.
"학습에서는 94퍼센트인데 검증에서 71퍼센트예요. 과적합입니다."
두 숫자의 차이로 상태를 진단한 말입니다.
"정확도 97퍼센트인데 실제 이탈자는 거의 못 잡아요."
성능을 무엇으로 볼지 잘못 골랐다는 지적입니다.
페이지덱에서는 지현과 태오가 문의 분류에 이 방식을 써 봤습니다. 지난 문의를 다섯 종류로 나누는 일입니다. 데이터는 2년 치 4천 건이 있었지만 종류가 붙어 있지 않아, 수아가 2주에 걸쳐 3천 건에 종류를 적었습니다.
그 2주가 이 일의 절반이었습니다. 처음 200건을 표시한 뒤 수아와 지현이 서로 다르게 나눈 건이 서른 건 넘게 나왔고, 기준을 다시 적은 다음에 처음부터 다시 표시했습니다. 기준을 먼저 맞추지 않고 3천 건을 다 표시했다면 그 불일치가 모델에 그대로 들어갔을 것입니다.
흔한 오해
데이터가 많으면 된다고 생각하는 경우가 많습니다. 양이 성능을 정한다는 말은 절반만 맞습니다. 이 방식에서 필요한 것은 데이터가 아니라 정답이 붙은 데이터입니다. 문의 기록 10만 건이 있어도 종류가 붙어 있지 않으면 시작할 수 없고, 답을 붙이는 일은 사람의 시간이라 데이터가 많을수록 비용이 커집니다. 그래서 실제 계획에서는 몇 건에 답을 붙일지가 먼저 정해지고 그 예산이 이 방식을 쓸지 말지를 정합니다.
모델이 맞히면 이유도 안다고 여기는 것도 흔합니다. 잘 맞히는 모델이라면 무엇이 원인인지도 알려 줄 것 같습니다. 하지만 이 방식이 찾는 것은 같이 움직이는 관계이고 원인이 아닙니다. 접속 빈도가 낮아진 고객이 이탈한다는 관계를 찾아내도, 접속을 늘리게 만들면 이탈이 줄어드는지는 이 모델이 답하지 못합니다. 그것은 실험으로 확인할 문제입니다.
자주 헷갈리는 용어
| 용어 | 무엇을 주는가 | 지도 학습과의 차이 |
|---|---|---|
| 비지도 학습 | 정답 없이 데이터의 구조 | 답을 주는지가 갈립니다. 지도 학습은 맞힐 것을 정해 두고 배우고, 비지도 학습은 무엇이 있는지부터 찾습니다 |
같이 보면 좋은 페이지
마지막 업데이트 2026-09-16