앙상블 학습

Yeons·2022년 11월 24일

스터디

목록 보기
5/8

앙상블 (Ensemble)

일련의 예측 모델(분류 또는 회귀 모델)을 사용한 모델의 학습

앙상블(프랑스어: ensemble)은 전체적인 어울림이나 통일. ‘조화’로 순화한다는 의미의 프랑스어이며 음악에서 2인 이상이 하는 노래나 연주를 말한다. 흔히 뮤지컬의 주연, 조연 배우들 뒤에서 화음을 넣으며 춤을 추고 노래를 부르면서 분위기를 돋구는 역할을 의미하기도 한다.

앙상블 학습이란 여러 개의 분류기를 생성하고 각 예측들을 결합함으로써 보다 정확한 예측을 도출하는 기법. 정형 데이터의 예측 분석 영역에서 앙상블이 매우 높은 예측 성능을 가진다.

- 여러 가지 우수한 학습 모델을 조합해 예측력을 향상시키는 모델

- 장점 : 단일 모델에 비해서 분류 성능 우수

- 단점 : 모델 결과의 해석이 어렵고, 예측 시간이 많이 소요됨

- 앙상블 알고리즘 : 배깅(Bagging), 부스팅(Boosting)

- 부스팅(Boosting)은 맞추기 어려운 문제를 맞추는데 초점을 둠

1. 붓스트랩(bootstrap)

주어진 학습 데이터 집합에서 복원추출하여 다수의 학습 데이터 집합을 만들어내는 기법
(데이터 양을 임의적으로 늘리고, 데이터 셋의 분포가 고르지 않을 때 고르게 만드는 효과가 있다.)

2. 배깅(Bagging = bootstrap + aggregating)

  1. 붓스트랩을 통해 여러 개의 학습 데이터 집합(aggregating) 생성
  2. 각 학습 데이터 집합 별로 분류기 또는 회귀모델 생성
  3. 각 샘플의 결과변수(예측치)를 결합하는 방법은 결과변수가 연속형이면 평균(average), 범주형이면 다중 투표(majority vote) 사용

2-1. 랜덤 포레스트

분류기로 결정트리를 사용하는 배깅 기법
여러 개의 결정 트리를 임의적으로 학습하는 앙상블의 배깅 유형

원리
예를 들어 데이터 셋에 독립변수(특징, feature)가 30개라 있다. 30개의 특징을 하나의 의사결정나무 가지고 만들면 가지가 많아질 것이고, 오버피팅의 결과를 야기할 것입니다. 하지만 30개의 Feature 중 랜덤으로 5개의 Feature만 선택해서 하나의 결정 트리를 만들고, 또 30개 중 랜덤으로 5개의 Feature를 선택해서 또 다른 결정 트리를 만들고 이렇게 계속 반복하여 여러 개의 결정 트리를 만들 수 있다. 결정 트리 하나마다 예측 값을 반환하고 여러 결정 트리들이 내린 예측 값들 중 가장 많이 나온 값을 최종 예측값으로 정한다. 다수결의 원칙(다중 투표(majority vote))에 따르는 것이다.

장점 : 단일 트리 모델 단점 보완(성능, 과대적합)
단점 : 대용량 데이터 셋으로 처리시간 증가
멀티코어 프로세스 이용 병렬처리 가능
배깅과의 차이점 : 배깅은 샘플 복원 추출 시 모든 설명변수 사용 but 랜덤포레스트는 a개의 설명변수만 복원 추출
랜덤포레스트는 일반적으로 배깅보다 성능이 우수

3. 부스팅(boostring)

k개의 예측 모델을 순차적으로 만들어 가는 앙상블 모델 생성
오차에 따라 학습데이터에 가중치 또는 값을 변경해가면서 예측 모델 생성

원리 :
잘못 분류된 객체들에 집중하여 새로운 분류규칙을 생성하는 단계를 반복
약한 예측모형들을 결합하여 강한 예측모형을 도출
오분류된 개체는 높은 가중치, 정분류된 개체는 낮은 가중치 적용 => 예측모형의 정확도 향상

3-1. AdaBoost

부스팅 방법은 앙상블 과정에서 가중치(weight)를 사용하는 방법이다.
AdaBoost에서는 분류기가 잘못 분류한 데이터를 처리하는 과정에서 기존 앙상블 방법과 차이점이 있다.
분류기 1에서 잘못 분류된 데이터는 분류기 2를 만들 때, 더 높은 확률을 가지고 학습 데이터로 선택된다.

AdaBoost 방법은 잘못 분류된 데이터에 대해서 초점을 맞춰 분류기 생성을 하기 때문에, 과적합(overfitting) 문제가 있을 수도 있다.

하지만, 일반적으로 단일 분류기 보다 좋은 성능을 보인다고 한다.

profile
공부중

0개의 댓글