앙상블 학습(Ensemble Learning)에 대해 알아보자.
목 적
앙상블 학습(Ensemble Learning)이란 하나의 모델만을 학습시켜 사용하지 않고 여러 모델을 학습시켜 결합하는 방식으로 문제를 처리한다. 특히, 모델 하나로 원하는 성능을 낼 수 없을 때 앙상블 학습을 사용하면 효과적이며, 개별로 학습한 여러 모델을 조합하여 일반화(generalization) 성능을 향상할 수 있다.
방 법
- 여러 분류 알고리즘 사용 : 다수결 투표
- 하나의 분류 알고리즘 이용 : 배깅(Bagging), 부스팅(Boosting)
종 류
- 투표(Majority Voting) : 동일한 훈련세트
- 배깅(Bagging) : 훈련 샘플에서 알고리즘마다 별도의 훈련세트 추출
* 랜덤 포레스트(Random Forest) : 의사 결정 트리
- 부스팅(Boosting) : 샘플 뽑을 때 잘못된 분류 data 50%를 재학습, 또는 가중치 이용
보팅 (Voting)
- 여러 개의 분류기가 투표를 통해 최종 예측 결과를 결정하는 방식
- 서로 다른 알고리즘을 여러 개 결합하여 사용
* 하드 보팅(Hard Voting) : 다수의 분류기가 예측한 결과값을 최종 결과로 선정
* 소프트 보팅(Soft Voting) : 모든 분류기가 예측한 레이블 값의 결정 확률 평균을 구한 뒤 가장 확률이 높은 레이블 값을 최종 결과로 선정
배깅 (Bagging)
- 데이터 샘플링을 통해 모델을 학습시키고 결과를 집계하는 방법
- 모두 같은 유형 알고리즘 기반의 분류기를 사용
- 데이터 분할 시 중복을 허용
- Categorical Data : 다수결 투표 방식으로 결과 집계
- Continuous Data : 평균값 집계
- 과적합(Overfitting) 방지에 효과적
- 대표적인 배깅 방식 : 랜덤 포레스트 알고리즘
부스팅(Boosting)
- 여러 개의 분류기가 순차적으로 학습을 수행
- 이전 분류기가 예측이 틀린 데이터에 대해서 올바르게 예측할 수 있도록 다음 분류기에 가중치(weight)를 부여하면서 학습과 예측을 진행
- 계속하여 분류기에게 가중치를 부스팅하며 학습을 진행하기에 부스팅 방식이라고 불림
- 예측 성능이 뛰어나 학습을 주도
- 보통 배깅에 비해 성능이 좋으나, 속도가 느리고 과적합의 문제가 발생할 가능성이 있음
출처 :
'Deep Learning' 카테고리의 다른 글
[Keras] VGG-net (0) | 2022.09.01 |
---|---|
CNN(Convolutional Neural Network) 합성곱 신경망 (0) | 2022.08.23 |
RNN(Recurrent Neural Network) 순환 신경망 (0) | 2022.08.19 |
[Deep Learning] 배치 정규화(Batch Normalization) [작성중] (0) | 2021.07.29 |
[Deep Learning] 활성 함수(activation function) 정리 (0) | 2021.07.28 |
댓글