인프런 커뮤니티 질문&답변

khkh lee (lkhkh)님의 프로필 이미지
khkh lee (lkhkh)

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

보팅 배깅 부스팅 서브 샘플

작성

·

246

0

학습을 하다가 궁금한 점이 생겼습니다.

보팅 계열의 알고리즘은 전체 데이터에서 여러가지 학습기를 순차적으로 적용한 것이고, 배깅은 하나의 학습기를 부트스트래핑 방식으로 여러가지 샘플 데이터를 만든 다음 적용하는 것으로 이해했습니다.

그렇다면 부스팅은 이 두 가지 방식을 혼합한것인가요? 즉, 하나의 학습기마다 부트 스트래핑 방식으로 서브 샘플들을 뽑은 다음 각각의 서로 다른 학습기들로 학습을 하는 것인가요? 아니면 보팅의 개념을 빌려 전체 데이터에서 가중치를 적용하면서 약한 학습기를 적용하는 것인가요?

학습하다가 궁금한점이 생겨 질문드립니다.

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

부스팅은 보팅, 배깅과 좀 다른 면이 있습니다.

부스팅은 개별 Weak Learner 들을 순차적으로 학습해 나가는 방식입니다. 이때 이전 Weak learner의 학습 오류를 개선하는 방향성으로 진행을 합니다.

AdaBoost의 경우는 예측 오류들을 개선해 나가는 Weak Learner들을 합쳐서 하나의 Strong Learner로 예측을 하는 것이고, Gradient Boosting은 Gradient Descent 방식으로 이전 Weak Learner들을 계속 학습 오류를 개선해 나가면서 새롭게 Weak Learner를 순차적으로 향상 시키는 모델입니다.

배깅이 병렬로 여러개의 Weak Learner들이 학습을 한 뒤 이를 voting 방식으로 결정하는 것과 다르게 부스팅은 순차적으로 이전 weak learner들의 성능을 계속 개선해 나가는 방식입니다.

감사합니다.

khkh lee (lkhkh)님의 프로필 이미지
khkh lee (lkhkh)

작성한 질문수

질문하기