스킬캠퍼스
25강 · 과적합과 편향-분산
강의

오늘 끝나면

과적합과 편향-분산

  • 과적합과 편향-분산의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 과적합과이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

외우기 vs 일반화 — 둘 사이의 줄타기 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

통계 · 25

과적합과
편향-분산

모델은 단순해도 틀리고 복잡해도 틀림.
너무 단순하면 추세를 못 잡고 / 너무 복잡하면 훈련만 외움.
목표는 본 적 없는 데이터에서 잘 맞추는 것 = 일반화임.

P.01통계 · 25

단순하면 못 맞춤 — 과소적합

데이터가 휘어 있는데 모델이 직선뿐이면, 아무리 잘 맞춰도 빗나감.

이게 과소적합임 / 모델이 너무 단순해 데이터의 진짜 모양을 못 담음.
이때는 훈련오차도 크고 테스트오차도 큼 / 어디서도 잘 못 맞춤.

원인은 고편향임.
편향은 모델이 처음부터 가진 잘못된 가정에서 오는 체계적 오차임.
“세상은 직선이다”라고 우기면 / 곡선 데이터에선 평균적으로 늘 빗나감.

해법은 모델을 더 유연하게 / 차수를 올리거나 특성을 더 넣어 표현력을 키우는 것임.

직선은 굽은 점들을 못 따라감
과소적합 · 고편향

직선이 굽은 추세를 못 잡음 / 잔차가 큼 = 둘 다 빗나감

P.02통계 · 25

복잡하면 외워버림 — 과적합

반대로 모델을 한없이 복잡하게 하면, 훈련점을 하나도 안 빼고 다 통과함.

훈련오차는 0에 가깝게 떨어짐 / 겉보기엔 완벽함.
근데 점과 점 사이에서 곡선이 미친듯이 출렁임.

이게 과적합임 / 모델이 데이터의 신호가 아니라 노이즈까지 외워버린 상태임.
노이즈는 그 표본에만 있는 우연임 / 새 데이터엔 없음.

원인은 고분산임.
분산은 훈련 표본이 조금만 바뀌어도 모델이 크게 출렁이는 정도임.
표본을 외운 모델은 / 본 적 없는 점이 들어오면 크게 빗나감.

점은 다 지나지만 사이에서 출렁
과적합 · 고분산

점은 다 통과(훈련오차↓) / 사이에서 출렁 = 새 데이터에 약함

P.03통계 · 25

총오차 = 편향² + 분산 + 잡음

편향과 분산은 한쪽을 줄이면 다른 쪽이 느는 트레이드오프임.

기대 예측오차를 분해하면 세 조각이 나옴.
오차 = 편향² + 분산 + 줄일 수 없는 잡음.

복잡도를 올리면 편향은 줆 / 대신 분산이 늚.
복잡도를 내리면 분산은 줆 / 대신 편향이 늚.
둘의 합이 그리는 곡선은 U자임 / 바닥이 최적 복잡도임.

잡음은 데이터 자체의 무작위라 / 어떤 모델로도 못 없앰.
그래서 우리가 줄일 수 있는 건 편향²과 분산의 합뿐임.

둘을 합치면 U자 — 최적점이 가운데
편향-분산 트레이드오프
복잡도 →오차
— · 편향²·· 분산— 총오차(U자)

파란 점 = 둘의 합이 최소인 최적 복잡도

P.04통계 · 25

차수를 올려 직접 과적합 만들기

말로만 들으면 안 와닿음. 오른쪽에서 차수를 직접 끌어 보셈.

검은 점은 훈련 데이터 / 빈 동그라미는 모델이 못 본 테스트 데이터임.
차수 슬라이더를 올리면 파란 곡선이 점점 더 점에 달라붙음.

차수가 낮으면(1차) 직선이라 둘 다 못 맞춤 = 과소적합.
가운데(3~5차)면 추세만 잡고 노이즈는 무시 = 테스트오차 최소.
차수가 높으면(9~10차) 훈련점은 다 지나지만 사이에서 출렁 = 과적합.

핵심은 두 막대를 같이 보는 것임.
훈련오차는 차수 올릴수록 계속 내려감 / 테스트오차는 내려갔다 다시 올라감(U자).
테스트오차가 바닥인 차수가 가장 좋은 모델임.

훈련오차↓ · 테스트오차 U자
다항식 차수 · 과적합 실험
훈련점 테스트점
다항식 차수 d3
단순 (직선)복잡 (10차)
적당 · 일반화 좋음
RMSE — 작을수록 잘 맞음
훈련오차0.401
테스트오차0.346

곡선이 추세를 잡되 노이즈는 안 외움. 테스트오차가 가장 낮은 구간 = 일반화 잘 됨.

P.05통계 · 25

목표는 일반화 — 새 데이터에서 잘 맞추기

모델을 잘 만들었다의 진짜 기준은 훈련 성적이 아님.

훈련 데이터는 정답을 보고 맞춘 거라 / 잘 나와도 당연함.
진짜 시험은 본 적 없는 데이터를 얼마나 맞추냐임 = 일반화 성능.

그래서 다음 강에서 데이터를 훈련·검증·테스트로 쪼갬.
모델이 외운 데이터로 채점하지 않으려는 장치임.
과적합 막는 정규화·교차검증·조기종료도 전부 이 일반화를 위한 도구임.

Q. 훈련 성능은 좋은데 새 데이터에서 나쁘면? (과소적합 · 과적합 · 고편향 · 잡음 부족)정답은 과적합(고분산)임.
훈련오차는 낮은데 테스트오차가 높다 = 모델이 훈련 표본의 노이즈까지 외운 상태.
표본이 조금만 바뀌어도 예측이 크게 출렁임 = 고분산.
반대로 둘 다 높으면 과소적합(고편향)임.
훈련 점수가 아니라 테스트 점수
무엇으로 판단하나
신호진단
훈련오차만 낮음과적합 의심노이즈까지 외움 · 고분산
훈련·테스트 둘 다 높음과소적합표현력 부족 · 고편향
테스트오차 최소좋은 모델일반화 성공 · 목표점

3줄 요약

  1. 1외우기 vs 일반화 — 둘 사이의 줄타기
  2. 2과적합과 편향-분산은 분포 → 표본 → 검정 → 회귀 → 모델 선택 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

과적합과

외우기 vs 일반화 — 둘 사이의 줄타기

분포

데이터가 어떤 모양으로 퍼져 있는지 나타낸 것

표본

전체를 알기 위해 뽑아 본 일부 데이터