ML/분류(Classification)

앙상블 학습(Ensemble Learning)

야뤼송 2024. 5. 29. 07:58
반응형

 

 

1. 앙상블 학습

 

앙상블 학습을 통한 분류는 여러 개의 분류기(Classifier)를 생성하고 그 예측을 결합함으로써 보다 정확한 최종 예측을 도출하는 기법이다.

앙상블 학습의 목표는 다양한 분류기의 예측 결과를 결합함으로써 단일 분류기보다 신뢰성이 높은 예측값을 얻는 것이다.

 

앙상블의 특징을 살펴보면 아래와 같다.

  • 단일 모델의 약점을 다수의 모델들을 결합하여 보완
  • 뛰어난 성능을 갖진 모델들로만 구성하는 것보다 성능이 떨어지더라도 서로 다른 유형의 모델을 섞는 것이 오히려 전체 성능에 도움이 될 수 있다.
  • 랜덤 포레스트 및 뛰어난 부스팅 알고리즘들은 모두 결정 트리 알고리즘을 기반 알고리즘으로 적용함
  • 결정 트리의 단점인 과적합(오버피팅)을 수십~수천개의 많은 분류기를  결합해 보완하고 장점인 직관적인 분류 기준은 강화됨

 

2.앙상블의 유형

 

앙상블의 유형은 일반적으로는 보팅(Voting), 배깅(Bagging), 부스팅(Boosting), 스태깅(Stacking)등의 기법이 존재한다. 

각각의 기법들을 간단히 살펴보면 다음과 같다.

  1. 보팅(Voting)
    - 여러개의 분류기를 결합하여 각 분류기의 예측 결과를 투표방식으로 결합한다. 보통 하드보팅과 소프트보팅 2가지로 나누어진다.
    - 하드 보팅(Hard Voting) : 각 분류기의 예측 결과 중 다수결로 최종 예측을 결정
    - 소프트 보팅(Soft Voting) : 각 분류기가 예측한 클래스 확률의 평균을 구하고, 가장 높은 확률을 가진 클래스를 최종 예측으로 결정

  2. 배깅(Bagging)
    - 원래 데이터셋에서 여러 번 샘플링(복원 추출)하여 각각 다른 데이터셋을 만들고, 각 데이터셋으로 모델을 학습시킨다.
    최종 예측은 모든 모델의 예측을 평균하거나 다수결로 결합하여 결정한다. 배깅은 모델의 분산을 줄이고 과적합을 방지하는 데 효과적이다.
    - 대표적인 기법으로는 랜덤 포레스트(Random Forest) 알고리즘이 있다. 랜덤 포레스트 알고리즘은 다수의 결정 트리를 배깅 방식으로 결합한 모델로, 각 트리는 서로 다른 샘플링된 데이터셋과 무작위 특성 선택을 통해 학습한다.

  3. 부스팅(Boosting)
    - 모델을 순차적으로 학습시키되, 이전 모델이 예측한 오류를 보완하도록 다음 모델을 학습시킨다. 각 모델의 예측을 가중합하여 최종 예측을 만든다. 부스팅은 모델의 편향을 줄이는 데 효과적이다.
    - 대표적인 기법은 에이다 부스트(AdaBoost), 그래디언트 부스팅(Gradient Boosting)이 있다. 에이다부스트는 각 모델의 가중치를 조정하여 오차를 줄이는 방식으로 모델을 순차적을로 학습시킨다. 그래디언트 부스팅은 손실 함수를 최소화하는 방향으로 모델을 순차적으로 추가한다. XGBoost, LightGBM, CatBoost 등이 유명한 구현체이다.
    - 정형 데이트의 분류나 회귀에서는 GBM 부스팅(Gradient Boosting) 계열의 앙상불이 전반적으로는 높은 예측 성능을 나타낸다.

  4. 스태깅(Stacking)
    - 여러 개의 다른 모델(기저 모델, base models)을 학습시킨 후, 이 모델들의 예측 결과를 새로운 데이터셋으로 사용하여 최종 모델(메타 모델, meta model)을 학습시킨다. 스태깅은 모델의 다형성을 활용하여 예측 성능을 높이게 된다.

 

 

 

 

 

 

 

 

 

반응형