이 레슨과 관련된 학습 키워드
인공지능(AI) — 기계가 생각하는 법 → 머신러닝 — 데이터에서 지식을 추출하다 → 고급 지도학습 방법 — 앙상블과 최적화 → 앙상블 & 부스팅
그래디언트 부스팅을 이해하고 XGBoost/sklearn GradientBoosting을 사용하여 분류와 회귀를 수행합니다.
부스팅은 약한 모델들을 순서대로 결합해서 강한 모델을 만드는 앙상블 기법이에요.
그림 상단의 타임라인을 보세요. 1990년 Schapire가 약한 학습기를 결합하면 강한 학습기가 된다는 것을 수학적으로 증명했어요.
1997년에 AdaBoost가 등장했고, 2001년 Friedman이 그래디언트 부스팅을 제안했어요.
2014년 Chen과 Guestrin이 엑스지부스트를 발표하면서 부스팅의 시대가 열렸어요.
2017년에는 마이크로소프트의 라이트지비엠과 얀덱스의 캣부스트가 나왔어요.
그림 가운데 파이프라인을 보시면, 부스팅의 핵심 과정이 단계별로 나와 있어요.
스텝 1에서 초기 모델 에프제로를 만들어요. 회귀라면 평균값, 분류라면 로그오즈가 돼요.
초기 모델이 틀린 부분, 즉 잔차 알원이 남아요. 실제값에서 예측값을 빼면 되죠.
스텝 2에서 이 잔차를 새로운 타겟으로 삼아 약한 트리 에이치원을 학습해요.
여기서 학습률 에타를 곱해서 조금씩만 반영해요. 보통 영점일 정도를 써요.
스텝 3에서 또 남은 잔차를 학습하고, 이걸 엠번 반복하면 최종 모델이 완성돼요.
그림 오른쪽 보라색 박스를 보세요. 최종 모델은 약한 트리 100개에서 1000개를 합산한 거예요.
각 트리는 깊이 3에서 6 정도로 약하지만, 합치면 매우 강력해져요.
그림 하단 왼쪽을 보면, 부스팅은 편향을 줄이고 배깅은 분산을 줄여요. 둘은 상호보완적이에요.
가운데 수치 예시를 보세요. 실제값 100에 대해 초기 예측이 70이면 잔차가 30이에요.
학습률 영점일로 100번 반복하면 예측이 98점7까지 올라가요.
오른쪽 박스를 보면, 캐글 대회 우승 솔루션의 80퍼센트 이상이 그래디언트 부스팅을 사용해요.
금융의 신용평가, 의료의 질병 예측, 추천 시스템의 CTR 예측에도 핵심적으로 쓰여요.
이전 모델이 틀린 부분을 다음 모델이 배우는 "잔차 학습"이 부스팅의 본질이에요.
다음으로 이 잔차 학습 과정을 시각적으로 더 자세히 살펴볼게요.
선생님: 부스팅은 순차적으로 모델을 쌓는다고 했는데, 왜 병렬로 학습하는 배깅보다 나을 수 있을까요?
학생: 부스팅은 이전 모델이 틀린 부분을 집중적으로 보정하니까 편향이 줄어들고, 배깅은 독립적인 모델의 평균이니까 분산이 줄어드는 거죠?
선생님: 맞아요. 부스팅은 오차를 순차적으로 줄여가니까 복잡한 패턴을 잡을 수 있어요.
학생: 그러면 부스팅이 항상 더 좋은 건 아니고, 과적합 위험이 있는 거네요?
선생님: 정확해요. 그래서 학습률이나 얼리 스토핑 같은 정규화가 필수예요. 데이터가 노이즈가 많으면 배깅이 더 안정적일 수도 있어요.