Random Forest와 Extremely Randomized Tree는 Random Forest의 나무 분할이 서로 다르다는 점을 이해했습니다. 결정 론적이지만 극단적으로 무작위 화 된 트리의 경우 무작위입니다 (더 정확하기 위해 다음 분할은 현재 트리에 대해 선택한 변수의 무작위 균일 분할 중에서 최상의 분할입니다). 하지만 다양한 상황에서이 분할의 영향을 완전히 이해하지 못합니다.
- 편향 / 분산 측면에서 어떻게 비교합니까?
- 어떻게 비교합니까? 무관 한 변수가 있는지?
- 상관 된 변수가있을 때 어떻게 비교합니까?
댓글
답변
The Extra- (Randomized) -Trees (ET) article 에는 편향-분산 분석이 포함되어 있습니다. 16 페이지에서 6 개의 테스트에 대한 RF를 포함한 여러 방법과의 비교를 볼 수 있습니다 (트리 c lassification 및 three regression).
두 방법 모두 거의 동일하며, (고차원 데이터 세트에서) 노이즈가 많은 기능이 많은 경우 ET가 약간 더 나빠집니다.
즉, (아마 수동으로) 기능 선택이 거의 최적에 가깝다면 성능은 거의 동일하지만 ET는 계산적으로 더 빠를 수 있습니다.
기사 자체에서 :
알고리즘 분석 및 여러 테스트 문제 변형에 대한 K의 최적 값 결정 결과 값이 원칙적으로 문제 특성, 특히 관련없는 속성 의 비율. […] 편향 / 분산 분석에 따르면 Extra-Trees는 분산 감소 와 동시에 편향 증가 로 작동합니다. […] 무작위 화가 최적 수준 이상으로 증가하면 분산이 약간 감소하는 반면 편향은 자주 크게 증가합니다.
항상 그렇듯이 은색 총알은 없습니다.
Pierre Geurts, Damien Ernst, Louis Wehenke. “Extremely randomized tree”
코멘트
- ET에 관한 모든 참조 (경험적 또는 이론적)는 노이즈가 많을 때 약간 더 나빠집니다. 풍모? 아니면 경험에 기반한 것입니까?
- 내 경험상 그 반대는 사실입니다. Extra-Trees는 시끄러운 기능이 많을수록 더 좋습니다. 이것이 작동하려면 큰 포리스트 (많은 추정기, sklearn의 n_estimators)가 있어야하고 각 분할 (sklearn의 max_features)에서 고려되는 기능의 수를 조정해야한다는 경고가 있습니다. 하나의 Extra-Tree는 하나의 임의의 숲 나무보다 더 많이 적합하지만, Extra-Tree가 많으면 과적 합이 아닌 다른 방식으로 과적 합되는 경향이 있습니다. 나는 종종 최대 3000 명의 추정자까지 상당한 개선을 얻습니다.
- @ramhiser가 지적했듯이 ET는 잡음이있는 기능이있을 때 더 높은 성능을 유지하는 것 같습니다. 답변에 몇 가지 참조를 추가 할 수 있습니까?
- Extra Trees의 나무는 항상 ' 그루터기 ' (단순 한 분할) ?? 다른 기사를 읽는 것은 그러한 인상을줍니다.
Answer
ExtraTreesClassifier는 RandomForest의 형제와 비슷하지만 2 가지 중요한
우리는 여러 의사 결정 트리 구축. 여러 트리를 구축하려면 여러 데이터 세트가 필요합니다. 모범 사례는 전체 데이터 세트에 대해 의사 결정 트리를 훈련하지 않고 각 트리에 대한 데이터의 일부 (약 80 %)에 대해서만 훈련하는 것입니다. 랜덤 포레스트에서 대체로 관찰을 그립니다. 따라서 다음을 반복 할 수 있습니다. 임의 포리스트의 관찰. ExtraTreesClassifier에서는 대체없이 관찰을 그리므로 임의 포리스트와 같이 관찰이 반복되지 않습니다.
분할은 비균질 부모 노드를 변환하는 프로세스입니다. 2 개의 동종 자식 노드로 (가능한 최선) RandomForest에서는 부모를 가장 동질적인 자식 노드 2 개로 변환하기 위해 최상의 분할을 선택합니다. ExtraTreesClassifier에서는 임의 분할을 선택하여 부모 노드를 두 개의 임의 자식 노드로 나눕니다.
ExtraTreesClassifier로 끝나는 높은 분산에서 낮은 분산으로 정렬 된 앙상블 메소드를 살펴 보겠습니다.
1.의사 결정 트리 (고 분산)
단일 의사 결정 트리는 일반적으로 하나의 경로에서만 학습하기 때문에 학습중인 데이터에 과적 합합니다. 결정. 단일 의사 결정 트리의 예측은 일반적으로 새 데이터를 정확하게 예측하지 못합니다.
2. 랜덤 포레스트 (중간 분산)
랜덤 포레스트 모델은 다음과 같은 방법으로 랜덤 성을 도입하여 과적 합 위험을 줄입니다.
- 다중 트리 구축 (n_estimators)
- 대체 (예 : 부트 스트랩 된 샘플)로 관측치 그리기
- 모든 노드에서 선택된 기능의 임의 하위 집합 사이에서 최상의 분할 노드 분할 . 분할은 비 동종 상위 노드를 2 개의 동종 하위 노드로 변환하는 프로세스입니다 (최상).
3. Extra Trees (Low Variance)
Extra Trees는 여러 개의 트리를 구축하고 임의의 하위 집합을 사용하여 노드를 분할한다는 점에서 Random Forest와 같습니다. 그러나 두 가지 주요 차이점이 있습니다. 관찰을 부트 스트랩하지 않고 (대체없이 샘플링한다는 의미) 노드는 최상의 분할이 아닌 임의 분할로 분할됩니다. 요약하면 ExtraTrees :
- 기본적으로 부트 스트랩 = False로 여러 트리를 빌드합니다. 즉, 교체하지 않고 샘플링한다는 의미입니다.
- 노드는 무작위 하위 집합 간의 무작위 분할을 기반으로 분할됩니다. 모든 노드에서 선택된 기능의 수
Extra Trees에서 임의성은 데이터를 부트 스트랩하는 데서 오는 것이 아니라 모든 관측 값의 무작위 분할에서 비롯됩니다. ExtraTrees의 이름은 (Extremely Randomized Trees)입니다.
Comments
- [Bootstrapping] ( ko .wikipedia.org / wiki / Bootstrapping_ (statistics) 는 대체 로 샘플링 중입니다.
Answer
답변 해 주셔서 감사합니다. 여전히 질문이 있었기 때문에이 두 가지 방법의 동작에 대해 더 많은 통찰력을 얻기 위해 수치 시뮬레이션을 수행했습니다.
- 추가 트리는 잡음이있는 기능이있을 때 더 높은 성능을 유지하는 것 같습니다.
아래 그림은 대상과 관련이없는 임의의 열이 데이터 세트에 추가 될 때의 성능 (교차 검증으로 평가)을 보여줍니다. target은 처음 세 열의 선형 조합 일뿐입니다.
-
모든 변수가 관련 될 때 두 방법 모두 동일한 성능을 달성하는 것 같습니다. ce,
-
추가 트리는 랜덤 포레스트보다 3 배 더 빠릅니다 (적어도 scikit 학습 구현에서는)
출처
전체 기사 링크 : 랜덤 포레스트 대 추가 트리 .
댓글
- 링크 된 기사에서 : " 파란색은 랜덤 포레스트의 결과이고 추가 트리의 경우 빨간색입니다. "
Answer
답은 상황에 따라 다릅니다. 나는 당신의 문제에 대해 무작위 숲과 여분의 나무를 모두 시도해 볼 것을 제안합니다. 대규모 포리스트 (1000-3000 트리 / 추정기, sklearn의 n_estimators)를 시도하고 각 분할에서 고려되는 기능 수 (sklearn의 max_features)와 분 할당 최소 샘플 (sklearn의 min_samples_split) 및 최대 트리 깊이 ( sklearn의 max_depth). 즉, 과잉 튜닝은 과적 합의 한 형태 일 수 있음을 명심해야합니다.
다음은 제가 개인적으로 작업 한 두 가지 문제입니다. 추가 트리는 매우 시끄러운 데이터에서 유용함이 입증되었습니다.
uniform split
란 무엇입니까?