본문 바로가기
카테고리 없음

다수의 결정 트리들을 학습 Random Forest -1

by 91leehun 2025. 1. 10.

랜덤 포레스트 구조 및 메커니즘

다중 의사결정 트리 구축

Random Forest는 훈련 과정에서 수많은 의사 결정 트리를 구성한다. 각 트리는 원본 데이터 세트의 다른 부트스트랩 샘플을 사용하여 구축되므로 각 트리가 약간 다른 데이터 하위 집합에 대해 훈련되었다. 트리 간의 이러한 다양성은 모든 트리가 동일한 오류를 범할 가능성을 줄이므로 앙상블 성능에 매우 중요한데,  노이즈를 포착하고 훈련 데이터에 과대적합할 수 있는 단일 결정 트리와 달리, Random Forest의 여러 트리를 집계하면 이러한 특이성을 완화하여 보다 정확하고 신뢰할 수 있는 예측을 얻을 수 있다.

기능 무작위성

트리 간의 다양성을 더욱 강화하고 상관관계를 줄이기 위해 Random Forest는 기능 선택 프로세스에 추가 무작위성 계층을 도입한다. 트리의 각 분할에서 사용 가능한 모든 기능을 평가하는 대신 최상의 분할을 결정하기 위해 기능의 무작위 하위 집합이 고려해야 하며, 특성 배강 또는 임의 하위 공간 방법으로 알려진 이 기술을 사용하면 포리스트의 각 트리가 다양한 데이터 하위 집합에 대해 학습될 뿐만 아니라 다양한 특성 공간을 탐색할 수 있다. 이를 통해 개별 트리 간의 상관관계를 최소화하여 새로운 데이터에 대한 앙상블의 기능을 강화시킨다.

예측 집계

훈련 후 Random Forest는 모든 개별 결정 트리의 예측을 집계하여 최종 출력을 형성하며, 집계 방법은 작업 유형에 따라 다르다. 분류의 경우 포리스트의 각 트리는 클래스 레이블에 대해 투표를 하고, 가장 많은 표를 얻은 클래스가 최종 예측이 되며, 이 다수결 메커니즘은 앙상블의 결정이 강력하고 개별 트리의 편향에 덜 영향을 받도록 보장한다. 그리고 회귀의 경우 모든 트리의 예측을 평균하여 최종 연속 출력을 생성하는데,  평균화는 예측을 평탄화하는 데 도움이 되므로 보다 정확하고 안정적인 회귀 추정값을 얻을 수 있다. 또 이 집계 프로세스는 앙상블의 집단 지능을 활용하여 최종 예측이 모든 개별 트리의 강점을 활용하는 동시에 개별 약점을 완화시키려 노력한다.

교육 프로세스 개요

Random Forest의 훈련 과정에는 앙상블의 효율성을 보장하는 몇 가지 주요 단계가 포함되는데, 부트스트랩 샘플링은 복원을 통해 무작위로 샘플링하여 원본 데이터세트에서 여러 부트스트랩 샘플이 생성하고, 각 부트스트랩 샘플은 별도의 의사결정 트리를 훈련하는 데 사용되어 각 트리에 대한 훈련 데이터의 다양성을 보장하게 만든다. 트리 구성으로는 각 부트스트랩 샘플에 대해 각 분할에서 임의의 기능 하위 집합을 사용하여 의사결정 트리가 생성되는데, 이 무작위 기능 선택은 트리 사이에 추가적인 다양성을 도입하여 상관 관계를 줄이고 앙상블의 견고성을 향상하는데 의미가 있다. 모든 트리가 훈련되면 분류를 위한 다수 투표 또는 회귀를 위한 평균화를 통해 해당 예측이 집계되어 최종 앙상블 예측을 생성하며 이 집계는 개별 트리의 집합적 강점을 활용하여 정확성과 일반화가 향상시키고, Random Forest는 이러한 구조화된 훈련 프로세스를 통해 분산을 효과적으로 줄이고, 과적합을 방지하며, 다양한 유형의 데이터 및 애플리케이션 전반에 걸쳐 예측 성능을 발전시켜 나간다.

