본문 바로가기

머신러닝

[머신러닝] 앙상블(Ensemble) 기법_스태킹(Stacking)_알고리즘 소개(2)

반응형

Blending Ensemble(혼합 앙상블) 소개

1) 정의: Stacking과 같은 종류의 앙상블로써 메타모델이 홀드아웃데이터(테스트데이터)에 의해 만들어진 예측치로 훈련되는 앙상블 기법
2) 특징
 -
Stacking에 비해 더 간단한 기법이고, 정보 손실 위험이 더 낮은 특징이 있음
 -
One Million Dollar Netflix ML Competition에서 알려진 테크닉
 -
Blending EnsembleStacking 차이
   1.
blending ensemble: 메타모델이 훈련할 때 홀드아웃 데이터셋에 의해서 만들어진 예측치를 사용
   2.
stacking: 메타모델이 훈련할 때 k-fold-cv로 인한 out-of-fold 데이터셋에 의해 만들어진 예측치를 사용
 
3) 혼합 앙상블에서의 단계별 모델
 -
base models: 어떠한 모델도 사용가능
 -
Meta model: base models의 예측치를 혼합한 선형모델(ex. 회귀: 선형 회귀,  분류: 로지스틱 회귀)
4) 블렌딩 앙상블 = 기계 학습 모델을 사용하여, 여러 앙상블 모델 중에서 예측을 잘 결합하는 방식을 배우는 앙상블 머신러닝 기술
5) 스태킹 앙상블과 매우 유사하지만, 보다 간단하고 정보 손실의 위험을 줄임
 -
두개 이상의 기본 모델 + 기본모델의 예측을 결합한 메타모델으로 구성되어 있는 것이 스태킹과 동일
6) Stacking에서 k-fold cv 대신 train-validation-test로 나눈 데이터를 활용
 -
 사용하는 데이터의 양이 적고, validation set의 사용으로 과적합가능성이 높고, 해석 가능성이 낮음
 

 

Super Learn Ensemble(슈퍼 러너 앙상블) 소개

1) 정의: 슈퍼 러닝이란, 개별 모델들의 결과에 weight 주어 최적 예측 알고리즘을 만드는 것
 
2) 특징: 샘플 사이즈가 클 때 단일 모델들보다 잘 작동하는 것으로 알려짐
 
3) 슈퍼 러닝의 작동원리 :
 ① 데이터를 k개의 fold로 분할
 ② validation 제외한 나머지 데이터로 base model학습
 ③ 학습된 모델에 남겨둔 validation 데이터를 이용하여 예측치 구하기
 ④ fold별로 구한 예측치 합치기(예측치: 학습된 모델로 예측한 y)
 ⑤ 3에서 구한 예측티(y_pred)와 본래 정답(valid_y)을 이용해서 meta model을 학습
 ⑥ 이전과 달리 validation을 제외 하지 않고 모두 합친 전체 데이터셋으로 개별 base model을 학습
 ⑦ 학습된 base model에 전체 데이터셋을 이용하여 예측치 산출
 ⑧ 이전 단계에서 얻은 예측치를 합쳐서 메타모델에 새로운 데이터로 제공함으로써 메타모델에서 나온 예측치 산출
 
4)슈퍼 러너 앙상블 성능 평가
 • get_out_of_fold_predictions 함수: cross validation을 통해 out-of-fold 예측치를 모으는 함수

 



반응형