목차
출처
1. 개요
머신러닝에서
Bias(편향)는 모델을 통해 얻은 예측값과 실제 정답간의 차이의 평균을 나타낸다.
Variance(분산)는 다양한 데이터 셋에 대하여 예측값이 얼만큼 변화할 수 있는지에 대한 양(예측값의 편차 제곱의 평균)을 나타낸다. (예측값이 얼만큼 퍼져서 다양하게 출력될 수 있는지를 나타냄)
일반적으로 둘은 trade-off 관계에 있어서 한 쪽을 낮추면 한 쪽이 올라간다.
2. Notations
Bias와 Variance의 정의에 대해 설명하기 전에 notation을 정리하자.
•
는 정답 모델에 입력 데이터 가 입력되었을 때, 모델이 출력하는 예측값이다. 정답 모델은 하나이기 때문에 하나의 값만 존재한다.
•
는 머신 러닝 모델에 입력 데이터 가 입력되었을 때, 모델이 출력하는 예측값이다. 모델의 상태(ex. 파라미터 값)에 따라 다양한 값들을 출력할 수 있다. 즉, 여러 값들을 만들어낼 수 있다.
•
는 의 평균(기댓값)에 해당한다.
3. Bias(편향)
Bias는 모델을 통해 얻은 예측값과 실제 정답간의 차이의 평균을 나타낸다. Bias가 높다는 것은 예측값과 정답간의 차이가 크다는 것을 의미한다.
4. Variance(분산)
Variance는 다양한 데이터 셋에 대하여 예측값이 얼만큼 변화할 수 있는지에 대한 양을 나타낸다. 모델이 얼마나 유연한지를 나타내며 본래 분산의 뜻과 같이 예측값이 얼마나 퍼져서 다양하게 출력될 수 있는지를 뜻한다.
5. Bias-Variance Trade-off
우리가 찾고자 하는 Target의 True값을 라고 하자. 그런데 우리가 정답 모델을 갖고 있더라도 예측하거나 해결할 수 없는 error(irreducible error)가 존재한다. 이는 관측에서 오는 error일 수도 있고 다양한 원인이 존재한다. 따라서 으로 표현할 수 있다.
이때 True 값과 우리가 가진 모델의 예측값 간의 오차의 평균을 구하면 다음과 같다.
수식을 보면 noise는 모델과 독립적이기 때문에 모델 학습을 통해 최소화 하는 것이 불가능하다.
Bias 항을 최소화 하기 위해 가 되도록 모델을 학습시키면 variance 항은 이 된다. 반대로 variance를 최소화 하기 위해 (a는 상수)로 설정하면 bias가 증가하게 된다.