공든탑앱 열기

과대적합 방지

빅데이터분석기사 · 분석모형 평가 및 개선 · 약 12분

쉽게 말하면

시험 문제 답을 통째로 외운 학생은 같은 문제는 다 맞히지만 숫자만 바뀌어도 틀려요. 이게 과대적합이에요. 모형이 학습 데이터의 우연한 잡음까지 외워 버린 거죠. 모형을 조금 단순하게 만들거나(규제), 일부러 방해하거나(드롭아웃), 적당할 때 멈추거나(조기 종료), 연습 문제를 늘려서(데이터 증강) 막아요.

시험용 정의

과대적합(overfitting)은 모형이 학습 데이터의 잡음까지 학습해 학습 성능은 높지만 새 데이터에 대한 일반화 성능이 떨어지는 상태다. 반대로 모형이 너무 단순해 학습 데이터조차 잘 맞히지 못하면 과소적합이다. 모형이 복잡해질수록 편향(평균적으로 틀리는 정도)은 줄고 분산(데이터가 바뀔 때 흔들리는 정도)은 커지는데, 이를 편향-분산 트레이드오프라 한다. 과대적합을 막는 방법은 데이터 늘리기(수집, 데이터 증강), 모형 단순화(변수·층·나무 깊이 줄이기, 가지치기), 가중치에 벌점을 주는 규제(L1·L2), 신경망의 드롭아웃·조기 종료·배치 정규화, 그리고 앙상블이다.

비유로 이해하기

옷을 맞출 때 한 사람의 오늘 자세에 딱 맞춰 재단하면 내일 조금만 움직여도 불편하다(과대적합). 너무 헐렁하게 만들면 아무에게도 안 맞는다(과소적합). 적당한 여유를 두고 재단하는 것이 일반화다.

자세히

과대적합과 과소적합

상태학습 성능새 데이터 성능원인
과소적합낮음낮음모형이 너무 단순, 학습 부족 (편향 큼)
적정높음높음알맞은 복잡도
과대적합아주 높음낮음모형이 너무 복잡, 데이터가 적음 (분산 큼)

학습 오차와 검증 오차를 학습 횟수(또는 복잡도)에 따라 그리면, 학습 오차는 계속 줄지만 검증 오차는 줄다가 다시 늘어난다. 다시 늘기 시작하는 곳이 과대적합의 시작이다.

규제

규제벌점효과회귀 이름
L1가중치 절댓값의 합 × λ일부 가중치를 정확히 0 으로, 변수 선택 효과라쏘
L2가중치 제곱의 합 × λ가중치를 고르게 작게, 0 이 되지는 않음릿지
L1 + L2둘을 섞음변수 선택과 안정성 함께엘라스틱넷

λ(규제 강도)가 클수록 모형이 단순해진다. 너무 크면 과소적합이 된다. 신경망에서 L2 규제는 가중치 감쇠라고도 부른다.

신경망에서 쓰는 방법

방법하는 일
드롭아웃학습할 때마다 일부 뉴런을 무작위로 꺼 특정 뉴런에 기대지 않게. 예측할 때는 모두 켬
조기 종료검증 오차가 더 줄지 않거나 늘기 시작하면 학습을 멈춤
배치 정규화미니배치마다 층 입력을 평균 0, 분산 1 근처로 맞춰 학습을 안정시키고 규제 효과도 냄
데이터 증강이미지를 회전·뒤집기·자르기·밝기 조절해 학습 데이터를 늘림

그 밖의 방법

  • 의사결정나무: 깊이 제한, 가지치기
  • 변수 줄이기: 변수 선택, 주성분으로 차원 축소
  • 앙상블: 여러 모형의 평균(배깅, 랜덤 포레스트)은 분산을 줄인다
  • 교차 검증으로 과대적합 여부를 확인하고 초매개변수를 고른다

시험에 이렇게 나와요

출제기준 4과목 '과대적합 방지'

확인 문제

Q1. 학습 데이터 정확도 99%, 평가 데이터 정확도 70% 인 모형의 상태는?

  1. 과소적합
  2. 데이터 불균형
  3. 적정 적합
  4. 과대적합
정답 보기

4번 과대적합

학습 성능만 높고 새 데이터 성능이 크게 떨어지면 과대적합이다. 둘 다 낮으면 과소적합이다.

Q2. 일부 가중치를 정확히 0 으로 만들어 변수 선택 효과가 있는 규제는?

  1. L1 규제
  2. 드롭아웃
  3. 배치 정규화
  4. L2 규제
정답 보기

1번 L1 규제

절댓값 벌점을 주는 L1(라쏘)이다.

Q3. 과대적합을 막는 방법으로 알맞지 않은 것은?

  1. 드롭아웃을 쓴다
  2. 조기 종료를 쓴다
  3. 은닉층과 뉴런 수를 크게 늘린다
  4. 학습 데이터를 늘린다
정답 보기

3번 은닉층과 뉴런 수를 크게 늘린다

모형을 더 복잡하게 하면 과대적합이 심해진다.

Q4. 모형의 복잡도를 높일 때 일반적으로 일어나는 일은?

  1. 편향 감소, 분산 증가
  2. 편향·분산 모두 증가
  3. 편향·분산 모두 감소
  4. 편향 증가, 분산 감소
정답 보기

1번 편향 감소, 분산 증가

복잡할수록 학습 데이터에 잘 맞아 편향은 줄지만 데이터에 따라 크게 흔들려 분산이 는다.

Q5. 드롭아웃에 대한 설명으로 옳은 것은?

  1. 가중치를 0 으로 만드는 규제다
  2. 예측할 때도 뉴런을 무작위로 끈다
  3. 학습률을 자동으로 바꾼다
  4. 학습할 때 일부 뉴런을 무작위로 꺼 과대적합을 줄인다
정답 보기

4번 학습할 때 일부 뉴런을 무작위로 꺼 과대적합을 줄인다

학습할 때만 쓰고, 예측할 때는 모든 뉴런을 쓴다.

Q6. 이미지 분류에서 학습 이미지를 뒤집고 회전시켜 데이터를 늘리는 방법은?

  1. 차원 축소
  2. 데이터 증강
  3. 정규화
  4. 언더샘플링
정답 보기

2번 데이터 증강

데이터 증강이다. 뒤집기·회전·자르기로 학습 데이터를 늘려 과대적합을 줄인다. 언더샘플링은 많은 범주의 데이터를 줄이는 방법이다.

헷갈리기 쉬운 O·X

학습 데이터에서 성능이 가장 높은 모형이 항상 가장 좋은 모형이다.

정답 보기

X 과대적합일 수 있다. 새 데이터 성능(검증·평가)으로 고른다.

L2 규제는 가중치를 정확히 0 으로 만들어 변수를 없앤다.

정답 보기

X L2 는 고르게 줄일 뿐 0 으로 만들지 않는다. 0 으로 만드는 것은 L1.

규제 강도 λ 를 너무 크게 하면 과소적합이 될 수 있다.

정답 보기

O

함께 보면 좋은 개념