빅데이터 모델링 - 고급 분석기법 - 앙상블 분석(Ensemble Analysis)

 

앙상블 분석 정의

  • 주어진 자료로부터 여러 개의 학습 모델을 만든 후 학습 모델들을 조합하여 하나의 최종 모델을 만드는 개념
  • 모델의 분산을 줄여주는 효과를 가짐
  • 입력값의 작은 차이에도 민감하게 반응하는 문제에 유용
  • 동일한 학습 알고리즘 이용 시, 한 개의 단일학습기에 의한 분석보다 더 나은 분석성능을 이끌어 낼 수 있음
    • 다양한 약학습기를 통해 강학습기를 만들어가기 때문

약학습기(약분류기, Weak Learner)

  • 무작위 선정이 아닌 성공확률이 높은, 즉 오차율이 일정 이하(50% 이하)인 학습 규칙
  • 가능성 있는 다양한 복수의 학습 규칙
  • 예) 스팸 메일 처리 방법
    • 스팸 여부를 판단하는 기준
      • 제목에 광고가 붙은 경우 : 스팸(Yes)
      • 본문에 보험/대출이 들어간 경우 : 스팸(Yes)
      • 보낸이가 내 주소록에 있는 경우 : 스팸아님(No)
    • 위의 기준 외에 스팸 메일을 받을 수 있으며 이와 같이 결과 도출에 실패 가능성을 어느 정도 내포한 여러 학습 기준을 약학습기라고 지칭

강학습기(강분류기, Strong Learner)

  • 약학습기로부터 만들어내는 강력한 학습 규칙

앙상블 분석 종류

보팅(Voting)

  • 뜻 그대로 투표를 통해 결정하는 방식
  • 배깅과 투표방식이라는 점에서 유사하지만 사용법에서 차이점 존재
    • 보팅(Voting)
      • 서로 다른 여러 학습 모델을 조합해서 사용
      • 즉, 서로 다른 알고리즘이 도출해 낸 결과물에 대해 최종 투표하는 방식을 통해 최종 결과 선택
    • 배깅(Bagging)
      • 같은 알고리즘 내에서 다른 표본 데이터 조합 사용
    • 하드 보팅(Hard Voting)
      • 결과물에 대한 최종 값을 투표해서 결정하는 방식
    • 소프트 보팅(Soft Voting)
      • 최종 결과물이 나올 확률 값을 다 더해서 최종 결과물에 대한 각각의 확률을 구한 뒤 최종 값을 도출해내는 방법

부스팅(Boosting)

  • 가중치를 활용하여 연속적인(sequential) 약학습기를 생성하고 이를 통해 강학습기를 만드는 방법
  • 다른 앙상블 기법과 가장 다른 점 중 하나는 바로 순차적인 학습을 하며 가중치를 부여해서 오차를 보완해 나감
  • 순차적 학습의 단점
    • 병렬 처리에 대한 어려움 존재
    • 다른 앙상블 대비 학습 시간 오래 소요

배깅(Bagging, Bootstrap Aggregation)

  • 샘플을 여러 번 뽑아(bootstrap) 각 모델을 학습시켜 결과물을 집계(aggregation)하는 방법
  • 배깅 절차
    1. 데이터로부터 부트스트랩(복원 랜덤 샘플링)
    2. 부트스트랩한 데이터로 모델 학습
    3. 학습된 모델의 결과를 집계하여 최종 결과 값 도출
  • 범주형 자료(Categorical Data)
    • 투표 방식(Voting)으로 결과를 집계
    • 즉, 6개의 결정 트리에서 4개는 A로 예측하고 2개는 B로 예측할 경우 최종 결과는 A로 예측
  • 연속형 자료(Continuous Data)
    • 평균으로 집계
    • 즉, 말 그대로 각각의 결정 트리 모델이 예측한 값에 평균을 취해 최종 결과 예측
  • 활용 모델 : 랜덤 포레스트(Random Forest)

참고