SVM을 통해 랜덤 포레스트를 사용하는 경우와 그 반대의 경우는 언제입니까?


28

때 하나 사용하는 것이 Random Forest이상 SVM반대와 반대?

나는 cross-validation모델 비교가 모델 선택의 중요한 측면 이라는 것을 이해 하지만 여기서는 두 가지 방법의 경험 법칙과 경험적 규칙에 대해 더 배우고 싶습니다.

누군가 분류기의 미묘함, 강점 및 약점뿐만 아니라 각각에 가장 적합한 문제를 설명해 주시겠습니까?


1
정확도 점수는 상대 성능의 유일한 진정한 척도이지만, 운이 좋으면 사용 가능한 많은 분류기 중 어떤 분류기 유형이 데이터 유형에 더 좋을지를 나타내는 선행 기술이있을 수 있습니다. 매개 변수를 조정하는 데 걸리는 시간이 더 제한적일 수 있습니다.이 경우 임의 포리스트가 두 가지를 더 쉽게 제안 할 수 있습니다.
image_doctor

답변:


29

선택은 당신이 가진 데이터와 목적이 무엇인지에 달려 있습니다. 몇 가지 "거의 규칙".

랜덤 포레스트는 본질적으로 멀티 클래스 문제에 적합하고 SVM은 본질적으로 2 클래스입니다. 멀티 클래스 문제의 경우이를 다중 이진 분류 문제로 줄여야합니다.

랜덤 포레스트는 숫자와 범주 기능이 혼합되어 잘 작동합니다. 기능이 다양한 스케일에 있으면 괜찮습니다. 대략 임의의 포리스트를 사용하면 데이터를 그대로 사용할 수 있습니다. SVM은 "여백"을 최대화하므로 여러 지점 간의 "거리"개념에 의존합니다. "거리"가 의미가 있는지 결정하는 것은 당신에게 달려 있습니다. 결과적으로 범주 형 기능을위한 원-핫 인코딩은 필수입니다. 또한, 전처리 단계에서 최소-최대 또는 기타 스케일링이 권장됩니다.

점과 특징 을 가진 데이터가있는 경우 SVM의 중간 단계는 내적 (계산 복잡도)을 계산 하여 행렬 (저장소의 메모리 요구 사항을 고려 )을 구성하는 것입니다. 따라서 경험상 SVM은 10 ^ 5 포인트 이상으로 확장 할 수 없습니다. 많은 수의 특징들 (의미있는 거리를 가진 균일 한 특징들, 이미지의 픽셀이 완벽한 예가 될 것임)은 일반적으로 문제가되지 않습니다.×2

분류 문제의 경우 랜덤 포레스트는 클래스에 속할 확률을 제공합니다. SVM은 경계까지의 거리를 제공하므로 확률이 필요한 경우에도이를 확률로 변환해야합니다.

SVM이 적용되는 문제의 경우 일반적으로 Random Forest보다 성능이 우수합니다.

SVM은 "지원 벡터"를 제공합니다. 즉, 각 클래스에서 클래스 간 경계에 가장 가까운 점입니다. 그들은 해석을 위해 스스로 관심을 가질 수 있습니다.


추가하는 것 : 랜덤 포레스트가 당신에게 확률을주는 것은 간단하지 않습니다. '진정한'확률을 원하면 의사 결정 트리의 확률 론적 구현이 필요하거나 나중에 적합한 랜덤 포레스트 모델을 교정하십시오.
Archie

5

SVM 모델은 일반적으로 트리보다 스파 스 데이터에서 더 잘 수행됩니다. 예를 들어 문서 분류에서 수천, 심지어 수만 개의 피쳐를 가질 수 있으며 주어진 문서 벡터에서 이러한 피쳐의 작은 부분 만 0보다 큰 값을 가질 수 있습니다. 그들 사이에 다른 차이점이있을 수 있지만 이것이 내 문제에서 찾은 것입니다.


3

SVM은 일반적으로 선형 종속성에 대해 더 나은 성능을 제공합니다. 그렇지 않으면 비선형 커널이 필요하며 커널을 선택하면 결과가 변경 될 수 있습니다. 또한 SVM은 해석하기가 쉽지 않습니다. 예를 들어 분류가 왜 그런지 설명하고 싶다면 사소하지 않습니다. 의사 결정 트리는 더 나은 해석 능력을 가지고 있으며 더 빠르게 작동하며 범주 / 숫자 변수가 있으면 비선형 종속성이 잘 처리됩니다 (N이 충분히 큰 경우). 또한 일반적으로 SVM보다 빨리 훈련하지만 과잉 적합하는 경향이 있습니다 ...

나는 또한 Logistic Regression을 시도 할 것입니다-훌륭한 해석 가능한 분류기)

요약하면 엄지 손가락의 규칙은 무엇이든 시도하고 최상의 결과 / 해석을 제공하는 것을 비교하는 것입니다.


1

이미 언급 한 장점을 보완하기 위해 :

에서 마 우리는 실제 세계 분류 문제를 해결하기 위해 분류기의 수백이 필요하십니까? 임의 포리스트는 임의 포리스트보다 더 나은 성능을 달성 할 가능성이 높습니다.

또한 알고리즘이 구현되는 방식 (및 이론적 인 이유로) 임의 포리스트는 일반적으로 (비선형) SVM보다 훨씬 빠릅니다. 실제로 @Ianenok과 마찬가지로 SVM은 10,000 개 이상의 데이터 포인트를 사용할 수없는 경향이 있습니다.

그러나 SVM은 일부 특정 데이터 세트 (이미지, 마이크로 어레이 데이터 ...)에서 더 잘 수행되는 것으로 알려져 있습니다.

다시 한번, 교차 검증은 어떤 방법이 가장 잘 작동하는지 알 수있는 가장 좋은 방법입니다.

출처 : 랜덤 포레스트 vs SVM


음? "임의의 숲은 임의의 숲보다 더 나은 성능을 달성 할 가능성이 높습니다."
Sanjay Manohar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.