AI 모델 개발: Ensemble – Boosting

ㅁ Ensemble

ㅇ 정의:
– 여러 개의 약한 학습기(weak learner)를 순차적으로 학습시켜 이전 모델이 잘못 예측한 데이터에 가중치를 부여하며 성능을 향상시키는 기법.

ㅇ 특징:
– 순차적 학습 방식으로 오차를 점진적으로 줄임.
– 각 단계에서 이전 모델의 오분류 데이터에 더 집중.
– 과적합 위험이 있으나 적절한 규제 및 조기 종료로 완화 가능.

ㅇ 적합한 경우:
– 단일 모델의 성능이 부족하고, 데이터에 복잡한 패턴이 있는 경우.
– 분류, 회귀 모두 적용 가능.

ㅇ 시험 함정:
– Bagging과 혼동: Bagging은 병렬 학습, Boosting은 순차 학습.
– 모든 Boosting이 과적합에 강하다고 오해.

ㅇ 시험 대비 “패턴 보기” 예시:
– (O) “이전 모델의 오류를 보완하며 순차적으로 학습하는 앙상블 기법은? → Boosting”
– (X) “여러 모델을 동시에 학습하여 평균을 내는 방식은 Boosting이다.”

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

1. Boosting

ㅇ 정의:
– 약한 학습기를 순차적으로 결합하여 강한 학습기를 만드는 앙상블 학습 방법.

ㅇ 특징:
– 이전 모델의 오분류 데이터에 가중치를 높여 재학습.
– 모델이 순차적으로 연결되어 있음.
– 대표 알고리즘: AdaBoost, Gradient Boosting, XGBoost, LightGBM 등.

ㅇ 적합한 경우:
– 데이터에 노이즈가 적고, 복잡한 경계가 필요한 경우.
– 단일 결정트리보다 높은 정확도가 필요한 경우.

ㅇ 시험 함정:
– Boosting은 항상 Bagging보다 빠르다고 착각.
– 모든 Boosting 알고리즘이 과적합에 강하다고 오해.

ㅇ 시험 대비 “패턴 보기” 예시:
– (O) “이전 단계의 오분류에 가중치를 주어 학습하는 기법은? → Boosting”
– (X) “Boosting은 병렬로 여러 모델을 학습하여 평균을 낸다.”

1.1 AdaBoost

ㅇ 정의:
– Adaptive Boosting의 약자로, 오분류된 데이터의 가중치를 조정하며 여러 약한 분류기를 결합하는 알고리즘.

ㅇ 특징:
– 간단하고 구현이 쉬움.
– 이상치에 민감.
– 분류 성능 향상에 효과적.

ㅇ 적합한 경우:
– 데이터가 비교적 깨끗하고 이상치가 적은 경우.

ㅇ 시험 함정:
– AdaBoost는 항상 결정트리만 사용한다고 오해.
– 이상치에 강하다고 잘못 이해.

ㅇ 시험 대비 “패턴 보기” 예시:
– (O) “오분류 데이터의 가중치를 조정하며 학습하는 Boosting 기법은? → AdaBoost”
– (X) “AdaBoost는 이상치에 강하다.”

1.2 Gradient Boosting

ㅇ 정의:
– 손실 함수를 경사하강법(Gradient Descent)으로 최소화하며 순차적으로 학습하는 Boosting 알고리즘.

ㅇ 특징:
– 다양한 손실 함수 사용 가능.
– 학습 속도가 느릴 수 있음.
– 과적합 방지를 위해 학습률 조절 필요.

ㅇ 적합한 경우:
– 예측 정확도가 매우 중요한 경우.

ㅇ 시험 함정:
– Gradient Boosting이 항상 XGBoost보다 빠르다고 오해.
– 학습률을 올리면 항상 정확도가 향상된다고 착각.

ㅇ 시험 대비 “패턴 보기” 예시:
– (O) “손실 함수를 경사하강법으로 최소화하는 Boosting 기법은? → Gradient Boosting”
– (X) “Gradient Boosting은 병렬 학습이 기본이다.”

1.3 XGBoost

ㅇ 정의:
– eXtreme Gradient Boosting의 약자로, Gradient Boosting을 병렬 처리와 규제를 통해 최적화한 알고리즘.

ㅇ 특징:
– 빠른 학습 속도와 높은 정확도.
– L1, L2 규제를 통한 과적합 방지.
– 결측값 처리 내장.

ㅇ 적합한 경우:
– 대규모 데이터셋, 높은 성능이 필요한 경우.

ㅇ 시험 함정:
– XGBoost가 항상 LightGBM보다 빠르다고 오해.
– 결측값 처리를 위해 반드시 전처리가 필요하다고 착각.

ㅇ 시험 대비 “패턴 보기” 예시:
– (O) “규제를 통해 과적합을 방지하고 병렬 학습이 가능한 Gradient Boosting 기법은? → XGBoost”
– (X) “XGBoost는 결측값 처리를 지원하지 않는다.”

1.4 LightGBM

ㅇ 정의:
– Microsoft에서 개발한 Gradient Boosting 프레임워크로, 히스토그램 기반 학습과 리프 중심 트리 분할 방식을 사용.

ㅇ 특징:
– 매우 빠른 학습 속도.
– 메모리 효율성 높음.
– 대규모 데이터 처리에 최적화.

ㅇ 적합한 경우:
– 데이터셋이 크고, 학습 속도가 중요한 경우.

ㅇ 시험 함정:
– LightGBM이 항상 XGBoost보다 정확하다고 오해.
– 작은 데이터셋에서도 무조건 LightGBM이 유리하다고 착각.

ㅇ 시험 대비 “패턴 보기” 예시:
– (O) “히스토그램 기반 학습과 리프 중심 트리 분할을 사용하는 Boosting 기법은? → LightGBM”
– (X) “LightGBM은 작은 데이터셋에서 항상 최고의 성능을 낸다.”

ㅁ 추가 학습 내용

Boosting 기법의 성능 향상을 위해서는 하이퍼파라미터 튜닝이 중요하다. 주요 조정 요소로는 학습률(learning rate), 트리의 최대 깊이(max_depth), 최소 샘플 분할 수(min_child_samples) 등이 있으며, 이를 적절히 조정하면 과적합을 방지하고 성능을 최적화할 수 있다. Early Stopping 기법을 사용하면 불필요한 반복 학습을 줄이고 일반화 성능을 높일 수 있다. 시험에서는 Boosting과 Bagging의 차이, 각 Boosting 알고리즘의 특징, 속도와 성능의 트레이드오프, 이상치와 노이즈에 대한 민감도, 병렬 처리 가능 여부, 결측값 처리 기능 여부 등을 비교하는 문제가 자주 출제된다.

답글 남기기

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

*
*