[ML/DL] Trade-Off(bias - variance)

모든 기술은 하나가 좋아지면, 반드시 하나가 나빠지기 마련이다. 서로 오르내리는 여러 지표들, 그 사이에서 절충안을 찾아내는 Trade-Off를 고려한 의사결정이 필요하다. 특히 머신러닝 엔지니어들은 각자 상황에 맞게 정확도를 택할 것인지, 속도를 높일 것인지에 대한 고민을 가지고 그 절충안을 찾기 위한 노력이 필요하다.

 

특히 머신러닝에서 편향(Bias)와 분산(Variance)의 Trade-Off는 지도학습(Supervised Learning)의 Error를 생각할 때 중요하게 생각해야하는 요소다. 아래는 Bias-Variance Trade-Off로 잘 알려진 사진 자료이다.

 

앞서 편향(Bias)과 분산(Variance) Trade-Off를 정리하기 이전에, 편향과 분산에 대해 간단하게 정의해보자.

 

편향(Bias)

 

Bias는 지나치게 단순한 모델로 인한 Error라고 볼 수 있으며, 예측 값(Y_hat)과 실제 값(Y)의 차이로 나타낼 수 있다. Bias가 크면, Under-Fitting을 유발할 수 있으며 모델의 편향이 크다는 것은 모델에 중요한 부분을 반영하지 않은 것은 아닌지 되돌아 볼 필요가 있다. 

 

분산(Variance)

 

Variance은 지나치게 복잡한 모델로 인한 Error라고 볼 수 있으며, 학습한 모델이 예측한 값의 변동성을 의미한다.  즉, Variance가 크면 훈련 데이터에 지나치게 Over-Fitting을 유발할 수 있다. Variance가 큰 모델은 훈련 데이터에 Over-Fitting되어 Generalization performance가 낮게 나오는 모델이 된다. 

 

Bias & Variance Trade-Off

 

 

해당 그림은 Bias, Variance를 그래프로 표현한 그림이다. 두 그래프를 Bias와 Variance 관점에서 뜯어보자.

 

Bias의 관점에선 왼쪽 그래프의 예측 값과 실제 값의 차이가 오른쪽 그래프보다 크다고 볼 수 있다. 오른쪽 그래프의 경우에는 Data에 Over-Fitting된 모델이며 편향이 0임을 확인할 수 있다. 때문에, 왼쪽 그래프가 오른쪽 그래프보다 상대적으로 Bias가 높다고 볼 수 있다.

 

Variance의 관점에선 왼쪽 그래프보다 오른쪽 그래프가 변동성이 크다고 볼 수 있다. 왼쪽 그래프는 General 하게 모델이 학습되어 있기 때문에, 예측 값에서 일정한 패턴이 나옴을 확인할 수 있다. 반대로 오른쪽 그래프는 주어진 Data에 굉장히 Over-Fitting 되어 있음을 확인할 수 있으며 예측 값에 대한 변동성이 큼을 예측할 수 있다. 때문에, 오른쪽 그래프가 왼쪽 그래프보다 상대적으로 Variance가 높다고 할 수 있다.

 

 

 

 

위 그래프로 Bias와 Variance의 관계를 확인할 수 있다. 즉 Model Complexity가 증가할 수록 Bias는 작아지고 Variance는 커지며 Generalization performance는 낮아짐을 확인할 수 있고, Model Complexity가 감소할 수록(= 모델이 단순해질수록) Bias는 커지고 Variance는 작아지며 Generalization performance는 상대적으로 높아짐을 확인할 수 있다. 때문에 주어진 상황에 적합한 지점을 찾거나 편향과 분산의 합이 최소가 되는 지점을 찾아야 할 필요가 있다.

 


Reference

https://bkshin.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-12-%ED%8E%B8%ED%96%A5Bias%EC%99%80-%EB%B6%84%EC%82%B0Variance-Trade-off

 

머신러닝 - 12. 편향(Bias)과 분산(Variance) Trade-off

편향-분산 트레이드오프 (Bias-Variance Trade-off)는 지도 학습(Supervised learning)에서 error를 처리할 때 중요하게 생각해야 하는 요소입니다. 우선, 아래 그림을 통해 편향(Bias)과 분산(Variance)의 관계를

bkshin.tistory.com

https://www.youtube.com/watch?v=EuBBz3bI-aA

https://velog.io/@zhenxi_23/ML-Overfitting-Underfitting

 

[ML] Overfitting, Underfitting

🤚 참고 아직 ML에 입문한지 한달밖에 안된 머린이가 복습을 위해 '자신만의 언어로' 정리한 글입니다.🤚목표는 일반화의 관점에서 오버피팅과 언더피팅을 설명해보자! 이다.무턱대고 이렇게

velog.io