IT지식/인공지능

머신러닝 - 지도학습 개념 정리(과적합, 과소적합, 학습 오차 등)

매 석 2022. 10. 31. 17:47
반응형

1. 지도학습이란?

- 지도학습의 목표는 학습에 사용하지 않은 데이터를 예측하고 분류하는 것이다.
  이를 '일반화'라고 한다. 완벽하게 일반화된 모델은 모든 데이터의 레이블을 정확히 예측한다.

 

2. 일반화 오차, 학습 오차, 테스트 오차 

- 하지만 일반화가 완벽히 이뤄지지 않은 모델도 있다. 일반화 오차(일반화 성능)는 모델이 얼마나
  일반화에 실패 혹은 성공했는지를 표현하는 개념이다.
  하지만 일반화 오차를 계산하기 위해서는 모든 데이터를 사용해야 하는데, 실제 세상의 데이터는
  알려지지 않은 복잡한 상호작용 속에서 생성돼 알기가 매우 힘들다. 그래서 '학습 오차'를 사용한다.


  학습 오차는 일반화 오차와 비슷하면서 계산하기도 쉽다. 이와 비슷한 개념으로 '학습 성능'이 있다.
  학습 오차는 모델이 학습에 사용한 데이터를 얼마나 틀리거나 맞추는지를 표현한 것이다.
  우리가 가진 데이터에서 성능을 측정하면 되므로 계산하기가 간편하다. 이때 사용한 데이터는
  '학습 데이터셋' 또는 '훈련 데이터셋'이라 한다.


  하지만 학습 오차를 일반화 오차 대신 사용하는 것은 문제가 있다. 
  일반화 오차는 학습에 사용되지 않은 데이터를 포함해 모든 데이터를 예측하지만,
  학습 오차는 학습에 사용된 데이터의 예층 성능만들 표현하기 때문이다.
  그래서 학습 오차와 일반화 오차의 중간 쯤에 위치하고 있는 개념인 테스트 오차를 사용한다.
  테스트 오차는 학습에 사용된 적이 없는 데이터를 얼마나 잘 예측하는지를 나타낸다.
  이와 비슷한 예로는 테스트 성능이 있다. 이때 사용하는 데이터를 '테스트 데이터셋'이라 한다.
  주의할 점은 테스트 데이터셋과 학습 데이터셋이 겹친다면 테스트 오차가 일반화 오차를 제대로 추정할 수 없다.
  이를 방지하기 위해서는 전체 데이터셋을 학습 데이터셋과 테스트 데이터셋으로 나눠야 한다.

 

3. 과적합과 과소적합

- 학습이 진행될수록 학습 오차는 계속 작아진다.
  하지만 테스트 오차는 학습 오차와 함께 줄어들다가 어느 지점을 지나면 오히려 커진다.
  이런 상태를 '과적합' 또는 '과대적합'이라 한다.
  이와 반대로 테스트 오차가 학습 오차와 함께 계속 줄어드는 상태를 '과소적합'이라 한다.

출처 : [머신러닝] - Overfitting (과적합) (tistory.com)


  알맞은 모델은 과대적합과 과소적합 사이에 존재하는데, 이를 '편차-분산 트레이드오프'로 설명할 수 있다.
  학습에 사용하는 데이터셋이 바뀜에 따라 모델의 출력이 얼마나 변하는지를 '분산'이라 하고,
  학습 데이터셋과 모델이 계산한 결과가 엇나가는 것을 '편차'라고 한다.
  즉 과적합 상태는 모델의 분산이 너무 커져버린 상태다.
  반면 편차가 크다는 것은 학습 데이터셋의 정보를 모델이 충분히 학습하지 못한 것을 말한다.
  과소적합 상태는 모델의 편차가 큰 상태라고 할 수 있다.
  즉 지도학습 모델링의 목적은 모델의 분산과 편차를 모두 줄이는 것이다.

 

4. 적합한 모델 만들기

- 편차와 분산을 동시에 충분히 줄이는 것은 불가능하다.
  즉 과적합과 과소적합 상태 사이의 균형을 찾아야 한다.
  과소적합 상태를 탈출하기 위해서는 더 복잡한 모델을 학습시키면 된다.
  과대적합 탈출하기 위해서는 첫째로 학습 데이터의 양을 늘려 분산을 줄인다.
  둘째로 덜 복잡한 모델을 사용한다. 셋째로는 '정칙화'를 사용하는 것이다.
  정칙화는 과대적합을 막기 위해 데이터셋 이외의 정보를 모델에 주입해 편차를 인위적으로 증가시키는 것을 말한다.
  예시로 인공 신경망 모델은 '드롭아웃' 기법을 사용한다.