이번 포스팅에서는 앙상블 (Ensemble) 에 대해 정리해 보겠습니다.
앙상블 (Ensemble) 이란?
일전에 분류 알고리즘인 의사 결정 나무 (Decision Tree) 에 대해 포스팅을 한 적이 있습니다. 단일 결정 나무 (One decision tree) 의 경우 모델을 직관적으로 이해할 수 있고, 데이터 스케일의 영향을 받지 않는다는 장점이 있으나, 과대적합(Overfitting) 의 가능성이 높다는 단점이 있습니다.
이러한 단점을 보완하기 위해 앙상블 기법이 제안되었습니다.
앙상블은 여러 예측 모형들을 결합하여 최종 예측 모형을 만드는 기법입니다. 여러 모델을 결합하여 성능 높였기 때문에 일반적으로 모델의 예측력이 좋은 것으로 알려져 있습니다.
앙상블 기법 중 병렬적 방법은 여러 예측 모형들을 만들 때 붓스트랩을 기반으로 하므로, 우선 붓스트랩 개념을 이해할 필요가 있습니다.
붓스트랩 (Bootstrap) 이란?
주어진 데이터 내에서 중복을 허용한 무작위 재추출을 하여 여러 개의 동일한 크기의 표본을 획득하는 방법입니다.
붓스트랩을 하는 이유는 분산을 줄이기 위함입니다. 붓스트랩 동안 주어진 데이터 중 어떤 데이터는 중복으로 여러번 추출이 되기도 하지만, 어떤 데이터들은 아예 추출이 안될 수도 있습니다.
정리 하자면, 앙상블 기법이란, 주어진 데이터 혹은 훈련 데이터 내에서 붓스트랩된 샘플을 추출하게 되고 이 샘플을 기반으로 여러 예측 모형들을 만들어 결합 후 예측하는 방법 이라고 할 수 있습니다.
이러한 일련의 프로세스를 도식화 하면 하기 스크린샷과 같습니다. (하기 스크린샷은 앙상블 중 병렬적 방법에 더 가깝다고 볼 수 있지만 일단 이해를 위해 이 정도로 설명하고 다른 포스팅에서 순차적인 방법을 다루겠습니다.)
- 맨 위의 큰 주머니는 주어진 데이터 혹은 훈련 데이터(Train data) 를 의미합니다.
- 하기의 Resample 과정은 주어진 데이터 내에서 Bootstrap 을 통해 샘플들을 재추출 하는 것을 의미합니다.
- Resampled 된 모델을 기반으로, 즉 붓스트랩된 샘플을 기반으로, 각각 모델을 만들이 만들어지게 되고 각 모델별로 예측 결과를 내놓게 됩니다.
- 이 각각의 모델이 예측한 결과를 합산하여 최종 예측 결과를 내놓게 됩니다.
앙상블 기법으로는 크게 병렬적인 방법, 순차적인 방법으로 나뉩니다.
1. Parallel (병렬적) ensemble methods
2. Sequential (순차적) ensemble methods
배깅(Bagging) 은 대표적인 병렬적(Parallel) 인 방법이며, 부스팅(Boosting) 은 대표적인 순차적인( Sequential) 방식이라고 할 수 있습니다. 둘의 차이점은 하기 표 및 각각 다른 포스팅에서 다루었습니다.
Parallel (병렬적) | Sequential (순차적) | |
Bagging (배깅) | Boosting (부스팅) | |
유사점 | - 동일한 여러 모델을 결합한 형태 (i.g. 복수의 Decision Tree) - Voting 사용 |
|
차이점 | - 병렬적 방법 - 각 모델들이 개별적으로 구성됨, 동시에 만들어짐 - 모든 모델들은 동일한 가중치를 지님 |
- 순차적 방법 - 각 모델들은 이전에 만들어진 모델 성능의 영향을 받음 - 모델별로 성능에 따라 가중치가 결정됨 |
예시 | Random Forest() |
배깅과 부스팅에 대해서는 하기 포스팅에서 다루었습니다!
[분석알고리즘] 앙상블 | 배깅(Bagging) 및 랜덤포레스트 (Random Forest)
[분석알고리즘] 앙상블 | 배깅(Bagging) 및 랜덤포레스트 (Random Forest)
이전 포스팅에서 앙상블 개념을 소개하며 크게 병렬적인 방식과 순차적인 방식이 나뉜다고 언급하였습니다. 이번 포스팅에서는 대표적인 병렬적인 방식인 배깅(Bagging) 에 대해 다뤄 보도록 하
borakeepgoing.tistory.com
[분석알고리즘] 앙상블 | 부스팅 (Boosting)
이전 포스팅에서 앙상블 개념을 소개하며 크게 병렬적인 방식과 순차적인 방식이 나뉜다고 언급하였습니다. 이번 포스팅에서는 대표적인 순차적 방식인 부스팅(Boosting) 방법에 대해 다뤄 보도
borakeepgoing.tistory.com
[분석알고리즘] 앙상블 | 보팅 (Voting)
이번 포스팅에서는 앙상블 기법 중 보팅 (Voting)에 대해 정리해 보겠습니다. 앞서 소개한 배깅(Bagging) 과 부스팅(Boosting) 보단 중요성이 덜할 수 있지만 한 번 정리하는 것이 좋을 듯 하여 포스팅
borakeepgoing.tistory.com
참고자료>>
https://medium.com/analytics-vidhya/ensemble-methods-in-machine-learning-31084c3740be
Ensemble Methods in Machine Learning
In this article, we will try to get familiar with different ensemble techniques and some common algorithms in it.
medium.com
Boost Your Machine Learning Models with Bagging: A Powerful Ensemble Learning Technique
Introduction
medium.com
책: 파이썬 딥러닝 머신러닝 입문 (정보문화사, 저자: 오승환)
책: 파이썬 실기 대비 한권으로 끝내기 (SD에듀, 시대고시기획)
'데이터관련공부 > Machine Learning' 카테고리의 다른 글
[분석알고리즘] 앙상블 | 3. 부스팅 (Boosting) (0) | 2023.12.17 |
---|---|
[분석알고리즘] 앙상블 | 2. 배깅(Bagging) 및 랜덤포레스트 (Random Forest) (0) | 2023.12.17 |
[예측성능평가] 모델 성능 평가 기법 (Model Performance Evaluation) (0) | 2023.11.08 |
[데이터 전처리] 데이터 스케일링 (Scaling) (0) | 2023.10.25 |
하이퍼파라미터 튜닝 (GridSearch CV) (0) | 2023.03.29 |