Study/AI

[AI][ML]앙상블(Ensemble)

seomj 2022. 8. 12. 21:00

이전 글에서도 어느정도 다뤘던 내용이지만 좀 더 다뤄 보기 위해 따로 작성하고자 한다.

 

앙상블(Ensemble)

조화 또는 통일

여러 개의 결정 트리(Decision Tree)를 결합하여 하나의 결정 트리보다 더 좋은 성능을 내는 머신러닝 기법

핵심은 여러 개의 약 분류기(Weak Classifier)를 결합하여 강 분류기(Strong Classifier)를 만드는 것

이를 통해 모델의 정확성이 향상된다.

 

학습법에는 배깅(Bagging)과 부스팅(Boosting)이 있다.

+ 보팅(Voting)과 스태킹(Stacking)도 있다고 한다.

 

 

배깅(Bagging)

Bootstrap Aggregation의 약자

샘플을 여러 번 뽑아(Bootstrap) 각 모델을 학습시켜 결과물을 집계(Aggregation)하는 방법

데이터로 부트스트랩을 한다. (복원 랜덤 샘플링) 부트스트랩한 데이터로 모델을 학습시킨다. 그리고 학습된 모델의 결과를 집계하여 최종 결과 값을 구한다.

 

평균으로 집계한다는 것은 말 그대로 각각의 결정 트리 모델이 예측한 값에 평균을 취해 최종 Bagging Model의 예측 값을 결정한다는 것

 

배깅 기법을 활용한 모델이 랜덤 포레스트이다.

 

 

부스팅(Boosting)

가중치를 활용하여 약 분류기를 강 분류기로 만드는 방법

 

배깅은 Decision Tree 1과 Decision Tree 2가 서로 독립적으로 결과를 예측, 여러 개의 독립적인 결정 트리가 각각 값을 예측한 뒤, 그 결과 값을 집계해 최종 결과 값을 예측하는 방식

 

하지만 부스팅은 모델 간 팀워크가 이루어진다. 

처음 모델이 예측을 하면 그 예측 결과에 따라 데이터 가중치가 부여되고, 부여된 가중치가 다음 모델에 영향을 준다. 잘못 분류된 데이터에 집중하여 새로운 분류 규칙을 만드는 단계를 반복한다.

 

 

배깅과 부스팅 차이

배깅은 병렬로 학습, 부스팅은 순차적으로 학습

 

부스팅은 배깅에 비해 error가 적다. 하지만 속도가 느리고 오버피팅 가능성이 있다.

 

개별 결정 트리의 낮은 성능이 문제 → 부스팅이 적합

오버 피팅이 문제 → 배깅이 적합

 

 

 

출처

https://bkshin.tistory.com/entry/DATA-12

https://bkshin.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-11-%EC%95%99%EC%83%81%EB%B8%94-%ED%95%99%EC%8A%B5-Ensemble-Learning-%EB%B0%B0%EA%B9%85Bagging%EA%B3%BC-%EB%B6%80%EC%8A%A4%ED%8C%85Boosting

https://hleecaster.com/ml-random-forest-concept/

'Study > AI' 카테고리의 다른 글

[AI][ML]얼굴 검출  (0) 2022.08.15
[AI][ML]랜덤 포레스트(Random Forest)  (0) 2022.08.12
[AI][ML]결정 트리(Decision Tree)  (0) 2022.08.11
[AI][ML]나이브 베이즈(Naive Bayes)  (0) 2022.08.10
[AI][ML]SVM(Support Vector Machine)  (0) 2022.08.10