인공지능/머신러닝

[머신러닝 - 이론] Ensemble - Random Forest (앙상블 학습 - 랜덤 포레스트)

바보1 2022. 10. 19. 18:47

 

 


앞의 글을 읽으시면 이해에 도움이 됩니다.

 

 

2022.10.18 - [Computer Science/머신러닝] - [머신러닝 - 이론] Decision Tree (결정 트리)

 

[머신러닝 - 이론] Decision Tree (결정 트리)

1. Decision Tree (결정 트리)란? 결정 트리는 분류, 회귀 작업도 가능한 강력한 머신러닝 알고리즘입니다. 결정 트리는 if-else문을 사용하여 비교를 하는 간단한 알고리즘이며, 이름에서 알 수 있듯이

hi-guten-tag.tistory.com

2022.10.19 - [Computer Science/머신러닝] - [머신러닝 - 이론] Ensemble - Bagging (앙상블 학습 - 배깅)

 

[머신러닝 - 이론] Ensemble - Bagging (앙상블 학습 - 배깅)

앞의 글을 읽으시면 이해에 도움이 됩니다. 2022.10.18 - [Computer Science/머신러닝] - [머신러닝 - 이론] Decision Tree (결정 트리) [머신러닝 - 이론] Decision Tree (결정 트리) 1. Decision Tre..

hi-guten-tag.tistory.com


1. Random Forest (랜덤 포레스트)란?

 

 

랜덤 포레스트는 일반적으로 배깅 (페이스팅)을 적용한 결정 트리의 앙상블입니다.

 

수많은 결정 트리를 배깅을 사용하여 학습을 하고, 이를 통해 나오는 예측 값으로 예측을 진행합니다.

 

비록 depth = 1인 결정 트리를 사용한다 하더라도, 많이 사용한다면 해당 랜덤 포레스트의 성능이 향상됩니다.

 

배깅은 모든 학습 데이터를 사용하지 않을 수 있으므로, 몇몇 샘플은 아예 학습에 사용되지 않을 수 있습니다.

 

랜덤 포레스트 알고리즘은 트리의 노드를 분할할 때, 전체 특성 중에 최선의 특성을 찾는 대신 무작위로 선택한 특성 후보 중에서 최적의 특성을 찾습니다.

 

이는 다양성(랜덤성)을 증가시키므로 편향을 증가시키고, 분산을 낮추어 전체적으로 더 훌륭한 모델을 만들어냅니다.


2. 특성 중요도

 

 

랜덤 포레스트의 주요 장점은 특성의 중요도를 측정하기 쉽다는 것입니다.

 

사이킷런은 어떤 특성을 사용한 노드가 평균적으로 불순도를 얼마나 감소시키는지 확인하여 특성의 중요도를 측정합니다.

 

불순도란 상위 노드의 불순도에 비해 자식 노드의 불순도가 얼마나 감소했는지를 판단합니다.

 

따라서 상위 노드에서 중요한 특성을 사용하여 자식 노드를 생성한다면 자식 노드의 불순도는 감소할 것이고,

따라서 해당 트리가 선택한 특성의 중요도는 올라갑니다.

 

아래 그림은 MNIST 데이터의 픽셀 중요도 입니다.

중간에 있는 픽셀을 중요하게 보는 것을 확인할 수 있습니다.

 

감사합니다.

 

지적 환영합니다.