AI 모델 개발: Ensemble – Stacking

ㅁ Ensemble

ㅇ 정의:
여러 개의 개별 모델을 조합하여 최종 예측 성능을 향상시키는 기법으로, 서로 다른 알고리즘 또는 동일 알고리즘의 다른 하이퍼파라미터 설정 모델을 결합함.

ㅇ 특징:
– 개별 모델의 약점을 보완하고 강점을 결합하여 일반화 성능을 높임.
– Bagging, Boosting, Stacking 등 다양한 방식 존재.
– 과적합 방지와 예측 안정성 향상에 기여.

ㅇ 적합한 경우:
– 단일 모델의 성능이 한계에 도달했을 때.
– 데이터의 복잡성이 높아 다양한 관점의 학습이 필요한 경우.

ㅇ 시험 함정:
– Ensemble이 항상 성능을 높이는 것은 아님.
– 모델 간 상관관계가 높으면 효과가 떨어짐.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “여러 모델의 예측을 결합하여 성능을 높이는 기법이다.”
X: “하나의 모델을 반복 학습시켜 성능을 높이는 기법이다.”

================================

1. Stacking

ㅇ 정의:
서로 다른 유형의 여러 개 개별 모델(Base Learners)의 예측 결과를 메타 모델(Meta Learner)에 입력하여 최종 예측을 수행하는 앙상블 방법.

ㅇ 특징:
– 1단계: 여러 Base Learner를 학습시켜 예측 결과를 생성.
– 2단계: Base Learner의 예측값을 새로운 입력으로 하여 Meta Learner 학습.
– Meta Learner는 보통 선형 회귀, 로지스틱 회귀, 또는 또 다른 복잡한 모델 사용 가능.
– 서로 다른 알고리즘의 조합을 통해 예측 다양성을 극대화.

ㅇ 적합한 경우:
– 데이터셋이 충분히 커서 2단계 학습에 필요한 데이터 손실이 감당 가능한 경우.
– 다양한 알고리즘의 강점을 결합하여 복잡한 패턴을 학습해야 하는 경우.

ㅇ 시험 함정:
– Base Learner와 Meta Learner를 동일 데이터로 학습시키면 과적합 위험.
– Cross-validation 기반의 예측값을 Meta Learner 학습에 사용해야 함.
– Bagging/Boosting과 개념 혼동 주의.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “여러 다른 모델의 예측을 메타 모델의 입력으로 사용하여 최종 예측을 수행한다.”
X: “여러 모델의 예측을 단순 평균하여 최종 결과를 만든다.”

ㅁ 추가 학습 내용

Stacking에서는 Base Learner의 예측값을 Meta Learner에 전달할 때 반드시 학습 데이터와 독립적인 예측값을 사용해야 하므로 K-Fold Cross Validation을 통해 생성한 Out-of-Fold 예측값을 활용하는 것이 일반적이다.
Blending은 홀드아웃 데이터를 사용하여 메타 모델을 학습시키며 구현이 간단하지만 데이터 활용 효율이 떨어진다.
Stacking은 다양한 유형의 모델을 결합할 수 있으며, Meta Learner로 단순 선형 모델뿐 아니라 Gradient Boosting, Neural Network 등도 사용할 수 있다.
시험에서는 ‘Stacking은 예측값을 단순 평균하는 방식이다’라는 오답 지문이 자주 등장하므로 주의해야 한다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*