AdaBoost가 과적 합하는 경향이 적습니까?


20

나는 AdaBoost (또는 다른 부스팅 기술)가 다른 학습 방법에 비해 과적 합하기 쉬운 지 아닌지에 대한 다양한 (겉보기에) 모순되는 진술을 읽었습니다.

둘 중 하나를 믿을만한 충분한 이유가 있습니까? 그것이 의존한다면, 그것은 무엇에 달려 있습니까? AdaBoost가 과적 합하는 경향이 적은 이유는 무엇입니까?


1
내 직감은 그것이 임의의 숲보다 과잉 적합하기 쉽다는 것입니다. 그러나이 알고리즘은 과적 합을 피하도록 설계되었으며 일반적으로 문제가되지 않습니다. 나는 이것을 뒷받침 할 참조가 없지만 caret패키지를 사용하여 adaboost를 교차 검증 할 수 있으며 일반적으로 일반적으로 잘 작동한다는 것을 알았습니다.
Zach

답변:


17

당신이 말한 것처럼이 문제에 대해 많은 논의가 있었고, 완전히 이해하지 못했다는 것을 인정해야 할 상당히 무거운 이론이 있습니다. 필자의 실제 경험에서 AdaBoost는 과적 합에 상당히 강하고 LPBoost (Linear Programming Boosting)는 훨씬 더 강력합니다 (객관적인 기능에는 용량 제어의 한 형태 인 약한 학습자의 희소 한 조합이 필요하기 때문에). 영향을 미치는 주요 요인은 다음과 같습니다.

  • "약한"학습자의 "강점": 의사 결정 그루터기 (1 수준 의사 결정 트리)와 같은 매우 간단한 약한 학습자를 사용하는 경우 알고리즘이 과적 합되기 훨씬 쉽습니다. 더 복잡한 약한 학습자 (예 : 의사 결정 트리 또는 초평면)를 사용하려고 할 때마다 과적 합이 훨씬 빠르게 발생한다는 것을 알았습니다.

  • 데이터의 소음 수준 : AdaBoost는 특히 노이즈가 많은 데이터 세트에 과적 합하는 경향이 있습니다. 이 설정에서는 정규화 된 양식 (RegBoost, AdaBoostReg, LPBoost, QPBoost)이 선호됩니다.

  • 데이터의 차원 : 우리는 일반적으로 고차원 공간 ( "차원의 저주")에서 과적 합을 경험하고 AdaBoost는 그 자체로 어려움을 겪는 분류기의 선형 조합이기 때문에 그 점에서도 어려움을 겪을 수 있음을 알고 있습니다. 문제에서. 다른 분류 자만큼 쉬운 지 여부를 판단하기가 어렵습니다.

물론 유효성 검사 세트 또는 폴드 교차 검증과 같은 휴리스틱 메서드 를 사용하여 다른 분류기와 마찬가지로 중지 매개 변수 (또는 다른 변형의 다른 매개 변수)를 설정할 수 있습니다.k


9

나는 tdc 의견에 언급 된 대부분의 요점에 동의합니다. 그러나 몇 가지를 추가하고 수정해야합니다.

  • Peter Bühlmann의 L2Boost에서 알 수 있듯이, 약한 학습자 (부스트 횟수)가 증가함에 따라 편차가 기하 급수적으로 빠르게 수렴되는 반면, 기하학적으로 크기가 감소함에 따라 편차가 증가합니다. 이는 다른 대부분의 방법보다 훨씬 느립니다.
  • Zach의 의견에 따르면 초과 적합성 측면에서 임의의 숲보다 낫습니다. 완전히 잘못되었습니다. 실제로 이론에 따르면 (Breiman의 원본 임의 산림 논문 참조) Random Forest는 약한 분류 기가 데이터에 과적 합하지 않는 한 과적 합에 대해 절대 면역이되지 않습니다.
  • tdc 주석에서 언급 한 것과 달리, 대부분의 부스팅 방법은 라벨링 노이즈에 매우 민감하며 라벨링 노이즈가있을 때 쉽게 과도하게 적합 할 수 있습니다.
  • Bayes 오류율이 0과 거리가 멀거나 (즉, 특징이 충분히 구별되지 않는) 데이터 세트에서 증폭 방법도 쉽게 과적 합 될 수 있습니다. 실제로 최적화 분류기, 즉 Bayes 분류기조차도 40 % 오류율에 도달 할 수있는 동안 훈련 오류를 0으로 줄이려고하기 때문에.
  • 마지막으로, 이것은 (내가 아는 한) 부스팅 라운드가 증가함에 따라 일반화 오류가 증가하지 않지만 감소하지 않는 일종의 과적 합이있는 곳에서는 출판되지 않았습니다. 이는 알고리즘이 로컬 최적화에 갇혀 있음을 의미합니다. 이 상황에서 훈련 오류는 지속적으로 감소하는 반면 테스트 오류는 거의 일정하게 유지됩니다. 지금까지 우리는이 현상이 과적 합의 징후라고 생각한 적이 없지만 과적 합의 징후라고 생각하고 더 복잡한 약한 학습자를 사용함으로써 (이상한!) 우리는 실제로 반대 할 수 있습니다. :디)

1
이 대답에 AdaBoost와 Random Forest를 사용하여 오늘날 후자의 종류를 과도하게 적용했을 수도 있습니다. 교차 유효성 검사에서 폴드 오류는 20 개의 기본 추정값 만있는 상수로 수렴 된 다음 높은 분산으로 해당 상수 주변으로 튀어 나왔습니다. 내 의심은 정확히 동일했다. 탐욕스러운 알고리즘은 어떤 종류의 로컬 최적에 빠졌다. 이것은 일어난 일에 대한 확인은 아니지만 다른 사람이 같은 생각을 가지고 있다는 것을 아는 것이 좋습니다.
shadowtalker 2016 년

@ssdecontrol 당신이 한 일을 공유 할 수 있습니까? 나는 더 나은 이해를 가지고 결과를 재현 할
아가 왈 saurabh을

나는 내가 Kaggle 타이타닉 프로젝트를 진행되었다고 생각 @saurabhagarwal
shadowtalker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.