단원 홈
2단원 · 4차시

잘 배웠는지 확인하기
학습과 평가

학습시킨 AI가 진짜로 똑똑해진 걸까요, 아니면 답을 외운 걸까요? 훈련과 시험을 나누는 이유, '외우기'의 함정(과적합), 그리고 성능을 제대로 재는 법을 직접 실험합니다.

성취기준 12인기02-04
훈련/테스트 분리과적합정확도·정밀도·재현율혼동 행렬
🎯 학습 목표
  • 훈련 데이터와 테스트 데이터를 나누어 학습·평가하는 이유를 설명할 수 있다.
  • 과적합과 과소적합의 의미를 이해하고 구분할 수 있다.
  • 정확도·정밀도·재현율 등 성능 지표로 모델을 평가할 수 있다.
🤔

생각 열기 — 답을 외운 학생 vs 이해한 학생

두 학생이 있어요. 한 명은 문제집의 답을 통째로 외웠고, 다른 한 명은 원리를 이해했어요. 똑같은 문제집(연습 문제)을 다시 풀면 둘 다 100점이에요. 그런데 처음 보는 새 문제(시험)를 내면? 외운 학생은 무너지고, 이해한 학생만 잘 풀죠.

기계학습도 똑같아요. 학습에 쓴 데이터로만 평가하면 '외운 AI'와 '이해한 AI'를 구별할 수 없어요. 그래서 데이터를 훈련용(연습 문제)과 테스트용(시험 문제)으로 나눠서, 본 적 없는 데이터로 진짜 실력을 재야 합니다. 오늘은 이 '시험'의 기술을 배웁니다.

💬 함께 생각해 보기

만약 어떤 AI가 훈련 데이터에서는 99% 정확한데 새 데이터에서는 60%밖에 못 맞힌다면, 이 AI는 '이해'한 걸까요 '외운' 걸까요? 이런 AI를 실제 서비스에 쓰면 어떤 일이 벌어질까요?

1

연습 문제와 시험 문제를 나눠라

훈련 데이터 · 테스트 데이터

모은 데이터를 보통 이렇게 나눠요. 훈련 데이터(약 70~80%)로 모델을 학습시키고, 따로 떼어 둔 테스트 데이터(약 20~30%)로 성능을 평가합니다. 핵심은 테스트 데이터는 학습에 절대 쓰지 않는 것 — 시험 문제를 미리 보면 안 되니까요!

🏋️ 훈련 데이터 75% (학습용)
📝 테스트 25% (평가용)
💡 왜 꼭 나눠야 할까

학습에 쓴 데이터로 평가하면 AI는 '본 적 있는 문제'를 푸는 셈이라 성능이 부풀려져요. 실제 세상에서 만날 데이터는 모두 '처음 보는' 데이터죠. 테스트 데이터는 그 '실전'을 미리 흉내 내는 거예요. 2차시에서 본 '데이터 누수'(시험 답 미리 보기)를 막는 장치이기도 합니다.

2

외우기의 함정 — 과적합

너무 열심히 배우면 오히려 못한다?

모델을 너무 복잡하게 만들거나 너무 오래 학습시키면, 훈련 데이터의 사소한 특징·잡음까지 통째로 외워 버려요. 그러면 훈련 점수는 높은데 새 데이터에서는 형편없죠. 이것이 과적합(overfitting)이에요. 반대로 너무 단순해서 훈련조차 제대로 못 배운 상태는 과소적합(underfitting)이고요. 직접 실험해 봅시다.

📉 과적합 실험실 — 훈련 점수 vs 시험 점수 INTERACTIVE

슬라이더로 모델 복잡도(또는 학습 정도)를 조절하세요. 보라색은 훈련 데이터 정확도, 노란색은 테스트(시험) 정확도예요. 복잡도를 높일수록 무슨 일이 벌어지나요?

0%
훈련 정확도
0%
테스트 정확도
진단
[안내]슬라이더를 왼쪽 끝(너무 단순)과 오른쪽 끝(너무 복잡)으로 옮겨 보고, 테스트 정확도가 가장 높은 '딱 좋은' 지점을 찾아보세요!
🔦 가장 좋은 모델은 '시험'을 가장 잘 보는 모델

훈련 정확도는 복잡도를 높일수록 계속 올라가지만, 테스트 정확도는 어느 지점에서 정점을 찍고 다시 떨어져요. 그 정점이 바로 '딱 좋은' 모델이에요 — 너무 단순하지도(과소적합), 너무 외우지도(과적합) 않은 상태. 그래서 "훈련 점수 100점"에 속으면 안 돼요. 진짜 실력은 시험(테스트) 점수로 판단합니다. 과적합을 막는 방법으로는 데이터를 더 모으기, 모델을 단순하게 하기, 학습을 적당할 때 멈추기 등이 있어요.

3

제대로 채점하기 — 성능 지표

정확도만으로는 부족하다

모델을 평가할 때 가장 먼저 떠오르는 건 정확도(accuracy) — 전체 중 맞힌 비율이죠. 그런데 정확도만으로는 속을 수 있어요. 정보 4단원에서 봤듯, 환자 1,000명 중 환자가 10명뿐이면 전부 '정상'이라고만 찍어도 정확도 99%가 나오니까요(정작 환자는 한 명도 못 찾았는데!). 그래서 정밀도재현율을 함께 봐야 해요. 스팸 필터로 직접 확인해 봅시다.

