RBF SVM 사용 사례 (로지스틱 회귀 및 임의 포리스트)


10

지원 벡터 기계방사형 기본 기능 커널은 범용이 분류를 감독이다.

이러한 SVM에 대한 이론적 기초와 장점을 알고 있지만 이들이 선호되는 방법에 대해서는 알지 못합니다. 그렇다면 RBF SVM이 다른 ML 기술보다 우월한 문제가 있습니까? (점수 또는 기타 견고성, 시작하기 쉬움, 해석 가능성 등)

기본 접근 방식은 로지스틱 회귀 (아마도 일부 상호 작용이있는), 임의의 포리스트 및 약간의 신경망을 중심으로하므로 묻습니다. ML (일부 Kaggle 승자)을하는 친구는 SVM 사용자가 아닙니다 (그러나 커뮤니티의 아티팩트이거나 처리하는 문제 일 수 있음).

답변:


8

나는이 질문에 출판 된 증거, 개인적인 경험, 그리고 추측의 조합으로 대답하려고 노력할 것입니다.

A) 공개 된 증거.

이 질문에 대한 답을 얻는 데 도움이되는 유일한 논문은 Delgado et al 2014-실제 분류 문제를 해결하기 위해 수백 개의 분류 기가 필요합니까? -JMLR 은 UCI에서 121 개의 데이터 세트에 대해 수백 가지의 알고리즘과 구현을 실행합니다. RBF SVM이 "최상의"알고리즘은 아니지만 (올바로 기억하면 임의의 포리스트 임) 상위 3 (또는 5)에 속합니다.

데이터 세트 선택이 실제 문제의 "좋은 샘플"이라고 생각하면 SVM이 새로운 문제에 대해 시도해야하는 알고리즘보다 우선하지만 임의 포리스트를 먼저 시도해야합니다!

그 결과를 일반화하는 한계는 데이터 세트가 거의 모든 키가 크고 마른 체형 (n >> p)이며 매우 드물지 않다는 것입니다. 이는 RF에 더 큰 문제가 아니라 크게 (n과 p 모두) 문제는 아니라고 추측합니다.

마지막으로 여전히 공개 된 증거에 따르면 무작위 포리스트의 서로 다른 구현을 비교하는 두 사이트를 권장합니다.

B) 개인적인 경험.

Delgado와 같은 논문은 모두 머신 러닝 커뮤니티에 매우 중요하다고 생각하므로 결과를 다른 조건에서 재현하려고했습니다. Delgado의 데이터 세트에서 100 + 이진 데이터 세트에 대해 15 가지 알고리즘을 실행했습니다. 또한 하이퍼 파라미터 선택에 더주의를 기울 였다고 생각합니다.

내 결과는 SVM이 "최상의 알고리즘"(평균 4.9) 이었다는 것입니다. 원래 데이터 세트에 많은 멀티 클래스 문제가 포함되어 있기 때문에 SVM이 RF를 통과했습니다.

편집 (6 월 16 일) :

그러나 RF는 방법 방법을 빨리, 그리고 GBM (5.8) 다음에 제 2 최선의 알고리즘 (평균 순위 5.6), nnets (7.2) 등)에 있었다. 나는이 문제에서 표준 로지스틱 회귀 분석을 시도하지 않았지만 탄력적 그물 (L1 및 L2 정규화 LR)을 시도했지만 잘 수행하지 못했습니다 (평균 8.3) ~

결과 분석이나 논문 작성을 아직 완료하지 않았으므로 결과가 포함 된 기술 보고서를 가리킬 수도 없습니다. 몇 주 안에이 답변을 다시 편집하고 결과가 포함 된 기술 보고서를 가리킬 수 있기를 바랍니다.

이 논문은 http://arxiv.org/abs/1606.00930 에서 볼 수 있습니다 . 전체 분석 후 RF 및 SVM은 예상되는 오류율 측면에서 거의 동일하며 SVM이 가장 빠릅니다 (내 놀랍게도 !!). 나는 더 이상 RF를 권장하는 속도가 빠르지 않다.

제 개인적 경험은 SVM이 약간의 정확도를 얻을 수 있지만 RF를 사용하는 것이 거의 항상 더 나은 선택이라는 것입니다.

또한 더 큰 문제의 경우 배치 SVM 솔버를 사용하는 것이 불가능할 수 있습니다 ( LASVM 또는 기타 와 같은 온라인 SVM 솔버를 사용한 적이 없습니다 ).

마지막으로 한 상황에서는 로지스틱 회귀 만 사용했습니다. 이미지 분류 문제에 대해 "강렬한"기능 엔지니어링을 수행했습니다 (예 : 이미지에 대한 두 가지 다른 설명과 설명의 차원 결합 또는 결합 안 함). 그리고 로지스틱 회귀 분석을 사용하여 많은 대안 중에서 선택했습니다 (LR에는 하이퍼 파라미터 검색이 없기 때문에). LR에 따라 최상의 기능을 결정하면 RF를 사용하여 (최고 하이퍼 파라미터 선택) 최종 분류기를 얻습니다.

C) 투기

