임의의 숲을 피해야 할 때?


25

임의의 숲은 다양한 작업에서 상당히 잘 수행되는 것으로 잘 알려져 있으며 학습 방법가죽 인 이라고 합니다 . 임의 포리스트 사용을 피해야하는 문제 유형이나 특정 조건이 있습니까?


8
안녕. "PLS는 ...의 가죽공입니다.", "부츠 스트랩은 ...의 가죽 인입니다.", "임의의 숲은 ...의 가죽 맨입니다." 그냥 코멘트 :이었다
스테판 로랑

답변:


24

인용의 특정 언어에 대해 생각할 때, 가죽공은 다중 도구입니다. 단지 기즈모가 많은 단일 하드웨어입니다. 펜치, 나이프, 드라이버 등이 있습니다! 가죽공은 각각의 도구를 개별적으로 휴대 할 필요없이 바지에 집어 넣어 항상 손에 넣을 수있는 단일 품목입니다. 이 방법은 편리 하지만 각 구성 요소 도구가 최상의 성능발휘 하지 못한다 는 단점이 있습니다. 캔 오프너는 사용하기 어렵고 드라이버 비트는 일반적으로 잘못된 크기이며 나이프는 휘파람 이상을 거의 달성 할 수 없습니다. 이러한 작업을 수행하는 것이 중요한 경우 실제 나이프, 실제 드라이버 또는 실제 펜치 등 특수 도구를 사용하는 것이 좋습니다.

임의의 포리스트는 같은 용어로 생각할 수 있습니다. 임의 포리스트는 다양한 데이터 세트에서 강력한 결과를 생성하며 튜닝 매개 변수에 매우 민감하지 않습니다. 그러나 완벽하지 않습니다. 문제에 대해 더 많이 알수록 특정 문제를 수용 할 수있는 특수 모델을 더 쉽게 구축 할 수 있습니다.

임의의 숲이 어려움을 겪는 몇 가지 명백한 경우가 있습니다.

  • 희소성 -데이터가 매우 희소 한 경우 일부 노드의 경우 부트 스트랩 된 샘플과 임의의 기능 하위 집합이 협력하여 가변적 기능 공간을 생성 할 가능성이 매우 높습니다. 생산적인 분할이 없기 때문에이 노드의 자식이 전혀 도움이되지 않을 것입니다. XGBoost는이 상황에서 더 잘할 수 있습니다.

  • 데이터가 축 정렬되지 않음 -두 피처 x1x2 의 공간에 대각선 결정 경계가 있다고 가정합니다 . 이것이 데이터와 관련이있는 유일한 차원이더라도 해당 대각선 경계를 설명하기 위해 많은 수의 분할 된 일반 랜덤 포레스트 모델이 필요합니다. 이는 각 분할이 x1 또는 x2 축에 수직으로 향하기 때문 입니다. (일반적인 랜덤 포레스트 모델은 x 1 > 4 형식으로 분할되기 때문에 직관적이어야합니다.x1>4.) 각 분할에 대해 선택된 기능의 서브 세트에 대해 PCA 투영을 수행하는 회전 포레스트는이를 극복하기 위해 사용될 수 있습니다. 더 이상 원래 기준으로 축 정렬되지 않습니다.

    이 이미지는 축 정렬 분할이 임의 포리스트 결정에 영향을주는 방식의 다른 예를 제공합니다. 결정 경계는 원점의 원이지만이 특정 임의 포리스트 모델은 원을 근사하기위한 상자를 그립니다. 이 경계를 개선하기 위해 할 수있는 일이 많이 있습니다. 가장 간단한 방법은 더 많은 데이터를 수집하고 더 많은 나무를 만드는 것입니다. 여기에 이미지 설명을 입력하십시오

  • 랜덤 포레스트는 기본적으로 테이블 형식의 데이터에서만 작동합니다.즉, 데이터가 이미지라는 의미 또는 관측치가 그래프로 서로 연결되어 있다는 점에서 특징간에 강력하고 질적으로 중요한 관계가 없습니다. 이러한 구조는 일반적으로 많은 직사각형 파티션으로 잘 알려져 있지 않습니다. 데이터가 시계열에 있거나 일련의 이미지이거나 그래프에 있거나 다른 명백한 구조를 가진 경우 임의 포리스트는이를 인식하기가 매우 어렵습니다. 연구자들이 이러한 상황을 수용하기 위해 방법에 대한 변형을 개발했다는 ​​것은 의심의 여지가 없지만 바닐라 무작위 숲이 반드시 이러한 구조에서 유용한 방식으로 픽업되지는 않습니다. 좋은 소식은 일반적으로 이러한 상황이 언제인지, 즉 이미지, 시계열 또는 그래프를 가지고 있다는 것을 알고 있다는 것입니다.

