Bias-Variance Trade-off 란 무엇인가?
Machine Learning Bias
란 파라미터 추정 $\hat\theta$의 평균 $\mathbb{E}[\hat\theta]$ 값이 실제파라미터 $\theta$와 발생하는 차이를 나타냅니다. 따라서 Bias
가 크다면 실제 파라미터와 차이가 크다고 이해할 수 있습니다.
Bias-Variacne Trade-off
를 한 줄로 설명하면, 파라미터 추정 $\hat\theta$들 간의 차이가 클수록, 값들이 멀리 퍼져있는 대신에 그 평균이 실제 파라미터와 비슷해진다는 것 입니다. 이전 포스팅의 예제처럼 남성의 키를 예시로 들어보겠습니다.
실제 평균이 174.21인데, 추정을 Variance가 높게 $173, 174, 170, 178, 176, \cdots$으로 하게 된다면, 평균을 냈을 때 실제 174.21에 가깝다는 것 입니다.
이번에는 Variance가 작게 추정을 해보겠습니다.
$176,175,175.5, \cdots$.
이 경우는 Variance가 작은 대신에 평균이 174.21에서 멀리 떨어지게 됩니다. 물론 똑똑한 독자들이라면 그럼 그냥 174.21에서 가깝게 추정해서, $174.2, 174.3, 174.12, \cdots$ 이렇게 추정하면 Bias
도 작고 Variance
도 작다는 것을 아실 겁니다. 맞습니다. 결국 둘 다 작은 게 좋습니다. 하지만 그게 쉽지 않고, 추정을 할 때, 동일한 성능이라면 어느 한 쪽의 값을 낮출수록 다른 한 쪽이 높아지는 trade-off
가 발생한다는 게 중요합니다.
Bias-Vairance Trade-off with Math
이제 수식을 통해서 제대로 알아보겠습니다.
파라미터에 대한 차이의 평균은 MSE(Mean Squared Error)로 표현이 가능합니다.
$$
\mathbb{E}[(\hat\theta - \theta)^2]
$$
이 수식이 나타내는 의미는 실제 파라미터 $\theta$ 와 추정 파라미터 $\hat\theta$ 차이입니다. 차이가 양수, 음수가 모두 가능하기에 제곱을 해줬습니다. 이렇게 구하면 절대적인 차이의 평균을 구할 수 있습니다.
MSE는 Bias제곱
과 Variance
의 합으로으로 전개가 가능합니다.
$$
\mathbb{E}[(\hat\theta - \theta)^2] = (\mathbb{E}[\hat\theta] - \theta)^2 + \mathbb{E} \Big[(\mathbb{E}[\hat\theta] - \hat\theta)^2\Big]
$$
Bias
: $(\mathbb{E}[\hat\theta] - \theta)^2$Variance
: $\mathbb{E} \Big[(\mathbb{E}[\hat\theta] - \hat\theta)^2\Big]$
그래서 MSE가 동일하다면, Bias 값에 따라서 Variance가 달라지게 되고 그 반대도 성립합니다. 이를 그림으로 나타내면 다음과 같습니다.
결론
머신러닝에서 학습을 진행할수록, 추정되는 파라미터는 실제 파라미터와 차이가 줄어들게 됩니다. 파라미터에 대해서 Bias
가 낮은 게 좋은 것이 아니라 MSE
가 낮은 경우가 제일 좋은 것입니다. 파라미터를 추정하면서 Variance를 높이는 방법은 모델의 Complexity를 높이는 것 입니다. 일차함수보다는 9차 함수로 근사하는 것이 더 높은 Variance를 가지게 되겠지요. 일차함수로 근사하면 대부분 비슷하게 근사가 될 것입니다. 따라서 모델의 Complexity를 높이고, 평균을 내면 가장 좋은 성능을 얻을 수 있습니다. 마치 Ensemble 같은 효과가 있는 것이죠.
References
[*] Machine Learning에서 Bias란 무엇인가?
[*] Biased Estimator, Unbiased Estimator란 무엇인가?
'딥러닝 > 머신러닝(ML)' 카테고리의 다른 글
Overfitting을 해결하는 방법 3가지 (0) | 2021.07.21 |
---|---|
Machine Learning에서 Overfitting과 Underfitting은 뭘까..? (0) | 2021.07.20 |
[Essay] Deep learning으로 조합 문제를 풀 수 있을까? - Neural Combinatorial Optimization (0) | 2021.07.15 |
[Bias 2/3] Biased Estimator, Unbiased Estimator란 무엇인가? (0) | 2021.06.22 |
[Bias 1/3] Machine Learning에서 Bias란 무엇인가? (0) | 2021.06.21 |