과적합과 과소적합 차이, 학습 결과를 두 곡선으로 이해하기

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 64회 작성일 26-09-14 09:49

본문

모델을 학습했는데 학습 데이터에서는 잘 맞고 새로운 데이터에서는 결과가 나빠지는 경우가 있습니다. 반대로 학습을 오래 진행해도 처음부터 성능이 충분히 나오지 않기도 합니다.

과적합과 과소적합을 이해하려면 점수 하나보다 학습 결과와 검증 결과를 함께 읽어야 합니다. 이 글에서는 손실이 낮을수록 좋은 상황을 기준으로 두 곡선을 해석하고, 다음 실험에서 무엇을 확인할지 정리합니다.

과적합과 과소적합 차이, 학습 결과를 두 곡선으로 이해하기 관련 설명용 삽화

AI 생성 삽화 · 모델이 데이터에 맞춰지는 정도를 비교하는 개념 삽화입니다. 실제 실험 결과나 정량 그래프가 아닙니다.

핵심 정리
과소적합은 학습 데이터의 패턴도 충분히 설명하지 못하는 상태이며, 과적합은 학습 데이터에 맞춘 정도에 비해 새로운 데이터에서 성능이 떨어지는 상태입니다. 곡선의 간격만으로 원인을 확정하지 말고 지표, 데이터 분리, 실험 조건을 함께 확인합니다.


1. 먼저 두 곡선이 무엇을 나타내는지 확인합니다

학습 손실은 모델을 학습시킨 데이터에서 계산한 오차이고, 검증 손실은 학습에 직접 사용하지 않은 검증 데이터에서 계산한 오차입니다. 동일한 평가 조건에서 둘을 비교하면 익숙한 데이터와 별도 데이터 사이의 차이를 살펴볼 수 있습니다.

그래프를 읽기 전에는 세로축이 손실인지 정확도인지부터 봅니다. 손실은 보통 낮을수록 좋지만 정확도는 높을수록 좋으므로 같은 모양을 반대로 해석할 수 있습니다.

가로축도 확인해야 합니다. 학습 횟수를 늘리는 그래프, 데이터 수를 바꾸는 학습 곡선, 모델 복잡도를 바꾸는 검증 곡선은 서로 다른 실험입니다.

scikit-learn 문서는 데이터 수를 바꾸는 learning curve와 하이퍼파라미터를 바꾸는 validation curve를 구분합니다.


2. 과소적합은 학습 데이터에서도 충분히 맞추지 못합니다

과소적합을 설명하는 출발점은 학습 성능 자체가 목표에 못 미친다는 점입니다. 모델이 너무 단순하거나 필요한 입력 정보가 부족한 상황을 생각해볼 수 있습니다.

설명용으로 상품 준비 시간을 예측하는 작은 실험을 가정해봅니다. 주문 수만 입력했는데 실제 준비 시간에는 상품 종류와 동시 작업 인원도 영향을 준다면, 모델 크기를 조금 바꾸는 것만으로는 표현하지 못한 정보를 해결하기 어렵습니다.

학습 손실과 검증 손실이 모두 높다는 관찰을 적은 다음, 입력 정보와 목표값이 제대로 연결되어 있는지부터 확인할 수 있습니다. 아직 충분히 학습되지 않았거나 설정에 오류가 있는 경우도 있으므로 두 손실이 높다는 이유만으로 곧바로 모델을 교체하지 않습니다.

가장 단순한 기준 모델과 비교하고 데이터 몇 건의 입력과 정답을 직접 읽어보면 다음 실험의 질문을 구체화할 수 있습니다.


3. 과적합은 익숙한 데이터의 성능만 좋아지는 모습입니다

과적합에서는 학습 데이터에 매우 잘 맞춘 결과가 새로운 데이터에서도 그대로 이어지지 않습니다. scikit-learn의 과소적합·과적합 예제도 모델의 복잡도에 따라 학습 자료에 맞추는 모습과 실제 패턴을 설명하는 모습이 달라짐을 보여줍니다.

앞의 가상 준비 시간 문제에서 특정 주문 번호에 붙은 우연한 차이를 외우는 모델을 상상해볼 수 있습니다. 이미 본 주문에서는 오차가 작아도 다음 주의 새 주문에 적용할 때는 그 번호가 도움이 되지 않을 수 있습니다.

이때 ‘학습 오차가 더 줄었으니 모델이 개선되었다’고만 기록하면 검증 결과를 놓칩니다. 학습 단계별로 두 결과를 함께 남기고 검증 성능이 좋아지는 구간과 나빠지는 구간을 비교합니다.

다만 차이가 나타났다는 사실은 조사할 신호이며, 실제 원인은 데이터와 평가 조건을 확인한 뒤 판단해야 합니다.


4. 간격보다 먼저 비교 조건을 맞춥니다

두 곡선의 차이를 보려면 가능한 한 같은 기준으로 평가해야 합니다. 학습 중에 기록한 손실과 학습을 끝낸 모델로 다시 계산한 손실은 계산 시점이나 동작 모드가 다를 수 있습니다.

그래프에 어떤 결과를 넣었는지 실험 기록을 확인하는 이유입니다. 검증 데이터가 학습 데이터보다 훨씬 어려운 구성인지도 살펴볼 수 있습니다.

