I about me

[강의노트 5] Bias-Variance Tradeoff 본문

AI/Lecture note

[강의노트 5] Bias-Variance Tradeoff

ssungni 2024. 6. 13. 15:58

왼쪽처럼 모델을 훈련시킬 때, loss가 줄어드는 것은 매우 좋은 것이다.

그러나, 오른쪽 그림에서 말하듯, 새로운 데이터가 들어왔을 때 train 모델과 test모델의 차이를 줄이는 것이 훨씬 중요

 

그러나, 훈련 데이터에 너무 맞춰져서  오히려 새로운 데이터가 들어왔을 때 성능이 저하될 때가 있는데, 

이를 우리는 Overfitting이라고 하며 이러한 문제를 해결하기 위해

 

1. Bias–variance tradeoff

2. early stopping

3. Model Ensembles

4. Regularization


1. Bias–variance tradeoff

  • Bias: 학습된 모델의 예측값 평균과 실제 값간의 차이를 의미 (학습 능력)
  • Variance: 예측값의 평균과 실제 값간의 차이 (예측 능력)
  • 우리는 일반적으로 모델의 복잡도를 늘리는 것이 목표잖아...?
    • 근데 위에서 뭐래? Overfitting 문제가 일어난대...
    • 그러면 bias를 좀 줄이고, variance는 증가시켜야겠지?
  • 즉, 모델의 복잡도를 적절히 조절하여 bias와 variance 사이의 균형을 맞추는 것이 중요하다

  Variance 작으면 겁나 잘 맞춤
(= 시험에서 틀린 갯수 적으면
학습 겁나 잘한 거)
Variance 크면 겁나 못 맞춤
(= 시험에서 틀린 갯수 많으면
학습 겁나 못한 거)
Bias 작으면 학습 겁나 잘한 거
(= 문제집 풀었을 때 틀린 갯수 적으면
학습 겁나 잘한 거)
대박임 정답에는 가깝지만 못 맞추는 느낌
(인생에서 겁나 아까운 모델들...ㅠㅠ)
Bias 크면 학습 겁나 못한 거
(= 문제집 풀었을 때 틀린 갯수 많으면
학습 겁나 못한 거)
잘못된 걸 겁나 잘 맞춤.
(적어도 모델에서는 그러면 안 됨)
잘못된 걸 겁나 못 맞추는 게 맞지..ㅋ

 

 

2. early stopping

  • 검증데이터가 들어갔을 때 성능이 딱 저하되기 시작할 때, 조기에 학습을 멈추는 것을 말함. 

3. Model Ensembles

  • 여러 개의 다양한 모델을 조합하여 학습하는 

  • bagging: 복원 추출(bootstrap sampling)을 사용하여 다수의 훈련 데이터셋(ex) 80만장씩)을 생성하고, 각각의 데이터셋에 대해 독립적인 모델을 학습
  • boosting: 약한 학습기(weak learner)를 순차적으로 학습시켜 강력한 학습기(strong learner)를 만드는 방법

 

4. Regularization

  • "단일 모델" 성능을 향상시킬 수 있는 방법
  • 이전에 L1과 L2를 배웠지만 실제로는 잘 사용하지는 않는다.
  • Dropout
    • 학습 과정에서 몇몇 뉴런을 0으로 만드는 것
  • Grid Search vs. Random Search
    • Grid search에서 데이터 과학자는 하이퍼 파라미터 값의 그리드를 설정하고 각 조합에 대해 모델과 테스트 데이터에 대한 점수를 훈련한다. 
    • random search은 하이퍼 파라미터 값의 그리드를 설정하고 랜덤 조합을 선택하여 모델과 점수를 학습한다.
      • 이렇게 하면 시도되는 매개 변수 조합의 수를 명시적으로 제어할 수 있다.
      • 검색 반복 횟수는 시간 또는 리소스에 따라 설정된다.
  • 위의 그림처럼 grid layout에서는 9개의 시도 중 3번의 개별 위치만 테스트한다. random layout에서는 9개의 모든 부분이 고유 값을 탐색한다.

 

'AI > Lecture note' 카테고리의 다른 글

[강의노트 2] Activation Function  (0) 2024.06.13
[강의노트 5] Learning rate  (1) 2024.06.13
Contents  (0) 2024.03.27