랜덤 포레스트의 장점

높은 정확도

Random Forest의 가장 중요한 장점 중 하나는 높은 예측 정확도이다. Random Forest는 여러 의사결정 트리의 결과를 집계함으로써 개별 트리에 내재된 분산을 효과적으로 줄여 더욱 신뢰할 수 있고 정확한 예측을 가능하게 하며, 이 앙상블 접근 방식은 특히 비선형 관계와 기능 간의 상호 작용이 있는 복잡한 데이터 세트에서 단일 의사 결정 트리에 비해 우수한 성능을 나타내는 경우가 많다. 보이지 않는 데이터를 일반화하는 능력으로 인해 많은 실제 응용 프로그램에서 긍정적으로 선택이 되는 모습을 보이고 있다.

과적합에 대한 견고성

Random Forest는 특히 크고 복잡한 데이터세트를 처리할 때 의사결정 트리에서 흔히 발생하는 문제인 과적합에 대해 본질적으로 강력한 힘을 발산하는데, 앙상블 방법은 각각 서로 다른 데이터 하위 집합과 무작위 기능 선택에 대해 훈련된 여러 트리의 예측을 평균화하여 과적합을 완화시킨다.  트리 간의 이러한 다양성은 앙상블 모델이 훈련 데이터의 노이즈와 특정 패턴을 캡처하지 않도록 보장하여 새로운, 보이지 않는 데이터로 일반화하는 능력을 발전시키고 , 결과적으로 Random Forest의 훈련은 지나치게 맞춰지지 않으면서도 높은 성능을 유지하는 이유를 보여주고 있다.

고차원 데이터 처리

Random Forest는 많은 기능을 갖춘 고차원 데이터 세트를 처리하는 데 탁월하다. 각 분할의 무작위 기능 선택 프로세스를 통해 모델은 기능 공간을 효율적으로 탐색하여 정확한 예측을 위해 가장 관련성이 높은 기능을 식별할 수 있으며, 이 기능을 통해 Random Forest는 게놈학, 텍스트 분류, 이미지 분석 등 광범위한 기능 세트가 포함된 애플리케이션에 적합하게 만든다.  또한 Random Forest의 고유한 기능 중요도 측정법은 가장 영향력 있는 기능을 식별하고 선택하는 데 도움이 되며 고차원 시나리오에서 측정법에 효율성을 매우 높이는데 도움을 준다.

다재다능한 능력

Random Forest는 매우 다재다능하며 동일한 숙련도로 분류 및 회귀 작업을 모두 처리할 수 있다. 유연성은 의료, 금융, 마케팅, 전자상거래, 환경 과학 등 다양한 영역에 걸쳐 광범위한 애플리케이션으로 확장되며,  질병 결과 예측, 신용 위험 평가, 고객 분류, 판매 예측, 기후 패턴 모델링 등 Random Forest는 다양한 유형의 데이터 및 문제 설정에 원활하게 적응할 수 있다. 이러한 다재다능함 덕분에 신뢰할 수 있는 예측 모델을 찾는 실무자가 선호하는 알고리즘으로 통하고 있다.

누락된 값 처리

Random Forest는 누락된 값을 처리하는 강력한 메커니즘을 갖추고 있어 누락된 데이터가 흔히 발생하는 실제 데이터 세트에 적합하다. 트리 구성 중에 특성 값이 누락된 경우 Random Forest는 대리 분할 또는 기타 대체 기술을 사용하여 사용 가능한 데이터를 기반으로 분할 방향을 결정할 수 있는데,  광범위한 전처리나 대치 없이 불완전한 데이터를 관리할 수 있는 이러한 기능 덕분에 Random Forest는 본질적으로 누락된 데이터 세트에 대한 실용적인 선택이 되어 적용성과 사용 편의성이 향상되어 있다.

