임의의 숲에서 나무의 수를 조정해야합니까?


30

임의 포리스트 분류기의 소프트웨어 구현에는 사용자가 포리스트의 트리 수를 포함하여 알고리즘의 동작을 미세 조정할 수있는 많은 매개 변수가 있습니다. 이 요구가 같은 방식으로, 조정 될 수있는 매개 변수 , 기능의 수는 각 분할 (어떤 레오 브레이 만 통화에서 시도 )?mmtry


답변:


36

를 하이퍼 파라미터로 취급하는 코드 스 니펫을 찾고 다른 하이퍼 파라미터와 동일한 방식으로 최적화하려고 시도하는 것이 일반적입니다. 이것은 계산 능력을 낭비하는 것입니다. 다른 모든 하이퍼 매개 변수가 고정되면 트리의 수가 증가함에 따라 모델의 손실이 확률 적으로 감소합니다.T

직관적 인 설명

임의 포리스트의 각 트리는 동일하게 배포됩니다. 트리는 각 트리에 대해 반복되는 랜덤 화 전략을 사용하여 성장하기 때문에 동일하게 분배됩니다. 트레이닝 데이터를 강화한 다음 해당 노드에 대해 선택된 기능 중에서 기능에 대한 최상의 분할을 선택하여 각 트리를 성장 시킵니다. 임의의 숲 절차는 부스팅과 달리, 나무는 다른 나무에 관계없이 자체 부트 스트랩 하위 샘플에서 자랍니다. 이러한 의미에서 임의 포리스트 알고리즘은 "엄청나게 평행합니다".m

이진 경우 각 임의의 포리스트 트리는 양수 클래스에 대해 1을, 각 샘플에 대해 음수 클래스에 대해 0을 투표합니다. 이러한 모든 투표의 평균은 전체 포리스트의 분류 점수로 간주됩니다. (일반적인 -nary 경우에는 단순히 범주 형 분포가 있지만 이러한 모든 인수는 여전히 적용됩니다.)k

이러한 상황에서는 많은 수의 약한 법칙이 적용됩니다.

  1. 나무의 결정은 똑같이 분포 된 RVs (임의의 절차가 나무가 1 또는 0을 투표하는지 여부를 결정한다는 의미에서)
  2. 관심 변수는 각 나무에 대해 값만 취 하므로 각 실험 (나무 결정)에는 유한 분산이 있습니다 (수적으로 한정된 rv의 모든 순간이 유한하기 때문에).{0,1}

이 경우에 WLLN을 적용한다는 것은 각 샘플에 대해 트리 수가 무한대에 가까워 질수록 앙상블이 해당 샘플에 대한 특정 평균 예측 값을 향하는 경향이 있음을 의미합니다. 또한, 주어진 표본 세트에 대해, 나무의 수가 무한대에 가까워짐에 따라 그러한 표본들 사이의 관심 통계 (예 : 예상 로그 손실)도 평균 값으로 수렴됩니다.

통계 학습의 요소

Hastie et al. ESL 에서이 질문에 대해 간단히 설명 하십시오 (596 페이지).

또 다른 주장은 임의의 포리스트가 데이터를 "과적 합"할 수 없다는 것입니다. 그것은 확실히 사실이다 증가 overfit에 랜덤 포레스트 서열을 일으키지 않는다 [앙상블 나무의 수] ... 그러나, 데이터 overfit 수 한도; 완전히 자란 나무의 평균으로 인해 모델이 너무 풍부 해져 불필요한 분산이 발생할 수 있습니다. Segal (2004)은 임의의 숲에서 자라는 개별 나무의 깊이를 제어함으로써 작은 성능 향상을 보여줍니다. 우리의 경험은 자란 나무를 사용하는 데 비용이 거의 들지 않으며 튜닝 매개 변수가 줄어든다는 것입니다.B

다른 방법으로, 고정 하이퍼 파라미터 구성의 경우 트리 수를 늘리면 데이터를 초과 할 수 없습니다. 그러나 다른 하이퍼 파라미터 는 과적 합의 원인 있습니다.

수학적 설명