예를 들어 학습 자료에는 간단한 주문만 많고 검증 자료에는 복잡한 주문이 몰려 있다면 모델 복잡도만의 문제로 설명하기 어렵습니다. 반대로 같은 주문의 거의 동일한 복사본이 양쪽에 들어가면 검증 성능이 실제보다 좋아 보일 수 있습니다.

분리 기준을 바꾸기 전에는 주문 단위인지 날짜 단위인지와 실제 사용할 상황을 적어봅니다. 곡선을 깔끔하게 만드는 것이 목적이 아니라 새로운 입력을 받는 상황에서 모델이 어떻게 동작할지 판단할 수 있는 비교를 만드는 것이 목적입니다.


5. 다음 실험은 바꾸는 항목을 좁혀 설계합니다

과소적합이 의심될 때는 입력을 보완하거나 모델의 표현 능력, 학습 설정을 살펴볼 수 있습니다. 과적합이 의심될 때는 모델 복잡도를 줄이거나 규제를 조정하는 등의 후보를 검토할 수 있습니다.

어느 방법이 효과가 있는지는 실제 검증이 필요합니다. 한 번에 입력, 모델, 데이터 분리까지 모두 바꾸면 결과가 달라진 이유를 설명하기 어렵습니다.

가상 실험 노트에는 ‘이번에는 주문 종류 입력만 추가하고 평가 자료는 유지한다’처럼 변경 한 가지와 기대를 적을 수 있습니다. 다음 줄에는 학습 손실, 검증 손실, 학습 시간, 특히 틀린 사례를 남깁니다.

데이터 수를 늘리는 실험에서는 새 데이터가 기존과 어떤 점에서 다른지도 적습니다. 단순히 행 수가 늘었다는 사실과 실제 상황을 더 잘 대표하게 되었다는 사실을 같은 의미로 쓰지 않는 것이 좋습니다.


6. 검증 데이터를 반복해서 보고 고른 결과는 따로 평가합니다

검증 결과를 보면서 설정을 계속 고르면 선택 과정 자체가 해당 검증 자료에 맞춰질 수 있습니다. scikit-learn 문서도 하이퍼파라미터 선택에 사용한 검증 점수만으로 최종 일반화 성능을 평가하지 않도록 설명합니다.

그래서 모델 선택에 사용하지 않은 별도 테스트 자료를 남겨 최종 평가하는 흐름을 생각할 수 있습니다. 예를 들어 실험 A와 B를 검증 자료로 비교해 B를 선택한 뒤, 최종 테스트 결과는 별도 칸에 기록합니다.

테스트 결과를 보고 다시 여러 설정을 고르기 시작했다면 그 자료를 처음 보는 평가 자료처럼 소개하지 않습니다. 발표 자료에서도 가장 좋은 숫자 하나만 가져오기보다 선택 과정과 최종 확인을 구분합니다.

이렇게 정리하면 ‘검증 점수가 높다’는 문장이 어떤 실험 절차를 거친 결과인지 독자가 이해할 수 있습니다.


7. 실험 기록을 한 문장으로 다시 설명해봅니다

개념을 이해했는지 확인하려면 자신의 실험을 원인 단정 없이 설명해보는 방법이 있습니다. 가상 기록으로 ‘같은 분리 자료에서 학습 횟수를 늘리자 학습 손실은 계속 줄었지만 검증 손실은 후반에 증가했습니다’라고 쓸 수 있습니다.

여기에 ‘과적합 가능성을 살펴보기 위해 검증 성능이 좋았던 시점과 복잡도를 조정한 모델을 비교하겠습니다’라고 다음 행동을 붙입니다. 관찰과 해석, 후속 실험이 구분된 문장입니다.

반대로 ‘간격이 있으므로 무조건 과적합입니다’라는 문장은 비교 조건을 빠뜨립니다. 오차가 큰 주문 몇 건도 함께 적으면 평균값이 놓친 사례를 확인할 수 있습니다.

평가 지표를 바꿨다면 이전 점수와 같은 수치처럼 이어 붙이지 말고 새 지표의 의미를 설명합니다. 곡선은 모델에 붙이는 등급표가 아니라 다음 질문을 고르는 자료로 읽으면 됩니다.


8. 자주 묻는 질문

Q1. 학습 점수가 높으면 좋은 모델인가요?

학습 자료에서 잘 맞는다는 뜻이며 새로운 자료에서도 같은 성능을 낸다는 보장은 아닙니다. 검증 결과와 실제 사용할 데이터의 조건을 함께 확인해야 합니다.

Q2. 두 손실의 간격이 작으면 충분한가요?

둘 다 높다면 간격이 작아도 목표 성능에 못 미칠 수 있습니다. 간격뿐 아니라 각각의 수준과 기준 모델 대비 결과를 살펴봅니다.

Q3. 데이터만 더 모으면 과적합이 해결되나요?

데이터 추가가 도움이 되는 경우가 있지만 양만 늘린다고 해결되는 것은 아닙니다. 새 데이터의 다양성, 중복, 목표 상황과의 관련성을 함께 확인합니다.

Q4. 곡선을 볼 때 가장 먼저 확인할 것은 무엇인가요?

가로축이 무엇을 바꾼 실험인지와 세로축 지표의 좋은 방향을 먼저 확인합니다. 그다음 두 결과의 평가 조건과 데이터 분리 기준을 읽습니다.


참고 자료

댓글목록

등록된 댓글이 없습니다.