Friedman의 그래디언트 부스팅 머신 은 Breiman의 Random Forest 보다 더 나은 성능을 얻을 수 있습니까 ? 그렇다면 어떤 조건에서 어떤 종류의 데이터 세트가 gbm을 향상시킬 수 있습니까?
답변
다음은 Boosting이 일반적으로 Random Forest보다 성능이 우수한 이유에 대한 설명입니다. 그러나 특정 설정에서 RF를 통한 Boosting의 우위를 설명 할 수있는 다른 요소는 무엇인지 알고 싶습니다.
기본적으로 프레임 워크 내에서 RF는 분산을 줄임으로써 오류를 줄일 수 있습니다 ( Hastie et al. 2009 p. 588). 편견은 고정되어 있으며 숲에서 단일 나무의 편견과 동일합니다 (따라서 편견이 매우 작은 큰 나무를 키울 필요가 있습니다).
error=bias+variance한편, 부스팅은 (어떤 선행 트리 놓쳐하는 것은 포착되도록 순차적으로 각각의 새로운 트리를 추가하여) 바이어스를 감소 시키지만, 또한 편차 (다수의 모델을 조합함으로써).
따라서 부스팅은 두 전선의 오류를 줄이는 반면 RF는 분산을 줄여 오류 만 줄일 수 있습니다. 물론 내가 말했듯이 실제로 관찰되는 Boosting의 더 나은 성능에 대한 다른 설명이있을 수 있습니다. 예를 들어, 상기 책의 페이지 591, 그것을 증폭 성능이 뛰어 때문에 특정 경우에 중첩 된 영역의 문제에에서 RF 있다고한다 진정한 의사 경계 첨가제입니다 . (?) 또한 스팸 및 캘리포니아 주택 데이터에 대해 부스팅이 RF보다 우수하다고보고합니다.
RF를 능가하는 Boosting은 Caruana and Niculescu-Mizil 2006 입니다. 불행히도 그들은 결과를보고하지만 그 원인을 설명하지는 않습니다. 그들은 두 가지 분류기 (및 그 이상)를 8 가지 성능 지표에 대해 11 가지 이진 분류 문제와 비교했습니다.
답변
bayerj가 말했듯이, priori를 알 수있는 방법은 없습니다!
랜덤 포레스트 는 상대적으로 캘리브레이션이 용이합니다 : 대부분의 구현 (예 : R 또는 Python)의 기본 매개 변수는 훌륭한 결과를 얻습니다.
반면에 GBM 은 조정하기가 어렵습니다 (너무 많은 수의 나무가 과적 합을 일으키고, 최대 깊이가 중요하며, 학습 속도와 나무의 수가 함께 작동합니다 …) 더 오래 훈련 (멀티 스레드 구현은 거의 없음) . 느슨하게 튜닝하면 성능이 저하 될 수 있습니다.
그러나 내 경험에 따르면 GBM에 충분한 시간을 보내면 임의 포리스트보다 더 나은 성능을 얻을 수 있습니다.
m