나는 멀티 클래스 문제에 대해 심각하게 일한 적이 없지만 SVM이 그다지 좋지 않다는 느낌이 듭니다. 문제는 일대일 또는 일대일 솔루션 사이의 문제가 아니라 내가 아는 모든 구현에서 모든 (OVO 또는 OVA) 분류기에 동일한 하이퍼 매개 변수를 사용한다는 것입니다. SVM에 대한 올바른 하이퍼 파라미터를 선택하면 비용이 많이 들기 때문에 내가 아는 상용 구현에서는 각 분류자를 검색하지 않습니다. 나는 이것이 SVM에 대한 문제라고 생각하지만 (RF에 대해서는 문제가 아닙니다!)

그런 다음 다시 멀티 클래스 문제의 경우 RF로 바로 이동합니다.


좋은 답변입니다! Delgado et al 실험의 복제에 대한 블로그 게시물, 노트 또는 스크립트가있을 가능성이 있습니까? (매개 변수를 조정하고, 변수를 스케일링하는 것은 일반적으로 알고리즘의 선택만큼 중요하므로 알고리즘 우위에 대한 강력한 주장을하기가 어렵습니다.)
Piotr Migdal

25,20,25,210,215215,210.5,26,21.5,20.5,1,2

0

의견을 작성할 수있는 권한이 충분하지 않으므로 여기에 입력 / 관찰을 제공 할 것입니다.

필자의 경험에 따르면 SVC (Support Vector Classifiers)는 이진 클래스가 균형을 잡을 때 다른 방법보다 성능이 우수하거나 다른 방법보다 성능이 뛰어납니다. 불평형 클래스의 경우 SVC는 성능이 좋지 않습니다.

나는 종종 멀티 클래스 문제를 다루지 않지만 멀티 클래스 문제에 대해서도 SVC에서 좋은 결과를 보았습니다.

내가 주목 한 또 다른 점은 확장 모델링의 저주가 다른 모델링 기술만큼 SVC에 영향을 미치지 않는 것입니다. 다시 말해, 모델에 더 많은 용어를 추가 할 때 다른 기술은 훈련 세트와 비교하여 테스트 (또는 홀드 아웃) 세트에서 성능이 저하되기 시작합니다. 그러나 SVC를 사용할 때는 그리 많지 않습니다. 이러한 이유로 인해 모델 parsimony가 우선 순위가 아닌 경우 SVC는 다른 방법만큼 과적 합하지 않고 많은 용어를 던질 수 있으므로 더 나은 옵션이 될 수 있습니다.

SVC의 문제점 중 하나는 관측치의 순위를 지정할 수있는 암시 적으로 (예측 확률과 같은) 측정 값을 제공하지 않는다는 것입니다. Platt Scaling (Python의 sklearn.svm 패키지로 구현)을 사용할 수 있지만 일부 불일치가 있습니다. (누군가 관심이 있다면 세부 정보를 공유 할 수 있습니다.)

이것이 실제로 귀하의 질문에 대답하는지 확실하지 않지만, 이것은 나의 관찰입니다. 희망이 도움이됩니다.


0

RF와 (RBF) SVM에는 다른 이론이 있지만 충분한 데이터가 있다고 가정하면 비슷한 성능을 발휘합니다. 둘 다 복잡한 기능을 배우고 시끄럽고 유익하지 않은 변수와 특이 치를 잘 처리 할 수 ​​있습니다.

kaggle과 같은 것에 대해 최상의 결과를 얻으려는 경우 RF 및 SVM을 포함한 여러 모델을 앙상블하게 만들 수 있습니다.

비 Kaggle 설정에서는 모델 구현, 생산, 예측, 해석, 관리자에게 설명하는 것이 얼마나 어려운지 고려할 수 있습니다.

적은 양의 데이터가 있거나 차원의 과정을 다루는 경우 SVM (선형 또는 고도로 정규화 된 RBF)이 선호됩니다. 여기에는 몇 가지 이유가 있습니다. 하나는 피처에서 일련의 최상의 분할 대신 최대 마진 초평면을 찾는 것이 더 낫습니다. 또한 높은 차원 공간에는 초평면이 있기 때문에 복잡한 경계가 필요하지 않습니다. 어쨌든 데이터를 분리 할 수 ​​있습니다. 또 다른 문제는 RF를 튜닝하기가 더 어렵고 (튜닝 할 파라미터가 더 많음) 더 많은 데이터가 필요하다는 것입니다.

또 다른 생각으로, 교차 검증은 SVM, 특히 LOOCV에 대해 매우 저렴하고 빠를 수 있습니다. 소수의 샘플 만 지원 벡터 (항상 그런 것은 아님)이므로 모든 폴드에서 분류기를 재교육 할 필요는 없지만, 현재 테스트 세트에있는 데이터가 이전에 지원 벡터 인 경우에만 분류기를 재교육해야합니다. 또한 온라인 학습이 쉬워집니다.

또한 풀 트리보다 지원 벡터를 저장하는 것이 더 저렴할 수 있습니다.

분류기보다 확률 모델을 만드는 것이 더 좋습니다. 따라서 모델을 먼저 결정하고 나중에 결정하십시오. 이 경우 로지스틱 회귀가 선호됩니다. 또한 커널과 정규화를 사용하여 원하는대로 작동 할 수 있습니다. 또한 RF를 사용하여 다음과 같은 질문에 대답하지 않습니다. 나이, 생활 양식, 성별 및 교육에 대한 수정, 알코올을 마시면 심장 마비의 염색 가능성이 높아 집니까?

내가 찾은 몇 가지 추가 리소스 : https://www.quora.com/What-are-the-advantages-of-different-classification-algorithms http://videolectures.net/solomon_caruana_wslmw/

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