랜덤 포레스트는 부스팅 알고리즘입니까?


51

부스팅의 짧은 정의 :

약한 학습자 세트가 하나의 강력한 학습자를 만들 수 있습니까? 약한 학습자는 실제 분류와 약간만 관련이있는 분류 자로 정의됩니다 (임의 추측보다 예제를 더 잘 레이블링 할 수 있음).

랜덤 포레스트 의 짧은 정의 :

랜덤 포레스트는 많은 분류 트리를 자랍니다. 입력 벡터에서 새 개체를 분류하려면 입력 벡터를 포리스트의 각 나무 아래에 놓습니다. 각 트리는 분류를 제공하며 해당 클래스에 대해 "투표"라고합니다. 숲은 가장 많은 표를 얻은 분류를 선택합니다 (숲의 모든 나무에서).

Random Forest 의 또 다른 짧은 정의 :

랜덤 포레스트는 다양한 의사 결정 트리 분류기에 데이터 집합의 다양한 하위 샘플에 적합하고 평균을 사용하여 예측 정확도를 개선하고 과적 합을 제어하는 ​​메타 추정기입니다.

내가 알기로 랜덤 포레스트는 나무를 약한 분류 자로 사용하는 부스팅 알고리즘입니다. 나는 또한 다른 기술을 사용하고 향상시킵니다. 누군가 랜덤 포레스트가 부스팅 알고리즘이 아니라고 수정했습니다.

랜덤 포레스트가 부스팅 알고리즘이 아닌 이유는 무엇입니까?


13
임의 포리스트는 bagging 알고리즘입니다 ( en.wikipedia.org/wiki/Bootstrap_aggregating) . 차이점을 확인하기 위해 부스팅에 대한 가능한 가장 짧은 설명보다 더 많은 것을 읽으십시오. 부스팅에서 리샘플링 전략은 무작위 가 아닙니다 .
Marc Claesen

12
재미있는 사실 : 오리지널 랜덤 포레스트 논문에서 Breiman은 AdaBoost (확실히 부스팅 알고리즘)는 반복 횟수가 적 으면 최적화 공간이 너무 시끄러워서 확률 적으로 확률 적으로 주변에 표류 할 때 대부분 랜덤 포레스트를 수행한다고 제안합니다.

답변:


81

랜덤 포레스트는 부스팅 알고리즘이 아닌 배깅 알고리즘입니다. 그들은 낮은 오류를 달성하는 두 가지 반대 방법입니다.

우리는 오차가 편향과 분산으로부터 합성 될 수 있다는 것을 알고 있습니다. 너무 복잡한 모델은 바이어스가 적지 만 분산이 크지 만 너무 간단한 모델은 분산이 작지만 편차가 크므로 오류가 많지만 두 가지 이유가 있습니다. 결과적으로 문제를 해결하는 두 가지 다른 방법 (Breiman 및 기타)이 복잡한 모델에 대한 분산 감소 또는 단순 포리스트에 대한 편향 감소 (임의의 포리스트 및 부스팅)를 나타냅니다.

랜덤 포레스트는 바이어스가 적은 다수의 "복잡한"모델의 분산을 줄입니다. 컴포지션 요소가 "약한"모델이 아니라 너무 복잡한 모델임을 알 수 있습니다. 알고리즘에 대해 읽으면 기본 트리는 "가능한"정도의 "약간"심어집니다. 기본 트리는 독립적 인 병렬 모델입니다. 그리고 무작위 변수 선택이 추가되어 더욱 독립적으로 만들어져 일반 배깅보다 성능이 우수하고 "무작위"라는 이름이 부여됩니다.

부스팅은 분산이 적은 다수의 "작은"모델의 바이어스를 줄입니다. 인용 한대로 "약한"모델입니다. 기본 요소는 어떻게 든 각 레벨의 편향에 대한 "체인"또는 "중첩 된"반복 모델과 같습니다. 따라서 독립적 인 병렬 모델은 아니지만 각 모델은 가중치를 적용하여 이전의 모든 작은 모델을 기반으로 구축됩니다. 그것은 소위 "부스팅"입니다.

Breiman의 논문과 책은 나무, 임의의 숲 및 상당히 많은 부스팅에 대해 논의합니다. 알고리즘의 기본 원리를 이해하는 데 도움이됩니다.


