1. 앙상블 방법들(Ensemble methods)
앙상블은 분류에서 가장 각광받는 알고리즘 방법 중 하나입니다.
딥러닝을 제외한 정형 데이터의 예측 분석 영역에서는 앙상블이 매우 높은 예측 성능으로 인해 많은 분석가와 데이터 과학자들이 사용합니다.
(* 딥러닝 : 이미지, 영상, 음성, NLP 영역에서 신경망에 기반한 머신러닝의 종류)
앙상블 학습을 통한 분류는 여러개의 분류기(Classifier)를 생성하고 그 예측을 결합함으로써 보다 정확한 최종 예측을 도축하는 기법을 말하며, 당연히 단일분류기보다 신뢰성이 높은 예측값을 얻는 것이 목표입니다.
배깅 방식의 대표인 랜덤 포레스트(Random Forest)는 뛰어난 예측 성능, 상대적으로 빠른 수행 시간, 유연성 등으로 많은 분석가가 애용하는 알고리즘 입니다. 하지만 근래의 앙상블 방법은 부스팅 방식으로 지속해서 발전하고 있습니다.
부스팅 방식으로는 Gradient Boosting, XgBoost, LightGBM 등이 있습니다.
데이터 종류 | 분류 방법 | 방식 | 대표 알고리즘 | 특징 |
비정형 데이터 (이미지, 영상,음성 등)의 분류 |
딥 러 닝 |
? | ? | 뛰어난 성능 |
정형 데이터 분류 | 앙 상 블 |
배깅 (Bagging) 방식 |
랜덤 포레스트 (Random Forest) | 뛰어난 예측 성능 빠른 수행시간 유연성 |
부스팅 (Boosting) 방식 | 그래디언트 부스팅 (Gradient Boosting) | 부스팅의 효시 뛰어난 예측 성능 느린 수행시간->최적화 모델튜닝의 어려움 |
||
👍 XgBoost (eXtra Gradient Boost) | 그래디언트 부스팅보다 더 뛰어난 예측 성능 빠른 수행시간 |
|||
👍 LightGBM |
XgBoost 와 성능이 유사하면서도 훨씬 빠른 수행 속도를 가짐. | |||
그 외 보팅, 스태깅 등 다양한 앙상블 방법이 있다. |
2. 알고리즘 결합(결정트리)
🎃 앙상블의 기본 알고리즘 : 결정트리(Decision Tree)
: 결정트리는 매우 쉽고 유연하게 적용될 수 있는 알고리즘입니다. 또한 데이터의 스케일링이나 정규화 등에 영향이 매우 적습니다. 하지만 예측성능을 향상시키기 위해 복잡한 규칙 구조를 가져야 하며, 이로 인해 과적합(overfitting)이 발생해 반대로 예측 성능이 저하될 수 있다는 단점이 있습니다.
하지만 이러한 결정트리(약한 학습기)를 결합한 앙상블 기법을 사용하면 오류가 발생한 부분에 대해 가중치를 계속 업데이트 하면서 예측 성능을 향상시킬 수 있습니다.
3. 앙상블 학습의 유형
앙상블 학습의 유형으로 기본적으로 보팅(Voting), 배깅(Bagging), 부스팅(Boosting)의 세 가지로 나눌 수 있으며, 이 외에도 스태킹(stacking)을 포함해 다양한 유형의 앙상블 방법이 있습니다.
보팅(Voting) | 배깅(Bagging) | 부스팅(Boosting) | 스태킹(Stacking) |
여러개의 분류기가 투표를 통해 최종 예측 결과를 결정하는 방식 | 여러개의 분류기를 사용하되, 분류기들 끼리 서로 영향을 줌. 대부분 결정 트리 기반. |
여러가지 다른 모델의 예측 결괏값을 다시 학습 데이터로 만들어 다른 모델(메타 모델)로 재학습시켜 결과를 예측하는 방법 | |
서로 다른 알고리즘을 가진 분류기의 결합 | 서로 같은 알고리즘(결정트리) 기반이지만, 데이터 샘플링을 서로 다르게 가져가면서 학습을 수행해 보팅을 수행하는 것. |
1) Voting
선형회귀, KNN(K최근접이웃), 서포트 벡터 머신 등의 서로 다른 알고리즘이 같은 데이터 세트에 대해 학습하고 예측한 결과를 가지고 Voting을 통해 최종 예측 결과를 선정하는 방식.
2) Bagging (bootstrap aggregating)
배깅(영어: bagging)은 bootstrap aggregating의 줄임말로 통계적 분류와 회귀 분석에서 사용되는 기계 학습 알고리즘의 안정성과 정확도를 향상시키기 위해 고안된 일종의 앙상블 학습법의 메타 알고리즘이다. 또한 배깅은 분산을 줄이고 과적합(overfitting)을 피하도록 해준다. 결정 트리 학습법이나 랜덤 포레스트에만 적용되는 것이 일반적이기는 하나, 그 외의 다른 방법들과 함께 사용할 수 있다. |
*bootstrapping 분할 방식 : 개별 분류기에게 데이터를 샘플링해서 추출하는 방식
결정트리로 만든 개별 분류기들을 bootstrapping 방식으로 샘플링된 데이터 세트에 대해서 학습을 통해 개별적은
예측을 수행한 결과를 Voting을통해 최종 예측 결과를 선정하는 방식이 바로 배깅 앙상블 방식입니다.
교차검증이 데이터 세트 간 중첩을 허용하지 않는 것과 다르게 배깅 방식은 중첩을 허용한 복원 추출을 합니다.
그래서 각각 샘플들은 중복된 데이터를 갖고 있습니다.
3) Boosting
앞에서 학습한 분류기가 예측이 틀린 데이터에 대해서는 올바르게 예측할 수 있도록 다음 분류기에서는 가중치(Weight)를 부여하면서 학습과 예측을 진행하는 것을 boosting 이라고 합니다. 계속해서 분류기에게 가중치를 부스팅하면서 학습을 진행하기에 부스팅 방식으로 불립니다.
또한 예측 성능이 뛰어나 앙상블 학습을 주도하고 있으며 대표적은 부스팅 모듈로 그래디언트 부스트, XGBoost(eXtra Gradient Boost), LightGBM(Light Gradient Boost)이 있습니다.
4. 앙상블 모델의 효과
머신러닝 모델의 성능은 다양한 테스트 데이터에 의해 검증되므로 어떻게 높은 유연성을 가지고 현실에 대처할 수 있는가가 중요한 머신러닝 모델의 평가요소가 됩니다. 이런 관점에서 편향-분산 트레이드오프는 머신러닝 모델이 극복해야 할 중요 과제입니다. Voting과 Stacking 등은 서로 다른 알고리즘을 기반으로 하고 있지만, Bagging과 Boosting은 대부분 결정트리 알고리즘을 기반으로 합니다.
결정트리 알고리즘은 쉽고 직관적인 분류 기준을 가지고 있지만 정확한 예측을 위해 데이터의 예외 상황에 집착한 나머지 오히려 과적합이 발생해 실제 테스트 데이터에서 예측 성능이 떨어지는 현상이 발생하기 쉽습니다. 하지만 앙상블 학습에서는 이 같은 결정트리 알고리즘의 단점을 수십~수천 개의 매우 많은 분류기를 결합해 다양한 상황을 학습하게 함으로써 극복하고 있습니다. 결정 트리 알고리즘의 장점은 그대로 취하고 단점은 보완하면서 편향-분산 트레이드오프의 효과를 극대화할 수 있다는 것입니다.
*Bias-Variance Trade off 트레이드 오프는 하나가 증가하고 다른 하나가 감소해야하는것을 말합니다. 일반적으로 편향과 분산은 한쪽이 높으면 한 쪽이 낮아지는 경향이 있습니다. 높은 편향/낮은 분산에서 과소적합되기 쉬우며 낮은 편향/높은 분산에서 과적합 되기 쉽습니다. 편향과 분산이 서로 트레이드 오프를 이루면서 오류 값이 최대로 낮아지는 모델을 구축하는 것이 가장 효율적인 머신러닝 예측 모델을 만드는 방법입니다. |
'머신러닝 (Machine Learning) > 분류(Classification) 분석' 카테고리의 다른 글
앙상블 - 배깅(Bagging) (0) | 2021.03.01 |
---|---|
앙상블 - 보팅(Voting) (0) | 2021.02.21 |
분류 관련 Youtube (0) | 2021.02.14 |
결정 트리의 과적합 (Overfitting) 시각화로 이해하기 (0) | 2021.02.14 |
Decision Tree Graphviz (0) | 2021.02.14 |