[오늘의 공부]
머신러닝에서 기본이라고 할 수 있는 Random Forest(이하 랜덤포레스트)에 대해 공부해보고자 한다.
▶ 랜덤포레스트란
랜덤포레스트는 기존 배깅의 이점을 살리고 변수를 랜덤으로 선택하는 과정을 추가함으로써 개별 나무들의 상관성을 줄여서 예측력을 향상한 앙상블 모형으로, 베이스러너는 DT(Decision Tree)이며, 의사결정나무 여러 개를 학습하여 결합하면 랜덤포레스트가 된다.
※ 배깅 이점: 복원추출, bootstrap에 bias 낮고 variance 높은 복잡한 알고리즘들을 개별적으로 학습시켜 최종 결합하는 것이 특징이다.
▶ 랜덤포레스트의 특징
(1) 배깅: 복원추출을 통해서 원래 데이터의 숫자만큼 샘플링한다.
(2) 변수를 랜덤하게 선택하고, bootstrap을 통해 선택된 데이터 세트의 x는 25개인데 기존 Bagging Tree의 경우 25개의를 하나하나 탐색하지만 랜덤포레스트는 랜덤하게 선택하여 지정한다.
랜덤하게 선택하여 분할할 때는 전체 데이터 세트에서 랜덤하게 추출한다.
랜덤포레스트는 배깅의 특징을 가지면서 다양성을 한번 확보 했지만 변수를 선택적으로 사용함. 개별적인 성능은 떨어질 수는 있어도 각 모형을 결합하면 성능이 좋다.
A그룹과 B그룹을 비교했을 때 각 그룹에 평균은 A가 높으나, 집단의 최고점을 비교했을 때는 B가 더 높다.
의사결정나무를 스플릿하는데 사용되는 변수를 제약을 걸음으로써 다양성을 확보했으며, 확보된 다양성이 어떠한 효과를 주는지에 대한 예시이다.
다양성 확보를 위해 프루닝(학습 후에 불필요한 노드가 가중치 등을 제거하는 방식)을 하지 않고 거의 오버핏을 시킨다.
개별 모델 성능 높고 연관성 적을수록 일반화 성능은 낮아질 수 있다.
※ 일반화 성능 바운드 계산 예시
▶ 랜덤포레스트의 장점
(1) 현실 상황에서 활용도 높음
(2) 예측력 우수
(3) 이상치에 강함
(4) 변수의 중요도 산출(OOB 데이터 활용)
▶ 참고자료
'개발 관련 공부 > 머신러닝' 카테고리의 다른 글
LGBM(Light Gradient Boosting Machine)이란? (1) | 2025.01.07 |
---|---|
XGBoost(Extreme Gradient Boosting)란? (0) | 2025.01.06 |
Gradient Boosting Machine(gbm)란? (4) | 2025.01.04 |
bagging(배깅)이란? (0) | 2024.12.25 |
Ensemble(앙상블)이란? (0) | 2024.12.17 |