25

임의 포리스트는 부스팅 유형의 알고리즘으로 간주되지 않습니다.

부스팅 링크에 설명 된대로 :

... 가장 부스팅 알고리즘은 분포와 관련하여 약한 분류기를 반복적으로 학습하고 최종 강한 분류기에 추가하는 것으로 구성됩니다. 그들이 추가되면, 그들은 일반적으로 약한 학습자의 정확도와 관련이있는 방식으로 가중치를 부여합니다. 약한 학습자가 추가되면 데이터의 가중치가 조정됩니다.

이 반복 과정의 한 예는 adaboost인데, 이로 인해 학습자가 잘못된 영역에 더 집중하고 올바른 관찰에 덜 집중할 수 있도록 많은 반복에서 약한 결과가 강화되거나 가중됩니다.

반대로 임의 포리스트는 데이터 세트에서 많은 나무를 무작위로 선택 (및 상관 해제)하여 개별 트리의 분산을 줄이고 평균화하는 것을 목표로하는 앙상블 배깅 또는 평균화 방법입니다.


7

포장의 연장입니다. 절차는 다음과 같습니다. 데이터의 부트 스트랩 샘플을 가져온 다음이를 사용하여 분류 또는 회귀 트리 (CART)를 확장합니다. 이것은 미리 정의 된 횟수만큼 수행되며 예측은 개별 트리 예측의 집계이며, 다수 투표 (분류) 또는 평균 (회귀) 일 수 있습니다. 이 방법을 배깅이라고합니다 (Breiman 1994). 또한 대한 후보 변수 각각 의 분할 트리는 사용 가능한 모든 독립 변수의 무작위 샘플에서 가져옵니다. 이것은 훨씬 더 가변성을 도입하고 나무를 더욱 다양하게 만듭니다. 이것을 랜덤 서브 스페이스 방법이라고합니다 (Ho, 1998). 언급했듯이, 이것은 매우 다양한 나무를 만들어 서로 독립적 인 나무로 변환됩니다. 젠슨의 불평등으로 인해 우리는 이러한 트리 예측의 오류 평균이 해당 데이터 세트에서 성장한 평균 트리의 오류보다 작거나 같다는 것을 알고 있습니다. 그것을 보는 또 다른 방법은 평균 제곱 오차 를보고 편향 및 분산 부분에서 어떻게 분해 될 수 있는지 알아 내는 것입니다 (이는 편견-분산 트레이드 오프 라고하는 감독 학습 문제와 관련이 있습니다)). 랜덤 포레스트는 직교 트리 예측의 평균을 통해 분산을 줄임으로써 정확도를 향상시킵니다. 그것은 나무의 편향을 상속한다는 점에 유의해야합니다 . 문제는 상당히 논의 된 문제 입니다. 예를 들어이 질문을 확인하십시오 .



3

임의 포리스트는 배깅 기술이며 부스팅 기술이 아닙니다. 그 이름에서 알 수 있듯이, 하나는 다른 것으로부터 배우고 있으며, 이는 차례로 배우기를 향상시킵니다.

임의 포리스트의 나무는 병렬로 실행됩니다. 나무를 만들면서이 나무들 사이에는 상호 작용이 없습니다. 모든 나무가 만들어지면 문제가 분류인지 회귀 문제인지에 따라 모든 나무의 예측에서 투표 또는 평균이 취해집니다.

GBM-Gradient Boosting machine과 같은 boosting 알고리즘의 트리는 순차적으로 학습됩니다.

첫 번째 나무가 훈련되었고 훈련 데이터에 대한 예측을했다고 가정 해 봅시다. 이러한 예측이 모두 올바른 것은 아닙니다. 총 100 개의 예측 중 첫 번째 트리가 10 개의 관측치에 대해 실수했다고 가정 해 봅시다. 이제이 10 개의 관측치에 두 번째 나무를 만들 때 더 많은 가중치가 부여됩니다. 두 번째 나무에 대한 학습은 첫 번째 나무에 대한 학습에서 강화되었습니다. 따라서 부스팅이라는 용어가 사용됩니다. 이런 식으로, 각 나무는 과거 나무의 학습을 통해 순차적으로 구축됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.