이 섹션에서는 Philipp Probst & Anne-Laure Boulesteix " 임의의 숲에서 나무 수를 조정하거나 조정하지 않겠습니까? "를 요약 합니다. 주요 결과는

  1. ROC 곡선 아래 의 예상 오류율면적 은 나무 수의 단조로운 기능 일 수 있습니다.

    에이. 의 함수로서 예상되는 오류율 ( ) 은 나무 수는 여기서 은 기대 값이 인 이항 rv이며 인덱스 된 특정 트리의 결정입니다 . 이 함수는 증가하고 대해 이상에서 감소 위한 . 저자는 관찰error rate=1accuracyT

    E(ei(T))=P(t=1Teit>0.5T)
    eitE(eit)=ϵitTϵi>0.5Tϵi<0.5

    오류율 곡선의 수렴 률은 관측 값 의 분포에만 의존한다는 것을 알 수 있습니다. 따라서 오차율 곡선의 수렴 률은 관측치 수 n 또는 특징의 수에 직접적으로 의존하지 않지만, 이러한 특성은 의 경험적 분포에 영향을 줄 수 있으며 따라서 섹션에 요약 된 수렴 률에 영향을 줄 수 있습니다. 4.3.1ϵiϵi

    비. 저자들은 ROC AUC (일명 statistic )는 샘플의 예상 점수가 실제 클래스에 어떻게 정렬되는지에 따라 의 함수로서 단조 또는 비단 조 곡선을 갖도록 조작 될 수 있다고 지적 합니다.cT

  2. 크로스 엔트로피와 찔레 점수와 같은 확률 기반의 방법은 있습니다있는 단조 나무의 수의 함수로.

    에이. Breier 점수 기대 갖는다 명확하게하는 단조 감소 함수 .

    E(bi(T))=E(eit)2+Var(eit)T
    T

    비. 로그 손실 (일명 크로스 엔트로피 손실)은 테일러 전개에 의해 근사 할 수있다 기대가 마찬가지로 의 감소 함수입니다 . 상수 는 로그와 분모 내부의 값을 0에서 멀리 유지하는 작은 양수입니다.

    E(li(T))log(1ϵi+a)+ϵi(1ϵi)2T(1ϵi+a)2
    Ta

  3. 306 개의 데이터 세트를 고려한 실험 결과가 이러한 결과를 뒷받침합니다.

실험 데모

이 제품 diamonds과 함께 제공 되는 데이터를 사용한 실제 데모 입니다 ggplot2. 나는 가격을 "높은"범주와 "낮은"범주로이 분화하여 분류 작업으로 바꾸었고, 중간 선으로 가격을 결정했습니다.

교차 엔트로피의 관점에서, 모델 개선은 매우 매끄 럽습니다. (그러나 플롯은 단조롭지 않습니다. 위에 제시된 이론적 결과와의 차이는 이론적 결과가 한 실험의 특정 실현보다는 기대 와 관련되기 때문 입니다.)

여기에 이미지 설명을 입력하십시오

반면에 오류율은 되돌아 가기 전에 위아래로 움직일 수 있고 때로는 여러 개의 추가 트리를 유지하기 위해 기만적입니다. 분류 결정의 부정확 를 측정하지 않기 때문이다 . 이로 인해 오류 수는 트리 수에 비해 성능이 개선 된 "블립"을 가질 수 있습니다. 즉, 결정 경계에있는 일부 샘플이 예측 된 클래스간에 앞뒤로 튀어 오릅니다. 이 동작을 다소 억제하려면 매우 많은 수의 트리가 필요할 수 있습니다.

또한 매우 적은 수의 나무에 대한 오류율의 동작을 살펴보십시오. 결과는 매우 다양합니다! 이것은 이런 식으로 나무의 수를 선택하는 것을 전제로 한 방법이 많은 무작위성을 띤다는 것을 의미합니다. 또한 다른 무작위 시드로 동일한 실험을 반복하면이 무작위성을 기반으로 순수한 다른 수의 나무를 선택할 수 있습니다. 이런 의미에서, 적은 수의 나무에 대한 오류율의 행동은 전적으로 인공물입니다. LLN은 나무의 수가 증가함에 따라 이것이 기대를 향한 경향이 있고 이론적 인 결과 때문에 교차 검증 된 호스트는 오류율 / 정확도의 장점을 다른 통계와 비교하여 많은 질문을합니다.

