모든 기술은 하나가 좋아지면, 반드시 하나가 나빠지기 마련이다. 서로 오르내리는 여러 지표들, 그 사이에서 절충안을 찾아내는 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://www.youtube.com/watch?v=EuBBz3bI-aA
https://velog.io/@zhenxi_23/ML-Overfitting-Underfitting
'Analytics' 카테고리의 다른 글
[ML/DL] Activation function(활성화 함수)의 쓸모 (0) | 2024.05.05 |
---|---|
[ML/DL] Faiss(Faicbook AI Similarity Search) 사용법 (0) | 2024.05.03 |
[RecSys] 연관 규칙(Association Rule) (0) | 2024.04.30 |
[Data] 정규화(Normalization) / 표준화(Standardization) (0) | 2024.04.30 |
[ML/DL] Data Representation (0) | 2024.04.15 |