본문 바로가기

데이터 다루기/머신러닝 이론

[머신러닝] Ensemble Learning (4) Stacking

728x90
반응형

안녕하세요, 이번 포스팅에서 배워볼 앙상블 학습 방법은 Stacking입니다.

Stacking은 1992년에 David Wolpert가 개발한 알고리즘입니다.

알고리즘은 boosting과 비슷하지만, 차별적인 특징은 meta-level learner 를 사용한다는 것입니다.

meta-level learner가 무엇인지를 설명하기에 앞서, 전반적인 알고리즘을 배워봅시다.

(1) 우선 전체 training 데이터 셋을 겹치는 데이터가 없게, 2 그룹으로 나눕니다.

(2) 그리고, 여러가지 다양한 N개의 Base Learner들을 첫 번째 데이터 그룹에 학습시킵니다.

(3) 학습 시킨 Base learner를 통해, 2 번째 데이터 그룹을 Test set으로 받아들여, 예측값을 출력합니다.

(4) 출력된 N개의 예측값들을 Input으로 하고, 2 번째 데이터 그룹의 실제값을 output으로 하여 meta-level learner를 학습합니다.

위의 알고리즘을 그림으로 도식화하면 다음과 같습니다.

예측값들로 실제값을 예측한다니, 정말 새로운 방법이지 않습니까?

하지만, 이 방법은 Bagging이나 Boosting에 비해서 인기가 별로 없다고합니다.

그래도 성능은 이 둘과 비교해서 부족한 부분은 없으니 한 번 사용해보시는것을 권장합니다!

반응형