-
머신러닝 - Bias and Variance trade-off머신러닝 & 딥러닝/머신러닝 기초 2024. 1. 9. 13:53
머신러닝에서 underfitting과 overfitting이란
좋은 머신러닝 모델은 학습 결과와 테스트 결과와의 차이가 적어야한다. 모델이 너무 단순하면 높은 bias로 underfitting 되며 모델이 너무 복잡하면 높은 variance로 overfitting된다.
underfitting이란 모델이 너무 단순해서 부족하게 학습되는 것을 뜻한다. 이 경우는 단순히 모델을 교체해주면 되므로 큰 문제가 되지는 않는다.
overfitting이란 학습 데이터에서 높은 성능을 보이지만 테스트 데이터에서 낮은 성능을 보이는 것을 뜻한다. 이 경우는 hyper-parameter를 조정하는 등의 방식으로 모델을 개선할 수 있다.
Traning error는 학습 데이터 셋에서 발생하는 에러이며 Generalization error는 새로운 입력 값에 대한 오류 예측 값을 의미한다. 즉, 머신러닝에서는 Generalization error와 Training error를 최소화 하는게 목표이다.
Bias와 Variance란
Bias는 예측 값과 실제 정답과 차이의 평균이다. 또 복잡한 문제를 훨씬 간단한 문제로 모델링할 때 발생하는 오류를 뜻한다. 일반적으로 더 복잡한 방법의 경우 낮은 Bias를 갖게 된다. 따라서 Bias가 높다고 하면 예측 값과 정답 값 사이의 차이가 크다는 것을 의미한다.
Variance는 다른 학습 데이터 셋을 갖고 있는 경우 추정치가 얼마나 변할지를 나타내는 것이다. 일반적으로 더 복잡한 방법의 경우 더 높은 Variance를 갖게 된다. 따라서 Variance가 큰 모델은 학습 데이터 셋의 특성을 잘 반영하지만 새로운 데이터 셋에서는 잘 반영하지 못한다.
Bias-Variance Trade off
위 그림에서 빨간색 원이 정답 데이터의 위치이다. Bias와 Variance의 크고 작음에 따라 정답과의 관게는 다음과 같다.
- Low Bias & Low Variance
- 예측 값들이 정답 근처에 분포 되어 있고(Bias가 낮음) 예측 값들이 서로 몰려 있다.(Variance가 낮음)
- 에러율이 가장 작다.
- Low Bias & High Variance
- 예측 값들이 정답 근처에 분포 되어 있고(Bias 낮음) 예측 값들이 서로 흩어져있다.(Variance 높음)
- overfitting 된 모델
- 학습 데이터셋에 적합하지만 노이즈 패턴도 같이 학습하기 때문에 테스트 데이터 셋에서 일반화 하지 못한다.
- High Bias & Low Variance
- 예측 값들이 정답 근처에 분포 되어 있지 않고(Bias 높음) 예측 값들이 서로 몰려있다.(Variance 낮음)
- underfitting 된 모델
- High Bias & High Variance
- 예측 값들이 정답 근처에 분호 되어 있지 않고(Bias 높음) 예측 값들이 서로 흩어져있다.(Variance 높음)
- 에러율이 가장 크다.
위 수식은 MSE(Mean Squared Error)를 나타낸다. 이 수식은 방법이 복잡해질수록 Bias는 감소하고 Variance는 증가하지만 MSE가 커지거나 작아진다는 것을 뜻한다.
위 그림을 보면 테스트 에러가 Bias 감소가 우세함으로 처음에는 감소하다가 Variance 증가가 우세함에 따라 다시 증가하는 것을 볼 수 있다. 따라서 위 그림을 통해 더 flexible하고 complicated한 모델이 항상 좋은 모델은 아니라는 것을 알 수 있다. 즉, 허용 가능한 bias-variance trade off를 찾기 위해 모델을 신중히 평가하는 것이 중요하다.
위 그림을 보면 학습을 하면서 Generalization error가 줄어들다가 다시 증가하는 지점을 확인할 수 있다. 이 지점이 Optimal한 지점으로 Low Bias & Low Variance를 만족하는 지점이다.
정리
머신러닝에서 underfitting, overfitting을 이해하기 위해 Bias와 Variance에 대해서 알아봤다.
Bias란 예측 값과 실제 정답과 차의의 평균이며 학습 알고리즘에서 잘못된 가정을 했을 때 발생하는 오차이다.
Variance는 새로운 데이터 셋에서 추정치가 얼마나 변할지에 대한 것을 의미하며 학습 데이터 셋에 내제된 fluctuation 때문에 발생하는 오차이다.
모델이 underfitting 된 경우 모델을 변경하여 해당 문제를 해결할 수 있고 overfitting 된 경우 hyper-parameter를 조정하면서 문제를 해결할 수 있다.
머신러닝 모델의 목적은 테스트 결과 값과 학습 결과 값의 차이를 최소화 하는 것이다. 즉, Generalization error와 Training error를 최소화 하는 것이 머신러닝 모델의 목표라고 할 수 있다.
Bias Variance trade off란 지도 학습의 알고리즘이 학습 데이터의 범위를 넘어 지나치게 일반화 하는 것을 예방하기 위해 두 종류의 오차(Bias, Variance)를 최소화 할 때 겪는 문제이다. 높은 Variance을 갖는 학습 방법은 학습 데이터 셋을 잘 표현할 수 있지만 노이즈 등으로 overfitting이 발생할 수 있다. 또한 높은 Bias를 갖는 학습 방법의 경우 너무 단순한 모델 생성으로 인해 underfitting이 발생할 수 있다. 따라서 Low Bias & Low Variance를 갖는 Optimal Capacity 지점을 찾는 것이 머신러닝 모델 학습에서의 목표라고 할 수 있다.
참고자료
- https://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff
- https://gaussian37.github.io/machine-learning-concept-bias_and_variance/
- 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
- https://scikit-learn.org/stable/auto_examples/model_selection/plot_underfitting_overfitting.html
'머신러닝 & 딥러닝 > 머신러닝 기초' 카테고리의 다른 글
머신러닝 - Logistic Regression (0) 2024.03.04 머신러닝 - Linear Regression (2) 2024.02.08 머신러닝 - Performance Metrics (평가지표) (2) 2024.01.24 머신러닝 - 지도학습, 비지도학습, 강화학습 (0) 2024.01.22 - Low Bias & Low Variance