본문 바로가기
AI/머신러닝

랜덤 포레스트(Random Forests), 앙상블 기법

by 남오공 2022. 3. 3.
728x90

랜덤 포레스트(Random Forests)란?

머신 러닝에서 분류,회귀 분석 등에 사용되는 앙상블 학습 방법의 일종으로,

훈련 과정에서 구성한 다수의 결정 트리로부터 분류 또는 평균 예측치(회귀 분석)을 출력함으로써 동작한다.

특성을 랜덤한 방식으로 추출하며 트리가 서로 독립적인 방식(서로 영향을 안주는)으로 추출된다.

즉 이 말은 모든 특성을 사용하지는 않는다는 의미이다.

 

 

앙상블 학습 방법(Ensemble Learning)이란?

앙상블의 의미는 전체적인 어울림을 의미한다고 한다. 

이 의미와 큰 상관이 있어 보이지 않지만 앙상블 기법은 하나의 모델로 원하는 성능을 낼 수 없을 때

다수의 약한 알고리즘이나 다수의 모델(기본 모델(Weak base Learner))들을 *조합 하여


*여기서 기본모델들을 조합하는 방법은 

회귀 문제일 경우 기본모델 결과들의 평균을 결과로 내고,

분류 문제일 경우 다수결로 가장 많은 모델들이 선택한 범주로 예측한다.


여러 개의 분류(Classifier)를 생성하고 그 예측을 결합하여 더 정확한 예측을 만드는 방식이다.

이해하기 어렵다면 현실 세계에서 집단 지성을 떠올리면 된다.

앙상블 방식은 과적합을 방지하는 방법이기도 한데 이는 데이터들을 분류하고 종합하는 과정에서

에러들이 상쇄가 되기 때문에 과적합이 방지가 된다.

앙상블 학습 방법은 일반적으로 배깅,보팅,부스팅 등의 방식으로 나뉘는데

배깅(Bootstrap AGGregatING, BAGGING)

배깅 모델의 프로세스

  • 하나의 데이터를 여러 샘플로 나눠 여러 번 뽑아(Bootstrapping) 각 모델을 학습시켜 결과물을 집계(Aggregration)하는 방식.
  • 복원추출을 통해 원래 데이터 수만큼 크기가 같도록 하며 하나의 모델에 대해 데이터를 추출할 경우 중복 데이터가 있을 수 있다.
  • 복원추출이란 추출한 데이터를 다시 모집단에 복원하여 추출하는 것이다.
  • 결과값에 대해서는 이산적인 데이터(범주형)는 투표방식, 연속적인 데이터는 평균으로 집계한다.
  • 모두 같은 알고리즘을 이용하여 샘플을 학습시킨다.
  • 배깅의 대표적인 방식이 랜덤 포레스트 방식이다.

 

보팅(Voting)

  • 여러 모델에서 구해진 예측값들을 투표를 통해 결정하는 방식
  • 서로 다른 알고리즘 여러 개를 결합해서 사용하는 방식
  • hard voting(다수결)과 soft voting(확률의 평균)으로 세분화 된다

 

 

오디널 인코더 

명목형 - 원핫인코더 -> 피쳐의 수가 늘어남

순서형 - 오디널인코더 -> 피쳐의 수가 그대로 ->  순서정보가 들어간다는 것에 의미가 있다.

 

명목형에도 오디널인코더를 써도 문제가 없다는데 왜일까?

 

댓글