본문 바로가기

데이터 다루기/머신러닝 이론

[Machine Learning] Boosting (부스팅)

728x90
반응형

부스팅은 배깅이랑 비슷하면서도 약간 다릅니다.

배깅은 Raw data을 random sampling하여 bootstrap 표본을 만들고, 이 표본을 통해 모델을 각각 Train 하였습니다.

반면에 부스팅은, 우선 Input data는 고정을 하고, 모델을 Train 합니다.

그러면, 첫 모델에 대해서 맞춘 관측치와 틀린 관측치가 있을거잖아요?

다음 모델을 만들 때, 틀린 관측치를 더 잘맞추게 하기 위해서, 오차에 더 큰 가중치를 부여합니다.

이러한 과정을 N번 반복한 후, N개의 모델을 선형 조합하여 최종 예측 값을 출력합니다.

위의 그림을 보면 학습된 모델들이 Weak Classifier로 정의가 됩니다.

이는 Boosting을 할 때, 학습할 모델을 복잡한 모델을 사용하지 않고, 매우 단순한 모델을 사용한다는 것입니다.

예를 들어서, Tree를 사용하되, Prunning을 강하게 적용해서 작은 Tree를 Weak learner로 사용한다는 것입니다.

다음 포스팅부터는 Boosting 중에서 유명한 알고리즘에 대해 배워보려고 합니다.

배울 알고리즘으로는 Adaboost -> Gradient boost -> XGBoost 입니다.

반응형