바닐라 임의의 숲은 직사각형이 아닌 파티션을 인식 할 가능성이 있다고 생각합니다. 예를 들어 2 차 특징을 가질 수 있고 x ^ 2 <c와 같은 경계를 인식 할 수 있습니다.
Aniruddha Acharya

2
@AniruddhaAcharya 나는 "투쟁"이라고 말했다. 내 대답 은 이차 특징이 극복 할 수없는 문제가 아니라는 것을 분명히합니다. 그러나 대각선 또는 2 차 또는 기타 정렬되지 않은 분할 유형은 나무가 대각선 / 곡선을 근사하기 위해 직사각형 형태로 반복해서 해당 피쳐를 분할해야합니다. 이 게시물의 플롯에서 그 효과를 볼 수 있습니다 : 날카로운 모서리를보십시오. RF는 사각형을 사용하여 원을 근사화합니다.
Sycorax는 Reinstate Monica가

나는 2 차 (및 다른 고차) 피처를 RF에 공급하는 것은 비 직사각형 파티션을 모델링하는 데 따르는 어려움을 줄일 수 있음을 의미했다. 예를 들어 RF는 정사각형을 사용하는 대신 2 차 2 차를 사용하여 원을 근사화 할 수 있습니다. 변수 간 ​​상호 작용을 포함하는 모델만큼 쉽지는 않지만 RF가 원시 기능에 임계 값을 사용하는 것으로 제한되지 않기 때문에 어렵지 않다고 생각합니다.
Aniruddha Acharya

1
@AniruddhaAcharya 제곱 항이 올바른 모형이라는 것을 알고 있다면 임의의 포레스트가 필요하지 않습니다. 선형 모형에 제곱 항을 추가하기 만하면됩니다. RF는 특히 축 정렬 결정 기능이있는 경우 임의의 기능을 근사화하는 좋은 방법입니다.
Sycorax는 Reinstate Monica

@AniruddhaAcharya가 제안한 (이차 항) 피처 엔지니어링이 RF와 함께 사용하기에 유용한 단계가 아닌 이유는 무엇입니까? 그렇습니다. 이러한 기능은 선형 모델에 추가 될 수 있습니다. 그러나 후자는 기능의 다른 하위 집합에 개별적으로 최적화 된 많은 결과의 기여를 결합하는 동작을 제공하지 않습니다.
javadba

22

날카로운 모서리. 정확성.

그들은 확산 방법을 사용합니다. 그들은 울퉁불퉁 한 것들에 잘 맞습니다. 샘플 크기가 작을 때는 정교하고 세밀한 부분에 적합하지 않습니다. 나는 그들이 다변량 시계열 데이터에 대해 잘하지 않는다고 상상할 것입니다. 여기의 무언가가 저기 저 거리의 것에 의존 할 때.

그라디언트 향상 포리스트는 적합하거나 지나치게 적합 할 수 있지만 동일한 데이터에 대해 오류가 크게 줄어 듭니다.

" 가죽 "은 존재하지 않습니다. "은 총알"이 없습니다. 툴박스가 있습니다. 당신의 도구를 알고, 잘 돌봐주십시오. 특히 도구 상자에 조밀 한 라이브러리가없는 경우 "해머 인 경우 모든 문제가 못처럼 보인다"는 것에주의하십시오.

문제를 잘 알기 전까지는 어떤 것이라도 문제를 해결하거나 좋아하는 도구로 해결할 수 있다고 상상하기 쉽습니다. 지혜는 문제를 깊이 이해하고 도구에 익숙해지는 것이 좋습니다.

추가 : 다른 것을 사용할 충분한 컴퓨팅 리소스 또는 시간 여유가있는 경우. RF는 훈련 속도가 빠를뿐만 아니라 실행 속도도 빠릅니다. 매우 깊은 부스트 ​​구조는 그보다 적습니다. 이를 지원하려면 오버 헤드가 있어야합니다.


2
여기서 악마의 옹호자가 되려면 : " 샘플 크기가
작을

5

