Study/머신러닝

1. overfitting & underfitting

우당탕탕코린이 2024. 2. 13. 17:40

 

 

 

Bias & Variance

https://www.quora.com/What-is-an-intuitive-explanation-for-bias-variance-tradeoff

  • Bias
    • 가정(추정)이 얼마나 편향되어 있는가?
    • 데이터 내에 있는 모든 정보를 고려하지 않음
  • Variance
      • 입력 데이터의 변동에 따른 추정값 변화
      • 데이터 내에 있는 에러나 노이즈까지 잘 잡아냄
      • 출력이 얼마나 일관적으로 나오는가?

 

Bias-Variance Tradeoff

  • MSE (Mean Square Error)를 통하여 bias와 variance의 tradeoff를 살펴볼 수 있다.
    • 우리가 흔히 아는 MSE는 수식을 통하여 bias의 제곱, variance, noise 총 3개로 분할될 수 있다.
    • 이 때, noise는 제거할 수 없는 에러이다.
    • 수식을 보면 알 수 있듯이 bias와 variance는 제곱이 포함되어 있어 모두 양수이다. 
    • 즉, MSE가 고정되면 하나가 커지면 하나는 작아지는 trade-off 관계에 있다고 말할 수 있다.
      https://moon-walker.medium.com/bias-variance-trade-off-%EC%97%90-%EB%8C%80%ED%95%B4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-39453e5044db

 

 

 

Overfitting(과적합)

  • 기계학습 모델이 주어진 데이터에만 너무 특화되어 이전에 보지 못한 새로운 데이터에 대해 성능이 떨어지는 현상
  • Low Bias, High Variacne 
    • 학습 데이터의 모든 샘플에 대해 편향 없이 잘 추정
    • 그러다 보니 학습 데이터의 작은 변화에도 민감하게 반응하기 때문에 추정값의 변화 폭이 크다.
    • 학습했던 데이터와 새로운 데이터 사이에 작은 차이만 있어도 추정값이 들쭉날쭉해진다.
    • 일반화 성능이 떨어진다.

 

Underfitting 

  • overfitting의 반대
  • 모델이 제대로 학습되지 않은 상태.
  • underfitting이 되면 테스트 데이터셋에서도 잘 작동하지 않는다.
  • High Bias, Low Variance
    • 모델이 편향성을 가지고 있어 모든 학습 데이터를 다 고려해주지 않음.

 

https://medium.com/greyatom/what-is-underfitting-and-overfitting-in-machine-learning-and-how-to-deal-with-it-6803a989c76

 

 

Overfitting을 피하는 방법

  • Cross-Validation
  • 정규화 (Regularization)
    • 모델이 복잡할수록 과적합되기 쉽다.
    • 정규화란, 학습 중에 모델이 복잡해질수록 불이익을 받도록 하는 방법
    • 모델이 복잡해졌을 때 에러 함수에 정규화 변수를 추가. (패널티 추가) (weight decay)
    • 정규화 파라미터 값은 잘 조절되어야 한다.
      • 너무 작으면 영향이 없어 과적합을 야기하고, 
      • 너무 크면 underfitting이 발생할 수도 있다.
  • 조기 중단 ( Early Stopping)
    • 학습을 조기에 중단시키는 방법.
    • 학습 시간에 제약을 두거나, 학습 중단 조건을 설정.
    • 일반적으로는 validation error를 활용.
  • 특성 선택 (Feature Selection)
    • feature가 늘어날수록 모델이 복잡해짐 -> 과적합될 가능성이 높음.
    • 때문에 데이터 내의 모든 특성들 중 일부만 선택해 사용하는 방법.
    • 후진 방법
      • 특성을 처음에는 모두 사용하고 반복 시행 단계마다 특성을 제거해 나가는 방법
    • 전진 방법
      • 가장 최소한의 특성 집합으로 시작해 반복 시행 단계마다 특성을 늘려 나가는 방법
  • 차원 축소 (Dimenstion Reduction)
    • 고차원 데이터를 저차원 공간의 데이터로 변환하는 방법
    • ex) PCA(Principle Component Analysis)
    • 특성 선택은 처음 데이터의 피쳐값들이 유지되지만, 차원 축소는 차원을 변환하기 때문에 특성의 종류와 값 자체가 바뀐다.
    • 변환하면서 손실되는 정보들이 있을 수 있는데, 이를 최소한으로 유지하는 방법들이 존재.
  • 데이터 증강 (Data Augmentation)
    • 가지고 있는 데이터를 변형해서 새로운 데이터를 생성.

 

 

 

 

 

Reference