Ensemble Learning

앙상블 학습(Ensemble Learning)이란, 기계 학습의 분류 방법을 통해 여러 개의 분류기(Classifier)를 생성하고 그것들의 예측을 결합함으로써 새로운 가설(Hypothesis)을 학습하는 방법이다. 다양한 분류기의 예측 결과를 결합함으로써 단일 분류기보다 신뢰성이 높은 예측값을 얻는 것이 앙상블 학습의 목표이다.
ensemble1.png
[그림 1] 앙상블 학습의 개념도

ensemble2.png 
[그림 2] Simple majority voting(투표 방법)을 통해 여러 분류기의 예측값을 결합하는 과정: 대상 분류기들의 다양성(diversity)가 요구된다.

대부분의 앙상블 학습에 대한 연구는 결정 트리(Decision Tree)나 지지 벡터 머신(Support Vector Machine)과 같은 하나의 학습 알고리즘을 사용하는 방법에 대해서 이루어졌다[1]. 이러한 방법들은 학습 알고리즘을 조작하여 다양한 분류기를 생성한 후 다수결(Majority Voting)이나 가중치 투표(Weighted Voting)에 의하여 예측값을 결합한다. 이러한 앙상블 학습을 하는 대표적인 방법으로 부스팅(Boosting)과 배깅(Bagging)이 있다. 배깅과 부스팅은 학습 데이터를 샘플링하여 다양한 학습 데이터를 생성하며, 하나의 학습 알고리즘을 적용하여 다양한 분류기를 생성한다.

하나의 데이터 세트에 다양한 학습 알고리즘을 적용하여 다양한 분류기를 생성하는 앙상블 학습 방법도 있다[2]. 이럴 경우, 예측값을 결합하기 위해 투표보다는 좀 더 복잡한 방법을 사용하기도 한다. 대표적인 방법으로 스태킹(Stacking)이 있다. 스태킹은 다양한 학습 알고리즘을 이용하여 분류기를 생성하고 이 분류기들의 예측값을 결합하는 분류기를 추가로 학습한다[3].

또 다른 방법으로는 전문가의 혼합(Mixture of  Experts) 방법이 있다. 이 방법은 각각의 분류기에 다른 지역을 할당하여 성능을 향상시키는 방법이다[4]. 이 방법에서는 각각의 분류기뿐만 아니라 분류기에 지역을 할당하기 위한 게이트 함수(Gating Function)도 학습해야 한다.

[1] Dietterich, T. G. (2000). Ensemble Methods in machine learning. In Proceedings of the First International Workshop on Multiple Classifier Systems, pp. 1-15.
[2] Merz, C. J. (1999) Using correspondence analysis to combine classifiers. Machine Learning, 36(1/2), pp. 33-58.
[3] Wolpert, D. (1992) Stacked generalization, Neural Networks. 5(2), pp. 241-260.
[4] Jacobs, R. A., Jordan, M. I., Nowlan, S. J. and Hinton, G. E. (1991). Adaptive mixtures of local experts. Neural Computation, 3(1), pp. 78-87.