개요

Ada Boost에 대해 알아 본 뒤 정리해둔다.

컨셉

strong model vs weak model

  • weak 모델은 랜덤 추측보다 조금 더 잘하는것
  • weak 모델은 strong model 까지 부스팅 될 수 있음

boosting 컨셉

ㄱ,ㄴ,ㄷ,ㄹ,ㅁ 가 모델이고 B alpha, beta, …이 데이터라 가정하자.

이걸 더 단순화 해서 공부에 대입하면 ㄱ~ㅁ 의 사람이 B alpha 등등의 문제지를 푼다고 가정하자.

ㄱ보고 B alpha플 풀게 해보니 과학은 잘 맞추면 그건 넘어가고 잘 못하는 예술 역사 문제들로 집중해서 다음 ㄴ에게 풀게 만든다.

왜냐면 과학은 ㄱ이 이미 잘 풀기 때문이다.

Ada Boost 학습 진행 방법

  • 학습데이터셋 준비
  • get some rule of thumb(weak model)
  • 앞선 모형이 잘 풀지 못하는 문제에 한해 학습데이터셋에 대한 가중치를 다시 결정
  • 다시 새로운 rule of thumb을 유도해냄
  • … 반복하면
  • 지금 까지 찾아낸 규칙을 조합해 하나의 합쳐진 strong model을 만듦

idea

  • 모델 트레이닝을 순차적으로 진행함(한턴에 하나의 모델을 학습)
  • 오분류된 example을 찾아다가 새로운 트레이닝 셋에 대해서는 더 많이 나올수 있게 가중치를 조절
  • 앞선 모델의 큰 에러는 다음 모델에서 데이터를 더 많이 학습하게 되어 줄어들게 만듦

수도코드

Ada Boost의 수도코드를 정리해본다.

데이터 예시

Bagging vs Boosting

아래와 같은 차이를 지닌다.

데이터 샘플을 뽑는 과정을 보면 Bagging/Boosting의 차이가 더 커진다.

Reference

  • https://www.youtube.com/watch?v=HZg8_wZPZGU&list=PLetSlH8YjIfWMdw9AuLR5ybkVvGcoG2EW&index=25