여기에 이미지 설명을 입력하십시오

대조적으로, 교차 엔트로피 측정은 200 그루의 나무 후에 본질적으로 안정하고, 500의 후에 사실상 평평하다.

마지막으로 다른 임의의 시드로 오류율에 대해 동일한 실험을 반복했습니다. 작은 의 결과는 놀랍도록 다릅니다 .T

이 데모 코드는이 요지에서 사용할 수 있습니다 .

"따라서 튜닝하지 않으면 어떻게 선택해야 합니까?"T

나무 수를 조정하는 것은 불필요합니다. 대신, 트리 수를 계산 가능하게 큰 수로 설정하고 LLN의 점근 적 동작이 나머지를 수행하게하십시오.

어떤 종류의 제약 조건 (총 터미널 노드 수의 한도, 모델 추정 시간의 한도, 디스크의 모델 크기에 대한 한도)이있는 경우, 이는 가장 큰 를 선택하는 것 입니다. 당신의 제약.T

"왜 그렇게 잘못하면 사람들이 조정 하는가?"T

이것은 순전히 추측이지만 임의의 포리스트의 나무 수를 조정한다는 믿음은 두 가지 사실과 관련이 있다고 생각합니다.

  1. 에이다 부스트 및 XGBoost 같은 증폭 알고리즘을 수행 앙상블에서 조정하는 사용자에게 나무의 수를 필요로 일부 소프트웨어 사용자는 강화하고 포기할 구별하는 정교한 충분하지 않습니다. 부스팅과 배깅의 차이점에 대한 설명 은 임의 포리스트가 부스팅 알고리즘입니까?를 참조하십시오.

  2. R randomForest(기본적으로 Breiman의 FORTRAN 코드에 대한 R 인터페이스 )과 같은 표준 랜덤 포리스트 구현 은 트리의 함수로 오류율 (또는 이와 동등한 정확도) 만보고합니다. 정확도는 나무 수의 단조 함수가 아니고, 브리 어 스코어 및 로그 로스와 같은 연속적인 적절한 스코어링 규칙 단조 함수 이므로 기만적 입니다.

소환


1
실제 시나리오에서 가장 일반적인 일반화 오류를 얻으려면 임계 값을 조정해야합니다. 우리는 사람들에게 임계 값을 0.5로 설정하지 말라고 많은 시간을 보냅니다!
Matthew Drury

우리가 '임계 값'논증을 다루는 데 시간을 소비하는 것은 사실이지만,이 경우 임계 값의 선택에 관계없이 논증은 사실입니다. 예상 오류율에 대한 방정식에서 을 선택하면 인수가 계속 유지됩니다. θ(0,1)R
Sycorax는 Reinstate Monica가

나는 이번 주말에 논문을 읽을 것입니다 (좋은 발견).하지만 임계 값이 나무 수의 함수로 동적으로 조정된다면 여전히 사실입니까?
Matthew Drury

1
@MatthewDrury이 논문은이 질문을 조사하지 않지만, 동작이 여전히 비단 조적 일 수 있다는 점에서 임계 값이 어떻게 선택되는지 (즉, 0.5를 사용하거나 다른 함수로 최적화하면) 중요하지 않다고 생각합니다 배포 방법에 따라 ϵi
Sycorax는 Reinstate Monica가

좋은 Q & A, +1 " 다른 모든 매개 변수가 고정 된 경우 "라고 적어 두어야합니다. 사용 된 기능 수 (~ mtry) 및 리프 당 최소 관측치 수 (~ )를 쉽게 최적화 할 수 minObs있다면 성능에 큰 변화를 줄 수 있습니다. . 그렇습니다. 아마도 1000 그루의 나무가 99.9 %의 시간을 할애 할 것입니다. 그러나 이것은 다른 모델이 다른 모델보다 빨리 감소하는 임계 값에 도달한다는 것을 의미합니까? (이 경우 ntrees더 작은 모델을 원할 경우 최적화하는 것이 적합합니다.)
usεr11852는 Reinstate Monic이
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.