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 사용해도 된다. 어떤 알고리즘을 사용해도 가능하다. 예측하지 못한 샘플의 선택 확률만 증가시키면 되는 것.
- Adaboost는 weak model 중에서도 stumpt tree를 사용함
- bagging은 병렬적으로 boostrap 만들고 학습 가능했다. boost 기법은 sequential하게 간다. 현재 모델이 잘 해결하지 못하는 어려운 케이스에 집중해서 학습한다.
- 1단계 : 현재 데이터셋에 대해서 단순한 모델을 이용하여 학습
- 2단계 : 학습 오류가 큰 개체의 선택 확률을 증가시키고 학습 오류가 작은 개체의 선택 확률을 감소시킴
- 3단계 : 앞 단계에서 조정된 확률을 기반으로 다음 단계에서 사 용될 학습 데이터셋을 구성
- 1단계로 되돌아감
- 최종 결과물은 각 모델의 성능 지표를 가중치로 사용하여 결합
- bagging은 boostrap 만들 때 각 객체마다 선택될 확률 동일하다 (동일한 확률로 복원추출). 하지만 boosting은 앞선 모델들이 맞추지 못했던 객체들은 더 높은 확률로 선택한다.
- 단일 모델 vs. bagging vs. boosting
- Adaboost 알고리즘
- Adaboost 예시
- 공부 잘하는 놈이 틀리면, 더 가중치(알파) 주어서 선택확률 증가시키고, 공부 못하는 놈이 틀리면, 뭐 그럴 수도 있으니 선택확률을 증가시키되 적은 가중치(알파) 로 선택확률 증가시킴
- Adaboost 예시 2
- Adaboost 예시 3
- 배깅과 부스팅에서의 개체 선택의 차이
반응형