랜덤 포레스트에 대한 간단한 소개
일련의 예측 변수와 반응 변수 사이의 관계가 매우 복잡한 경우, 우리는 종종 비선형 방법을 사용하여 이들 사이의 관계를 모델링합니다.
그러한 방법 중 하나는 예측 변수 세트를 사용하여 반응 변수의 값을 예측하는 의사 결정 트리를 생성하는 분류 및 회귀 트리 (종종 CART로 약칭)입니다.
의사결정 트리의 장점은 해석하고 시각화하기 쉽다는 것입니다. 문제는 높은 분산 으로 인해 어려움을 겪는 경향이 있다는 것입니다. 즉, 데이터 세트를 두 부분으로 나누고 두 부분 모두에 의사 결정 트리를 적용하면 결과가 매우 다를 수 있습니다.
의사결정 트리의 분산을 줄이는 한 가지 방법은 다음과 같이 작동하는 배깅 이라는 방법을 사용하는 것입니다.
1. 원본 데이터 세트에서 b 부트스트랩 샘플을 가져옵니다.
2. 각 부트스트랩 샘플에 대한 의사결정 트리를 만듭니다.
3. 각 트리의 예측을 평균하여 최종 모델을 얻습니다.
이 접근 방식의 장점은 클러스터링된 모델이 일반적으로 단일 의사결정 트리에 비해 테스트 오류율이 향상된다는 것입니다.
단점은 데이터 세트에 매우 강력한 예측 변수가 있는 경우 배깅 트리 수집의 예측이 높은 상관 관계를 가질 수 있다는 것입니다. 이 경우 배깅된 트리의 대부분 또는 전부는 첫 번째 분할에 이 예측자를 사용하므로 서로 유사하고 높은 상관 예측을 갖는 트리가 생성됩니다.
따라서 각 트리의 예측을 평균화하여 최종 모델에 도달할 때 이 모델이 실제로 단일 의사결정 트리에 비해 분산을 줄이지 않을 수도 있습니다.
이 문제를 해결하는 한 가지 방법은 Random Forest 라고 알려진 방법을 사용하는 것입니다.
랜덤 포레스트란 무엇인가요?
배깅과 마찬가지로 랜덤 포레스트도 원본 데이터 세트에서 부트스트랩 샘플을 가져옵니다.
그러나 각 부트스트랩 샘플에 대한 결정 트리를 구성할 때 트리의 분할이 고려될 때마다 m 예측 변수의 무작위 샘플만 p 예측 변수의 전체 집합 중에서 분할할 후보로 간주됩니다.
따라서 Random Forest가 모델을 생성하는 데 사용하는 완전한 방법은 다음과 같습니다.
1. 원본 데이터 세트에서 b 부트스트랩 샘플을 가져옵니다.
2. 각 부트스트랩 샘플에 대한 의사결정 트리를 만듭니다.
- 트리를 구성할 때 분할이 고려될 때마다 m 예측 변수의 무작위 샘플만 p 예측 변수의 전체 집합에서 분할할 후보로 간주됩니다.
3. 각 트리의 예측을 평균하여 최종 모델을 얻습니다.
이 방법을 사용하여 랜덤 포레스트의 나무 집합을 배깅을 통해 생성된 나무에 대해 장식합니다 .
따라서 각 트리에서 평균 예측을 수행하여 최종 모델에 도달하면 배깅 모델보다 변동성이 적고 테스트 오류율이 더 낮은 경향이 있습니다.
랜덤 포레스트를 사용할 때 일반적으로 의사 결정 트리를 분할할 때마다 m = √ p 예측 변수를 분할 후보로 간주합니다.
예를 들어, 데이터 세트에 총 p = 16개의 예측 변수가 있는 경우 일반적으로 m = √16 = 4개의 예측 변수만 각 분할의 잠재적 후보로 간주합니다.
기술 노트:
흥미롭게도 m = p를 선택하면(즉, 각 분할에서 모든 예측변수를 후보로 간주함) 이는 간단히 배깅을 사용하는 것과 동일합니다.
Out-of-bag 오류 추정
배깅과 유사하게 Out-of-bag 추정을 사용하여 Random Forest 모델의 테스트 오류를 계산할 수 있습니다.
각 부트스트랩 샘플에는 원래 데이터세트의 관측값이 약 2/3 포함되어 있음을 알 수 있습니다. 트리를 맞추는 데 사용되지 않은 나머지 1/3의 관측치를 OOB(Out-of-bag) 관측치 라고 합니다.
관측값이 OOB인 각 트리에서 평균 예측을 취하여 원본 데이터세트의 i번째 관측값을 예측할 수 있습니다.
이 접근 방식을 사용하여 원본 데이터 세트의 모든 n개 관측값에 대해 예측을 수행하고 테스트 오류의 유효한 추정치인 오류율을 계산할 수 있습니다.
테스트 오류를 추정하기 위해 이 접근 방식을 사용하면 특히 데이터 세트가 큰 경우 k-겹 교차 검증 보다 훨씬 빠르다는 이점이 있습니다.
랜덤 포레스트의 장점과 단점
랜덤 포레스트는 다음과 같은 장점을 제공합니다.
- 대부분의 경우 랜덤 포레스트는 배깅 모델, 특히 단일 의사결정 트리에 비해 정확도가 향상됩니다.
- 랜덤 포레스트는 이상치에 강합니다.
- 랜덤 포레스트를 사용하기 위해 전처리가 필요하지 않습니다.
그러나 랜덤 포레스트에는 다음과 같은 잠재적인 단점이 있습니다.
- 해석하기가 어렵습니다.
- 대규모 데이터 세트를 활용하려면 계산 집약적(즉, 느림)이 필요할 수 있습니다.
실제로 데이터 과학자는 예측 정확도를 최대화하기 위해 일반적으로 랜덤 포레스트를 사용하므로 쉽게 해석할 수 없다는 사실은 일반적으로 문제가 되지 않습니다.