편향과 분산 관점에서 배깅(Bagging)과 부스팅(Boosting)의 비교

편향은 크기가 n인 데이터 세트에서 샘플링 후 훈련시킨 모델 출력의 평균값과 실제 모델 출력 사이의 편차를 말한다. 일반적으로 모델에 대한 가설을 잘못 세우면 발생한다. 편향으로 생기는 오차는 일반적으로 훈련오차에 발생한다.

분산은 크기가 n인 데이터 세트에서 샘플링 후 훈련시킨 모델 출력의 분산을 뜻한다. 분산은 일반적으로 모델의 복잡도가 데이터 크기에 비해 높을 때 발생한다. 분산으로 인한 온차는 일반적으로 훈련오차 대비 테스트 오차의 증가에서 나타난다.

직관적으로 이해하기 쉽다는 특징에서 많이 사용하는 배깅이나 부스팅은 각각 분산 또는 편향에 초점을 맞춰서 최종 모델을 생성한다.

배깅은 Bootstrap Aggregating을 줄여 표현하는 것이다. 다시 말해서 리샘플링해서 각 샘플에서 훈련된 모델의 평균 값을 취한다. 통계학에서 모평균과 표본평균은 동일한데 반해서 표본평균의 분산은 표본의 크기로 나눈 것과 같다. 배깅은 다음과 같이 n개의 독립적이고 상호 연관되어 있지 않은 모델의 예측 결과의 평균을 취해 분산이 원래 단일 모델의 1/n이 되도록 한다. 사실 모델간에 독립성을 보장하기는 매우 어렵다. 그래서 랜덤포레스트(Random Forest)는 랜덤으로 Feature를 부분적으로 선정해서 모델을 생성한다. 이를 통해 상호 상관성을 조금이나마 낮추려고 시도한다.

부스팅은 약한 분류기를 선정 후에, 약한 분류기의 오차 또는 잔차를 다음 모델의 입력으로 넣고 학습한다. 예를 들어 고객의 나이를 예측한다고 할 때, A라는 고객의 실제 나이가 25세라고 가정하자. 첫번째 모델에서 22세라고 예측을 하면 잔차는 3이다. 두번째 모델은 이제 A의 나이를 3세로 설정하고 학습한다. 두번쨰 모델이 A의 나이를 3살로 분류하고 학습한다면 이후에 두 모델의 결과를 더해서 A의 실제 나이를 예측할 수 있게 된다. 이런식으로 손실함수를 계혹해서 최적화함으로써 정답에 가도록 하는 것이 부스팅이다. 대신 부스팅은 분산을 배깅 대비 효과적으로 줄여주지는 못한다. 분류기사이의 상관성이 당연하지만 강하기 때문이다.

따라서 문제에 대한 가설을 세울 때 모델의 복잡도에 따른 편향과 분산을 고려해야 할 필요가 있고 이에 따라 모델 선택이 바뀔 수 있다.