오답노트

[ML] 앙상블 - Boosting 본문

Python/ML

[ML] 앙상블 - Boosting

권멋져 2022. 8. 26. 17:56

Boosting

부스팅은 여러 모델을 결합해서 오차를 줄이는 모델을 구성하는 방식이다. 모델의 개수에 따라 성능과 예측 결과가 달라진다.

 

(출처 : https://towardsdatascience.com/boosting-algorithms-explained-d38f56ef3f30)

 

위 사진은 부스팅의 원리를 설명하고 있다.

 

우선 모델1은 train 데이터를 받아 학습한다. 그리고 실제값과 예측값의 차이를 모델2의 실제값으로 사용한다.

모델2는 train 데이터를 받아 학습하고, 모델1에서 나온 결과와 예측값의 차이를 모델3의 실제값으로 사용한다.

이 과정을 계속 반복하여 모델들의 예측값을 모두 더한 값을 최종 예측값으로 한다.

 

모델의 개수는 Hyper Parameter로 지정할 수 있고, 모델의 개수가 증가할 수록 복잡도가 증가한다.

 

하지만 각 모델들의 예측값에 Learning rate를 곱해줌으로써 모델의 개수가 증가로 인해 복잡도가 커지는 일을 조금은 방지 할 수 있다. Learning rate의 범위는 0 ~ 1사이의 값이다.

'Python > ML' 카테고리의 다른 글

[ML] 비지도 학습 - k-means  (0) 2022.08.26
[ML] Boosting - Gradient Boost  (0) 2022.08.26
[ML] Bagging - Random Forest  (0) 2022.08.25
[ML] 앙상블 - Bagging  (0) 2022.08.25
[ML] 복잡도와 과적합  (0) 2022.08.25