일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- session 유지
- UDF
- youtube data
- API Gateway
- gather_nd
- chatGPT
- flask
- 공분산
- 상관관계
- GenericGBQException
- tensorflow text
- XAI
- requests
- spark udf
- grad-cam
- subdag
- top_k
- GCP
- Airflow
- Counterfactual Explanations
- API
- integrated gradient
- airflow subdag
- login crawling
- BigQuery
- hadoop
- 유튜브 API
- TensorFlow
- Retry
- correlation
- Today
- Total
데이터과학 삼학년
스태킹 앙상블(stacked generalization in Ensemble) 본문
스태킹
- 앙상블 모델 중 하나로 stacked generailzation (stacking)을 소개한다.
- 앙상블 모델들은 대게 여러개의 모델의 결과를 종합하여 최종 결과를 낸다.
- 여기서, 여러개의 모델의 결과를 종합하는 방법은 최빈값, 평균값 등으로 예측결과를 나타내는데.
- stacking은 앙상블에서 여러 개의 모델의 결과를 단순히 종합하는 것이 아닌 결과 종합 모델을 두는 것은 어떨까? 라는 아이디어에서 시작됐다.
- 즉, 앙상블에서 여러개의 모델의 결과를 종합하는 최종 모델 레이어를 하나 더 추가하는 개념이다.
블렌더(blender or meta learner)
- 스태킹에서 각기 다른 모델의 결과값을 이용해 다시 최종 결과를 내놓는 예측기를 블렌더 혹은 메타 학습기라고 함
블렌더를 학습시키는 방법
- 블렌더를 학습시키는 일반적인 방법은 홀드 아웃(hold-out) 세트를 이용하여 추가 학습 시키는 것이다.
- 학습 데이터를 두개의 세트(학습데이터1, 학습데이터2) 로 나누고, 실제 앙상블 모델에는 학습데이터1로 학습시킨다.
- 그리고 학습데이터1로 앙상블의 각 모델을 학습시킨 모델에 학습데이터2를 input으로 넣어 그 결과를 뽑아내고,
- 학습데이터2에 대한 각 모델 예측값을 블렌더의 input값으로 넣어 블렌더를 학습시킨다
> 블렌더의 학습데이터는 즉, 앙상블에 사용한 모델의 갯수가 된다.
- 블렌더 레이어는 꼭 한개의 모델로 할 필요는 없다.
- 블렌더도 두개를 두려면 학습데이터를 3개로 나눠 각각 학습시키면 된다.
- 위와 같은 방법으로 스태킹 앙상블의 예측은 아래 그림과 같이 나타낼 수 있다.
'Machine Learning' 카테고리의 다른 글
GAN for Tabular Data (Data Augmentation) (0) | 2021.08.26 |
---|---|
AdaBoost (에이다부스트) (0) | 2021.08.11 |
Graph (python networkX) Metric 정리 (0) | 2021.07.20 |
텐서플로 함수와 그래프(tf.function, autograph) (0) | 2021.07.12 |
HDBSCAN vs DBSCAN (0) | 2021.07.08 |