본문 바로가기
머신러닝

[머신러닝][앙상블/배깅][개념] 랜덤포레스트(Random Forest)

by 방구석 데이터사이언티스트 2022. 1. 20.
728x90
반응형

1. 랜덤포레스트

Source: Medium

랜덤포레스트란? 랜덤포레스트의 사전적 의미는 "다수의 결정 트리들을 학습하는 앙상블 방법"입니다.

 

조금 더 쉽게 얘기하면 포레스트(Forest), 숲을 이용한 분석방법이죠.

의사결정나무가 하나의 결정 트리라면 랜덤 포레스트는 무작위로 수많은 나무들을 만들고 학습하는 알고리즘입니다.

집단지성이라는 말이 있듯이, 한 명보다는 두 명이 낫고 두 명보다는 여러명이 낫겠죠?

따라서 하나의 의사결정나무에서 생기는 과적합이나 낮은 성능의 문제점을 보완할 수 있습니다.   

 

2. 배깅

앙상블 기법에는 크게 세 가지 종류가 있습니다. (보팅, 배깅, 부스팅) 

이 중 랜덤포레스트는 배깅의 대표적인 알고리즘입니다.

배깅이란? bootstrap aggregating의 줄인말로 bootstrap을 통해 resampling 한 데이터로 학습된 트리들을 집계하는 방법론입니다. 여기서 bootstrap은 하나의 데이터를 중복이 허용되도록 샘플링하는 과정입니다.

 

따라서 중복이 허용된다면 무작위로 여러 데이터 셋들을 만들 수 있습니다. 그리고 데이터들을 트리에 학습시키고 각 트리별 예측값들을 집계하는 방식이 랜덤포레스트의 원리입니다. 집계하는 방식도 회귀트리는 평균을 사용하고 분류트리에서는 다중 투표를 사용합니다.  

 

3. 장단점

장점

- 비교적 빠른 수행속도

- 비교적 적은 하이퍼 파라미터

- 과적합 방지 

 

단점

- 높은 메모리 사용량

- 해석의 복잡성

- 데이터를 추가해도 어려운 성능 개선

 

 

 

 

 

 

728x90
반응형

댓글