ML

Bias-Variance Trade-off

young_3060 2024. 1. 24. 23:12
728x90

 

이번 포스팅에서는 데이터를 다루면서 한번쯤 들어봤을 Bias-Variance Trade-off에 대해서 알아보고자 한다.

 

Bias는 학습된 모델의 예측값 평균과 실제 값과의 차이를 의미한다. 즉, 높은 bias를 가질수록 제대로된 학습을 하지 못했다고 볼 수 있다.

Variance는 예측값의 평균과 실제 값간의 차이를 의미한다. 

 

언뜻 보면 비슷하다고 느낄 수 있으나, 둘은 다른 개념이다.

Bias는 모델의 학습이 부족하여 제대로 된 값을 내지 못하는 것에서 오는 에러이고,

Variance는 작은 노이즈에서도 overreact를 하는 것에서 오는 에러이다. (과민, Overfitting되었다는 뜻)

 

그럼 Bias와 Variance가 크고 작을 때 어떤 문제가 나타나는지에 대해 알아보자.

 

  Low Variance High Variance
Low Bias 예측이 잘 되고 있다. 예측은 잘 되나 stable하지 못하다.
-> Train 데이터에 Overfitting
High Bias Stable하지만 예측이 잘 되지 못한다.
-> 학습이 덜 됨 (Underfitting)
예측도 잘 안되고 stable하지도 못하다.
-> 학습 덜됨 & overfitting == 총체적 난국

 

 

그래서 이 둘은 Trade off 관계가 되는데, Bias를 낮춰보고자 학습을 진행시키면 모델의 복잡성이 높아지고 Variance가 높아져 Overfitting의 위험이 높아지고, Variance를 잡고자 학습을 덜 시키면 Bias가 낮아져 예측을 잘 못하게 될 수 있다.

 

하지만 예측이 잘 안된 Underfitting이 제일 최악의 상황이므로, 우리는 오히려 Overfitting을 목표로 삼는게 낫다고 교수님께서 말씀하셨다..

 

그렇다면 Overfitting을 피하는 방법은 무엇일까?

사실 가장 단순한 방법이 하나 있다.

학습데이터를 그만큼 엄청엄청 많이 늘려주면 된다! Overfitting을 살펴보면 너무 굽이굽이 Train data에 딱 맞춰진 모델이 나오기 때문인데, 이 굽이굽이를 학습데이터 양으로 찍어누른다는 느낌이랄까?

맞다. 사실상 거의 불가능하다. (특히 개인인 우리는 더더욱ㅋㅋ)

 

 

그리고, 오늘날의 머신러닝 문제 중 하나는 이곳에서 나온다.

복잡한 모델일수록 고차원의 데이터를 다루는데, 그 각각의 고차원 데이터들이 학습에 충분치 않기 때문에 결국 Overfitting되어버리는 문제점이다.

이것이 많이들 들어봤을 차원의 저주, Curse of Dimension이다.

 

 

 

다음 포스팅에서는 차원의 저주와 차원 축소기법에 대해서 알아보도록 하자!

728x90