Machine Learning/Algorithm

Ensemble model - Adaboost (Adaptive Boosting)

고슴군 2022. 7. 7. 16:59
  • Strong models v.s. Weak models
    • Weak model이란 랜덤 모델에 비해 약간의 성능 개선이 있는 모델을 의미하며, 이 모델은 적절한 조치를 취함으로 인해 성능이 우수한 모델로 boosted 될 수 있음
  • Adaboost (Adaptive boosting)는 weak learner을 base learner로 사용함
    • Adaboost는 weak model 중에서도 stumpt tree를 사용함
      • stumtp tree : split을 1회만 하는 tree
      • 그냥 DT 사용해도 된다. 어떤 알고리즘을 사용해도 가능하다. 예측하지 못한 샘플의 선택 확률만 증가시키면 되는 것.
  • bagging은 병렬적으로 boostrap 만들고 학습 가능했다. boost 기법은 sequential하게 간다. 현재 모델이 잘 해결하지 못하는 어려운 케이스에 집중해서 학습한다. 
    • 1단계 : 현재 데이터셋에 대해서 단순한 모델을 이용하여 학습
    • 2단계 : 학습 오류가 큰 개체의 선택 확률을 증가시키고 학습 오류가 작은 개체의 선택 확률을 감소시킴
    • 3단계 : 앞 단계에서 조정된 확률을 기반으로 다음 단계에서 사 용될 학습 데이터셋을 구성
    • 1단계로 되돌아감
    • 최종 결과물은 각 모델의 성능 지표를 가중치로 사용하여 결합
  • bagging은 boostrap 만들 때 각 객체마다 선택될 확률 동일하다 (동일한 확률로 복원추출). 하지만 boosting은 앞선 모델들이 맞추지 못했던 객체들은 더 높은 확률로 선택한다. 

 

  • 단일 모델 vs. bagging vs. boosting

 

  • Adaboost 알고리즘

 

  • Adaboost 예시

 

  • 공부 잘하는 놈이 틀리면, 더 가중치(알파) 주어서 선택확률 증가시키고, 공부 못하는 놈이 틀리면, 뭐 그럴 수도 있으니 선택확률을 증가시키되 적은 가중치(알파) 로 선택확률 증가시킴

 

 

 

  • Adaboost 예시 2

 

 

  • Adaboost 예시 3

 

 

  • 배깅과 부스팅에서의 개체 선택의 차이

 

 

 

 

 

 

 

 

반응형