의사결정 나무는 과적합에 취약하다는 단점이 존재합니다.
이 포스팅에서는 과적합을 해결하기 위한 방법인 앙상블 (Ensemble) 알고리즘을 소개합니다.
앙상블 (Ensemble)
앙상블 (Ensemble)을 통일, 조화를 뜻하는 프랑스어로, 여러 악기의 소리가 어우러지는 협주를 뜻합니다. 많은 종류와 수의 작은 악기소리가 조화를 이루어 더욱 더 웅장하고 아름다운 소리를 만들어냅니다. 물론 그래서는 안 되겠지만, 한 명의 아주 작은 실수는 다른 소리에 묻히기도 합니다.
기계학습에서의 앙상블도 이와 비슷합니다. 여러 개의 단일 모델 (weak learner)들이 모여 투표 (voting)를 통해 더욱 더 강력한 strong learner를 구성합니다. 많은 모델이 있기 때문에, 한 모델에서 예측을 엇나가게 하더라도, 어느 정도 보정이 됩니다. 즉, 보다 일반화된 (generalized) 모델이 완성되는 것입니다. 앙상블에서 weak learner로는 Decision tree, SVM, Deep learning 등 모든 종류의 학습 모델이 사용될 수 있습니다.
Voting의 종류
최종 모델의 예측값을 결정짓는 Voting은 크게 하드 보팅 (Hard voting)과 소프트 보팅 (Soft voting)으로 나눌 수 있습니다.
하드 보팅 (Hard voting)
하드 보팅은 각 weak learner들의 예측 결과값을 바탕으로 다수결 투표하는 방식입니다.
빨간공인지 파란공인지 예측하는 Binary classification 문제에서 동일한 데이터에 대해 각 분류기는 클래스별 예측 확률을 제시합니다. 이 확률값에 따라 최종 예측값이 계산되는데, 하드 보팅은 이 예측값의 확률과는 관계없이, 예측 label 값을 다수결 투표해서 최종 예측값을 결정합니다.
위의 예시에서는 다섯 개의 weak learner 중 3개가 빨간 공으로 예측했기 때문에, 이 샘플에 대한 최종 예측값은 빨간 공이 됩니다.
소프트 보팅 (Soft voting)
하드 보팅과 다르게, 소프트 보팅은 weak learner들의 예측 확률값의 평균 또는 가중치 합을 사용합니다.
- 평균 (average)
Soft voting 방식에서는 각각의 weak learner가 예측한 확률값을 평균냅니다. 그리고 평균값에 따라 최종 클래스가 결정됩니다. 위와 동일한 예시에서 빨간 공으로 예측한 세 개 분류기 (1, 2, 4)의 클래스별 예측 확률은 크게 차이나지 않았습니다. 반면, 파란 공으로 예측한 두 개 분류기 (3, 5)는 (상대적으로) 압도적인 확률로 파란 공이라고 예측했기 때문에, 최종 예측값은 파란 공이 됩니다.
- 가중치 합 (weighted sum)
만약 어떠한 이유 (단일 모델에 사용되는 feature engineering 방법 등) 로 weak learner들에 대한 신뢰도가 다를 경우, 각 모델의 확률값에 가중치를 부여하는 것도 가능합니다. 동일한 예시에서 각 분류기의 예측 확률값에 상이한 가중치를 부여하였기에, 최종 예측값이 다시 빨간 공이 되는 것을 확인할 수 있습니다. 이 경우, 가중치는 임의로 부여할 수도 있고, 뒤에서 다시 언급할 스태킹 (Stacking) 기법을 사용할 수도 있습니다.
앙상블의 종류
앙상블 알고리즘은 학습 방식에 따라 크게 배깅 (Bagging), 부스팅 (Boosting), 그리고 스태킹 (Stacking)으로 나눌 수 있습니다. 위 그림을 통해 각 방법에 대해 대략적으로 파악할 수 있습니다.
다음 포스팅에서 배깅과 부스팅, 스태킹을 정리해보도록 하겠습니다.
'공부자료 > 머신러닝' 카테고리의 다른 글
[ML] 의사결정나무의 문제점 (0) | 2022.03.12 |
---|---|
[ML] CART 알고리즘 (0) | 2022.03.11 |
[ML] C4.5 알고리즘 (0) | 2022.03.10 |
[ML] ID3 알고리즘 (0) | 2022.03.09 |
[ML] 의사결정나무 (Decision Tree) (0) | 2022.03.09 |
댓글