병렬화

Random Forest의 아키텍처는 포리스트의 각 의사결정 트리가 다른 의사결정 트리와 독립적으로 구축되므로 본질적으로 병렬 처리를 지원한다. 이러한 독립성 덕분에 여러 프로세서 또는 분산 컴퓨팅 환경에서 훈련 프로세스를 쉽게 병렬화할 수 있으므로 특히 대규모 데이터 세트와 많은 수의 트리의 경우 훈련 시간이 크게 단축시킬수 있게 되었으며,  병렬화를 활용하는 기능을 통해 Random Forest는 확장성이 뛰어나며 성능 저하 없이 광범위한 데이터 세트를 효율적으로 처리할 수 있는 장점을 가지고 있다.

랜덤 포레스트의 단점

계산 복잡성

Random Forest는 수많은 이점을 제공하지만 단일 의사결정 트리나 선형 모델과 같은 단순한 모델에 비해 계산이 복잡하다. 각각 잠재적으로 깊고 복잡할 수 있는 다수의 의사결정 트리를 훈련하려면 처리 능력과 메모리 측면에서 상당한 계산 리소스가 필요하게 되는데,  이러한 복잡성은 매우 큰 데이터 세트를 처리하거나 리소스가 제한된 환경에 모델을 배포할 때 특히 어려울 수 있다. 또한 트리 수가 증가하면 훈련 시간이 길어지므로 시간에 민감한 애플리케이션에는 적합하지 않을 수 있는 단점이 있다.

모델 해석성

Random Forest의 주요 단점 중 하나는 개별 의사결정 트리에 비해 해석성이 떨어진다는 것이다. 단일 의사결정 트리는 예측으로 이어지는 명확하고 이해하기 쉬운 의사결정 경로를 제공하는 반면, 수백, 수천 개의 트리가 앙상블되면 '블랙박스'가 되어 정확한 의사결정 과정을 추적하기 어렵다. 투명성 부족은 신뢰와 규정 준수를 위해 예측 이면의 근거를 이해하는 것이 필수적인 의료 또는 금융과 같이 모델 해석성이 중요한 애플리케이션에서 심각한 제한이 될 수 있기 때문에 생각보다 큰 단점으로 꼽히고 있다.

느린 예측

Random Forest를 사용한 결과 예측은 단순한 모델을 사용하는 것보다 느린데, 특히 포리스트의 나무 수가 많은 경우 더욱 그렇다. 각 예측에는 모든 개별 트리의 출력을 집계해야 하며, 이는 계산 집약적이고 시간 소모적일 수 있는데,  이러한 지연은 신속한 예측이 필요한 실시간 또는 지연 시간이 짧은 애플리케이션에 문제를 일으킬 수 있다. 트리 수를 줄이거나 트리 깊이를 최적화하는 등의 기술은 이 문제를 완화하는 데 도움이 될 수 있지만 모델의 정확성과 성능에도 영향을 미칠 수 있다.

희소 데이터에는 덜 효과적임

Random Forest는 GBM(Gradient Boosting Machines) 또는 SVM(Support Vector Machines)과 같은 다른 알고리즘에 비해 범주형 변수 또는 희소 기능이 많은 데이터 세트에서 효과적으로 수행되지 않을 수 있다. 무작위 기능 선택 프로세스가 희소 데이터의 기본 패턴을 적절하게 캡처하지 못할 수 있으므로 카디널리티가 높은 범주형 기능이나 결측값이 많은 데이터 세트를 처리할 때 모델 성능이 저하될 수 있다. 이러한 문제는 시나리오에서는 최적의 성능을 달성하기 위해 기능 엔지니어링이나 대체 알고리즘 사용과 같은 전처리 단계가 추가로 필요할 수 있는 단점이 있다.