ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Variance <->Bias 와의 균형 문제(trade-off)
    Data miner 2019. 6. 11. 14:27
    728x90

    * 본 블로그 내용은 연세대학교 김창욱 교수님의 '고등지능정보공학'의 수업 교재 내용을 정리하였습니다(학부생 및 대학원생 분들에게 머신러닝 부분에 대해서 기초를 탄탄하게 할 수 있다는 점에서 추천하는 강좌이기도 합니다.) 개인적인 공부를 위해 작성한 것입니다.

    이 문제는 어느 머신러닝 강좌를 들어도 재차 강조되었던 부분이다. 특히, Bias - Variance trade-off이 지도 학습에서 매우 중요하게 다뤄진다.

    먼저 이 개념을 다루기에 앞서서 에러에 대한 이해가 전제되어야 한다. 최적의 이상적인 모델 f(x) 와 추정 모델의 f(x)(아래 식에서 모자쓴 f(x)에 해당한다) 있다고 해보자. 실제값과 우리가 생성한 모델로 예측한 값에 대한 차이는 다음과 같은 식으로 나타낼 수 있다. 

    여기서 Reduciable error란, 모델의 추정을 통해서 줄일 수 있는 에러값을 나타내고, Irreduciable error란 Var(e)에 해당하는 값으로서 최적의 모델로도 줄일 수 없는 에러를 뜻한다. 여기서 우리의 모델은 이 reduciable error값을 최소화시키는 값을 향해 최적의 모델을 찾는 것을 목표로 한다. 

    그렇다면, 모델의 선정은 어떻게 해야 할까? 이 때, Bias - Variance trade-off이 다뤄진다. 최적의 모델을 탐색해 나가는데 있어서 서로 상충되는 목표들을 조정해야 한다. 이 목표들은 "모델의 학습데이터셋의 에러를 낮출 것인가?"와 "모델의 새로운 데이터셋의 에러를 낮출 것인가?"에 해당한다. 이 두 가지 목표를 모두 다 달성하기는 사실상 불가능하며, 한가지 목표에 치중할 경우 다른 목표값은 낮아진다는 문제점을 내포하고 있다.

    여기서 Bias는 우리의 모델로 학습한 추정값들의 평균과 이상적인 모델의 추정값과의 차이를 의미한다. 이 값은 모델의 표현력이 커질 수록 작아지는 특성을 가지고 있다. 간단한 모델일수록 데이터를 표현할 수 있는 표현력이 작아지므로, 이 차이값, 즉 편향값Bias가 일반적으로 커진다. 

    Variance는 데이터가 달라질수록 우리의 추정 모델이 얼마나 달라질 수 있는지를 나타내며, 일반적으로 모델이 표현력이 복잡할 수록 variance는 커진다는 특성을 가지고 있다. 위의 식의 후반 부분은 아래와 같은 수식으로 변형되어 나타날 수 있다. variance부분을 보면, 모델의 예측값들의 평균과 개별 예측값들의 차이의 제곱에 해당하는 것을 볼 수 있다. 한편으로, Bias는 모델의 예측값의 평균과 이상적인 모델의 예측값의 차이로 나타낼 수 있으며 이 경우 Bias값 자체는 제곱이 아니다.

     

    항상 모델을 선정하고, 모델을 학습시켜야 하는데 있어서 고려해야 할 점은 학습 데이터셋에 과적합하지 않게 해야 한다는 점이다. 적절한 지점을 찾아서 학습 데이터셋과 새로운 데이터셋(테스트 데이터셋)에 대해서 예측력이 적당해지도록 모델을 학습시키는 것이 관건이라고 하겠다. 

Designed by Tistory.