🎯 혼동 행렬 계산기 — 스팸 필터의 딜레마 INTERACTIVE

메일 100통 중 실제 스팸은 30통이에요. 슬라이더로 스팸 필터의 '엄격함'을 조절하면, 네 칸(혼동 행렬)의 숫자와 세 지표가 어떻게 변하는지 보세요. 정밀도와 재현율은 함께 올리기 어려워요!

실제: 스팸 😈
실제: 정상 📩
예측:
스팸
0맞게 잡은 스팸 (TP)
0억울한 정상 메일 (FP)
예측:
정상
0놓친 스팸 (FN)
0맞게 통과한 정상 (TN)
0%
정확도
(전체 중 맞힘)
0%
정밀도
(스팸이라 한 것 중 진짜)
0%
재현율
(진짜 스팸 중 잡은 것)
[안내]엄격함을 낮추면(관대) 정상 메일은 안전하지만 스팸을 놓치고, 높이면(엄격) 스팸은 다 잡지만 정상 메일까지 스팸으로 오해해요!
🔦 정밀도와 재현율, 무엇이 더 중요할까 — 문제에 따라 다르다

정밀도(precision)는 "스팸이라고 한 것 중 진짜 스팸 비율", 재현율(recall)은 "진짜 스팸 중 잡아낸 비율"이에요. 둘은 보통 한쪽을 올리면 다른 쪽이 내려가는 줄다리기 관계죠. 무엇이 더 중요한지는 문제에 달렸어요. 암 진단은 놓치면 큰일이니 재현율(다 잡기)이 중요하고, 스팸 필터는 중요한 메일을 스팸함에 보내면 곤란하니 정밀도(억울한 차단 줄이기)가 더 중요할 수 있어요. 그래서 좋은 평가는 "정확도 몇 %"가 아니라 "이 문제에서 무엇을 중요하게 볼 것인가"를 함께 묻습니다.

확인 문제

바로바로 채점!

✏️

4차시 확인 문제

4문항 · 즉시 채점

1테스트 데이터에 대한 설명으로 옳은 것은?

2훈련 정확도는 99%인데 테스트 정확도는 60%라면, 이 모델은?

31,000명 중 환자가 10명뿐인데 AI가 전부 '정상'이라 답했다. 정확도는 99%지만 무엇이 문제일까?

4[OX] 정밀도와 재현율은 보통 한쪽을 높이면 다른 쪽이 낮아지는 관계다.

더 알아보기

교과서 너머의 이야기 — 클릭해서 펼쳐 보세요

심화한 번 더 나누기 — 검증 데이터와 교차 검증

사실 데이터를 훈련/테스트 둘로만 나누면 문제가 생겨요. 모델을 이리저리 조정하면서 자꾸 테스트 점수를 보면, 나도 모르게 테스트 데이터에 맞춰 조정하게 되거든요(테스트 데이터를 '엿본' 셈). 그래서 보통은 셋으로 나눠요 — 훈련 / 검증(validation) / 테스트. 모델을 조정할 땐 검증 데이터로 확인하고, 테스트 데이터는 맨 마지막에 딱 한 번만 써요. 데이터가 적을 때는 교차 검증(cross-validation)도 써요 — 데이터를 여러 조각으로 나눠 번갈아 가며 한 조각씩 테스트로 쓰고 나머지로 학습하는 걸 반복해, 평균 성능을 보는 방법이죠. 운 좋게(나쁘게) 나뉜 한 번의 결과에 속지 않으려는 똑똑한 장치예요.

심화정밀도와 재현율을 하나로 — F1 점수

정밀도와 재현율이 줄다리기 관계라면, 둘을 한 숫자로 합쳐 비교하고 싶을 때가 있어요. 그때 쓰는 게 F1 점수예요. 그냥 평균이 아니라 조화평균을 써요 — 둘 중 하나라도 낮으면 F1도 확 낮아지게요. 예를 들어 정밀도 90%·재현율 10%라면, 산술평균은 50%로 그럴듯해 보이지만 F1은 약 18%로 뚝 떨어져요(한쪽이 심하게 낮으니까!). 덕분에 "한쪽만 잘하고 다른 쪽은 엉망인" 모델을 걸러낼 수 있죠. 정밀도와 재현율 중 어느 하나도 포기하기 어려운 문제에서 F1 점수가 좋은 종합 점수가 됩니다. 평가 지표 하나에도 이렇게 깊은 고민이 담겨 있어요!

사례과적합은 사람도 한다 — '시험 잘 보는 법'의 함정

과적합은 사실 우리 주변에도 있어요. 기출문제의 답만 통째로 외운 학생은 똑같은 문제엔 강하지만 살짝 바꾼 문제엔 무너지죠 — 전형적인 과적합이에요. 운동선수가 연습 상대의 버릇에만 맞춰 훈련하면 실전의 낯선 상대에게 약하고, 어떤 맛집 비결이 그 가게 단골 입맛에만 최적화되면 새 손님은 못 잡죠. '일반화(generalization)' — 즉 본 적 없는 상황에서도 잘하는 능력이 진짜 실력이라는 점은 AI나 사람이나 똑같아요. 그래서 공부할 때도 답을 외우기보다 원리를 이해하는 게 '새 문제(시험)'에 강한 비결이랍니다. AI를 배우다 보니 공부법까지 배우게 되네요!