>일반적인 문제 >랜덤 포레스트 알고리즘의 원리는 무엇입니까

랜덤 포레스트 알고리즘의 원리는 무엇입니까

coldplay.xixi
coldplay.xixi원래의
2020-08-19 14:31:239702검색

랜덤 포레스트 알고리즘의 원리는 다음과 같습니다. 1. 랜덤 포레스트 알고리즘은 배깅 알고리즘을 개선한 것입니다. 2. 랜덤 포레스트는 CART 결정 트리를 약한 학습기로 사용합니다. 3. 입력은 샘플 세트입니다. 약한 분류기의 반복 횟수는 T 4 이고, 출력은 최종 강한 분류기 [f(x)]입니다.

랜덤 포레스트 알고리즘의 원리는 무엇입니까

랜덤 포레스트 알고리즘의 원리는 다음과 같습니다.

1. Random Forest Algorithm

 RF(Random Forest) 알고리즘은 Bagged 알고리즘을 개선한 것입니다.

먼저 RF는 CART 결정 트리를 약한 학습기로 사용하는데, 이는 그래디언트 부스팅 트리 GBDT를 연상시킵니다.

두 번째로, RF는 의사결정 트리 구축을 개선했습니다. 일반적인 의사결정 트리의 경우 노드의 모든 n개 샘플 특성 중에서 최적의 특성을 선택하여 결정을 내립니다. 트리는 분할되지만 노드의 샘플 특징 중 일부는 RF에 의해 무작위로 선택됩니다. 이 숫자는 nsub라고 가정할 때 n보다 작으며, 무작위로 선택된 nsub(n보다 작은) 샘플 특징 중에서 최적의 것은 다음과 같습니다. 특징은 의사결정 트리의 왼쪽 및 오른쪽 하위 트리를 나누는 데 사용됩니다. 이는 모델의 일반화 능력을 더욱 향상시킵니다.

위 두 가지 점을 제외하면 RF는 일반적인 배깅 알고리즘과 다르지 않습니다. 다음은 RF 알고리즘을 간략하게 요약한 것입니다.

  • 입력은 샘플 세트이고 약한 분류기의 반복 횟수는 T입니다.

  • 출력은 최종 강력한 분류기 f(x)

   (1) For t = 1,2,3,...,T;

t번째 훈련 세트를 샘플링하고 수집합니다. 총 m번, m개의 샘플을 포함하는 샘플링 세트 Dt를 획득하여 t번째 결정 트리 모델 Gt(x)를 훈련할 때 전체 중 일부를 선택합니다. 노드의 샘플 기능 샘플 기능은 무작위로 선택된 샘플 기능 중에서 최적의 기능을 선택하여 의사결정 트리의 왼쪽 하위 트리와 오른쪽 하위 트리를 나눕니다.

  (2) 분류 알고리즘으로 예측하면 T 약한 학습자가 가장 많은 표를 던진 카테고리 또는 카테고리 중 하나가 최종 카테고리가 됩니다. 회귀 알고리즘인 경우 T개의 약한 학습기에서 얻은 회귀 결과의 산술 평균이 최종 모델 출력이 됩니다.

2. Random Forest

RF는 분류 문제뿐만 아니라 특징 변환, 이상치 탐지 등에 사용됩니다.

2.1 추가 트리

추가 트리는 RF의 변형입니다. 원리는 RF와 거의 동일합니다. 유일한 차이점은 다음과 같습니다.

  (1) 각 결정 트리의 학습을 위해 RF는 무작위 샘플링 부트스트랩을 사용하여 샘플링 세트는 각 의사결정 트리의 훈련 세트인 반면, 추가 트리는 일반적으로 무작위 샘플링, 즉 각 의사결정 트리에서 사용되는 원래 훈련 세트를 사용하지 않습니다.

  (2) 분할 특징을 선택한 후 RF 결정 트리는 기존 결정 트리와 동일한 지니 계수, 평균 제곱 오차 등의 원리를 기반으로 최적의 특징 분할 지점을 선택합니다. 그러나 추가 트리는 결정 트리를 분할하기 위해 특성 값을 무작위로 선택합니다.

2.2 Totally Random Trees Embedding

  Totally Random Trees Embedding(이하 TRTE)은 비지도 학습 데이터 변환 방법입니다. 저차원 데이터 세트를 고차원에 매핑하므로 고차원에 매핑된 데이터를 분류 및 회귀 모델에서 더 잘 사용할 수 있습니다. 우리는 커널 방법이 지원 벡터 머신에서 저차원 데이터 세트를 고차원으로 매핑하는 데 사용된다는 것을 알고 있습니다. 여기서 TRTE는 또 다른 방법을 제공합니다.

 TRTE도 데이터 변환 과정에서 RF와 유사한 방법을 사용하여 데이터에 맞는 T 결정 트리를 구축합니다. 결정 트리가 설정된 후 데이터 세트의 각 데이터에 대한 T개의 결정 트리에서 리프 노드의 위치도 결정됩니다. 예를 들어, 3개의 결정 트리가 있고 각 결정 트리에는 5개의 리프 노드가 있습니다. 특정 데이터 특성 x는 첫 번째 결정 트리의 두 번째 리프 노드, 두 번째 결정 트리의 세 번째 리프 노드, 세 번째 리프 노드로 나뉩니다. 두 번째 결정 트리의 3개 결정 트리 중 다섯 번째 리프 노드입니다. 그러면 x 매핑 후의 특징 코드는 (0,1,0,0,0, 0,0,1,0,0, 0,0,0,0,1)이며, 이는 15차원 고차원 특징을 가지고 있습니다. 세 가지 결정 트리 각각의 하위 코딩을 강조하기 위해 기능 차원 사이에 공백이 추가되었습니다.

 고차원 특징으로 매핑한 후에도 지도 학습의 다양한 분류 및 회귀 알고리즘을 계속 사용할 수 있습니다.

3. Random Forest 요약

RF의 알고리즘 원리가 드디어 설명되었습니다. 고도로 병렬화할 수 있는 알고리즘으로, 빅데이터에서 큰 잠재력을 가지고 있습니다.

RF의 주요 장점은 다음과 같습니다.

  1) 훈련은 고도로 병렬화될 수 있어 빅데이터 시대의 대규모 샘플 훈련 속도에 장점이 있습니다. 개인적으로 이것이 가장 큰 장점이라고 생각합니다.

  2) 의사결정 트리 노드를 무작위로 선택하여 특징을 나눌 수 있으므로 샘플 특징 차원이 매우 높을 때에도 모델을 효율적으로 훈련할 수 있습니다.

  3) 학습 후 출력에 대한 각 특성의 중요성을 부여할 수 있습니다.

  4) 무작위 샘플링을 사용하므로 학습된 모델은 분산이 적고 일반화 능력이 강합니다.

  5) Boosting 시리즈의 Adaboost 및 GBDT에 비해 RF 구현이 비교적 간단합니다.

  6) 누락된 기능에 둔감합니다.

RF의 주요 단점은 다음과 같습니다.

  1) 노이즈가 상대적으로 큰 특정 샘플 세트에서는 RF 모델이 과적합되기 쉽습니다.

  2) 가치 분할이 더 많은 기능은 RF 의사 결정에 더 큰 영향을 미치므로 적합 모델의 효과에 영향을 줄 수 있습니다.

위 내용은 랜덤 포레스트 알고리즘의 원리는 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.