이것은 실제로 질문에 대답하는 첫 번째 사례이므로 질문에 답장하지 마십시오 ..하지만 질문에 대답 할 수 있다고 생각합니다.

실제로 모델 성능에만 관심이 있고 해석 가능성과 같은 것이 아닌 경우 임의 포리스트는 실제로 매우 좋은 학습 알고리즘이지만 다음과 같은 경우에는 약간 더 나빠집니다.

1.) 훈련 샘플 수와 관련하여 차원 (피처 수)이 매우 높을 경우 규칙적인 선형 회귀 또는 SVM이 더 좋습니다.

2.) 컴퓨터 비전 문제와 같이 데이터에 더 높은 차수의 표현 / 컨볼 루션 구조가있는 경우. 이러한 컴퓨터 비전 사례에서 컨볼 루션 신경망은 임의의 포리스트보다 성능이 우수합니다 (일반적으로 지식이 있으면 더 나은 학습에 통합 할 수 있습니다).

무작위 숲은 아주 좋은 출발점이라고합니다. 제가 머신 러닝 기술을 좋아하는 사람 중 하나는 항상 임의의 숲과 규칙적인 선형 회귀를 배우는 것으로 시작합니다.

그러나 최고의 성능을 원한다면 요즘 신경망이라고도합니다. 딥 러닝은 매우 매력적인 접근법으로 보입니다. Kaggle과 같은 데이터 챌린지 웹 사이트에서 점점 더 많은 우승자가 경쟁을 위해 딥 러닝 모델을 사용합니다. 신경 네트워크의 또 다른 전문가는 매우 많은 수의 샘플을 처리 할 수 ​​있다는 것입니다 (> 10 ^ 6 하나는 확률 적 경사 하강을 사용하여 한 번에 약간의 데이터를 공급하여 훈련 할 수 있음). 개인적으로 저는 이것이 딥 러닝에있어 매우 매력적인 전문가라고 생각합니다.


2
좋은 대답이지만 마지막 요점은 정확하지 않습니다. 모든 일반적인 머신 러닝 알고리즘에 대해 미니 배치 교육을 구현할 수 있습니다 (예 : h2o 참조) .
jubo

재미 있고, 나는 몰랐다. 이 방법을 사용하면 미니 배치 / SGD 학습을 사용하여 (의사 결정) 트리를 훈련 할 수 있으며, 따라서 전체 교육 총 데이터의 분할 (65 %)을 기반으로 단일 트리를 구축 할 수 있습니까?
MJW

1
기능 수가 많을 때 임의 포리스트가 여전히 좋을 것이라고 생각합니다. 단일 트리를 만들 때 한 번에 많은 기능을 사용하지 마십시오. 결국에는 독립적으로 분류하는 포리스트가 있습니다. 잘하면) 잘하십시오.
Alexey Grigorev

내가 이해하는 한, h2o는 미니 배치 훈련을 위해 map-reduce 패러다임을 사용합니다. 단일 (CART) 트리는 h2o에서와 같이 구현되지 않습니다 (그러나 정리되지 않은 트리는 하나의 트리와 최대 예측 변수 선택을 가진 임의의 포리스트의 특별한 경우라고 가정합니다).
jubo

2
(1)의 정당성은 무엇입니까? 클레임을 주장하지만지지하는 주장은 제공하지 않습니다.
Sycorax는 Reinstate Monica가

0

우선 랜덤 포리스트는 다음 데이터 형식에 적용 할 수 없습니다.

  • 이미지
  • 오디오
  • 텍스트 (전처리 후 데이터가 희박하고 RF가 희소 데이터와 제대로 작동하지 않음)

테이블 형식 데이터 형식의 경우 다음과 같은 이유로 항상 임의 포리스트를 확인하는 것이 좋습니다.

  • 신경망 또는 SVM보다 적은 데이터 준비 및 전처리가 필요합니다. 예를 들어 기능 스케일링을 수행 할 필요가 없습니다.
  • 랜덤 포레스트 트레이닝의 경우 기본 파라미터를 사용하고 트리 수를 설정할 수 있습니다 ( RF의 트리가 많을수록 좋습니다 ). Random Forest와 Neural Networks비교할 때 교육이 매우 쉽습니다 (아키텍처를 정의하거나 교육 알고리즘을 조정할 필요가 없음). 랜덤 포레스트는 신경망보다 훈련하기가 더 쉽습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.