지지플랏의 DataScience

(14) DSforS: Chap6. 6.3 배깅과 랜덤포레스트~ 6.4.부스팅 본문

Data Science/데이터과학을 위한 통계

(14) DSforS: Chap6. 6.3 배깅과 랜덤포레스트~ 6.4.부스팅

지지플랏 2024. 6. 26. 12:38
반응형

회귀와 분류의 기본모델을 살펴보았다면 이제는 앙상블기법의 기본과 해당 하위개념인 배깅방법을 적용한 랜덤포레스트 그리고 부스팅을 알아볼 차례이다. 머신러닝에서 가장 성능 높다고 평가받는 모델의 기초가 된 개념을 알아보자.


1. 글목차

  • 6.3.1. 배깅
  • 6.3.2. 랜덤포레스트
  • 6.3.3. 변수 중요도
  • 6.3.4. 하이퍼파라미터
  • 부스팅

2. 본문

 

2.1. 배깅

배깅의 이미지

늘 데이터분석은 데이터가 문제다. 오리지널 데이터는 작고 소중하다(?) 반면 데이터가 적은 경우가 있다. 이경우를 보완하기위해서 부트스트래핑이라는 방법이 첫 번째 등장했다. 부트스트래핑이란 복원추출을 통해서 기존 데이터와 유사하지만 다양성을 보장하기 위한 방법론이다. 해당 하는 데이터를 이용하여 모델에 적용하고 결과 값을 합치면 Bootstrapping + Aggregating  즉 Bagging이 된다. 배깅은 1994년 레오 브레이먼이 처음 발표하였다.

2.2. 앙상블

사실 배깅을 적용하기 전 다수결의 원칙을 적용한 사례는 1906년 통계학자 프랜시스 골턴에 의하여 제안되었다. 수소의 무게를 맞추는 대회가 진행 중에 800명이 다양한 예측을 내놓았는데 예측의 평균 값이 실제 수소 무게의 1% 오차로 근접하였다. 이처럼 개별 모델로 예측하는 것이 아닌 여러가지 모델의 값을 종합해서 하나의 모델처럼 사용하는 것을 앙상블 모델이라고 한다. 

프랜시스 골턴

프랜시스 골턴은 재밌게도 후에 생물학적 현상인 후손들의 키가 조상들의 키의 평균으로 회귀한다는 발견으로 회귀분석을 제안하게 된 사람이다.

 

2.3. 랜덤포레스트

전에 다뤘던 트리모델은 간단하고 명확하다. 의사결정을 하듯 분기마다 변수들에 대한 구분을 하여 계속 모델을 신장시키기 때문이다. 하지만 단점이 존재하는데, 매번 분기를 선정하는 기준이 달라질 수 있다. 어떤 변수를 처음에 선정하여 트리를 만드냐에 따라 하위 분기가 매번 달라지기 때문이다. 이러한 특징 때문에 모델의 불안정성과 과대적합 이슈가 바로 트리 모델의 문제라고 잘 알려져 있다.

과소적합, 적절, 과대적합

 

이런 제한점 때문에 트리에 배깅을 적용한 랜덤포레스트 모델이 탄생했다.  여담이지만 빅데이터 분석기사의 2유형이 머신러닝 중 지도학습을 푸는 문제인데,  현재 8회까지 2유형은 랜덤포레스트로 하면 망하지 않는다 라는 속설이 있을 정도이다. 그만큼 강력하고 어느 분야에서나 예측한다면 기본적으로 사용되는 모델이라 할 수있다.

랜덤포레스트의 형상화

 

2.4. 부스팅

부스팅은 배깅과 함께 모델을 앙상블 형태로 만드는 기법 중 하나로, 모델이 갖는 오차를 줄이는 방식으로 모델을 연속적으로 생성한다.  배깅은 튜닝이 거의 필요 없어 범용성이 좋은 반면 부스팅은 그렇지 않다. 

 

자동차에 비유하자면 배깅은 신뢰할 수 있고 안정적인 혼다 어코드와 같고
부스팅은 강력하지만 더 많은 주의가 필요한 포르쉐와 같다.

 

대표적으로 자주 사용하는 방법은 XGBoost 이다. 부스팅은 하이퍼 파라미터 튜닝이 중요한 작업 중 하나인데,  하이퍼파라미터는 모델의 손잡이와 같은 기능을 하는 것이다. XGBoost에서는 subsample과 eta가 중요한 파라미터이다. subsample은 각 반복 구간마다 샘플링할 입력 데이터의 비율을 조정하는 것이고, eta는 부스팅 알고리즘에서 $\alpha_{m}$ 에 적용되는 축소 비율을 결정한다.  특히 eta는 가중치의 변화량을 낮추어 오버피팅을 방지하는 효과가 있다. 

반응형