의사 결정 트리를 갖춘 이유는 무엇입니까?


11

분류 작업 및 특히 Adaboost에 대한 부스팅 알고리즘에 대해 조금 읽었습니다. Adaboost의 목적은 여러 "약한 학습자"를 대상으로하고 훈련 데이터에 대한 일련의 반복을 통해 분류자를 밀어 모델 (들)이 반복적으로 실수를 저지르는 클래스를 예측하는 법을 배우도록하는 것입니다. 그러나 내가 한 많은 독서가 왜 의사 결정 트리를 약한 분류기로 사용했는지 궁금합니다. 특별한 이유가 있습니까? Adaboost 후보를 특별히 좋거나 나쁘게 만드는 분류자가 있습니까?


사용할 수있는 가장 간단한 학습자는 깊이가 1 인 의사 결정 트리입니다. 어쩌면 모든 사람들이 예제에서 그것을 사용하는 이유 일 수 있습니다.
Aaron

답변:


18

관련된 SO 질문 에 대한 답변으로 이에 대해 이야기했습니다 . 의사 결정 트리는 일반적으로 다른 알고리즘보다 부스팅에 매우 적합합니다. 글 머리 기호 / 요약 버전은 다음과 같습니다.

  1. 의사 결정 트리는 비선형입니다. 선형 모델을 이용한 부스팅은 단순히 잘 작동하지 않습니다.
  2. 약한 학습자는 무작위 추측보다 일관되게 더 우수해야합니다. 일반적으로 의사 결정 트리에 매개 변수 조정을 수행 할 필요는 없습니다. SVM 교육에는 실제로 매개 변수 검색이 필요합니다. 각 반복에서 데이터의 가중치가 재조정되므로 각 반복마다 다른 매개 변수 검색을 수행해야합니다. 따라서해야 할 일의 양이 크게 증가하고 있습니다.
  3. 의사 결정 트리는 합리적으로 빨리 훈련합니다. 우리는 100 또는 1000을 만들 것이기 ​​때문에 좋은 재산입니다. 또한 분류가 빠르며, 결정을 출력하기 전에 100 대 또는 1000 대를 실행해야 할 때 다시 중요합니다.
  4. 깊이를 변경하면 바이어스 / 분산 트레이드 오프를 간단하고 쉽게 제어 할 수 있습니다. 부스팅은 바이어스를 줄일 수 있지만 분산도 크게 줄입니다. 부스팅은 과적 합하는 것으로 알려져 있으므로 튜닝하기 쉬운 노브가 그러한 측면에서 도움이됩니다.

1

교과서 답변이 없습니다. 그러나 여기 몇 가지 생각이 있습니다.

부스팅과 직접 비교하여 부스팅을 볼 수 있습니다. 이들은 편향 분산 트레이드 오프 딜레마에 대한 두 가지 접근 방식입니다. 배깅은 학습자가 약한 반면 배깅 앙상블을 평균화하여 편차가 적고 분산이 높은 일부 학습자는 약간의 편차에 대한 분산을 줄입니다. 반면 부스팅은 다른 약한 학습자와 잘 작동합니다. 부스팅 약한 학습자는 높은 편향과 낮은 분산을 갖습니다. 한 학습자를 다른 학습자 위에 구축함으로써 부스팅 앙상블은 약간의 편차를 위해 편향을 줄이려고합니다.

결과적으로, 예를 들어 나무를 사용하여 약한 학습자로 배깅 및 부스팅을 사용하는 것을 고려할 경우 가장 좋은 사용 방법은 부깅이있는 작고 짧은 나무를 사용하고 배깅이있는 매우 상세한 나무입니다. 그렇기 때문에 부스팅 절차가 의사 결정 스텀프를 가장 약한 학습자로 사용하는 이유는 가능한 가장 짧은 트리 (단일 차원에서 단일 if 조건)입니다. 이 결정 그루터기는 매우 안정적이므로 분산이 매우 낮습니다.

부스팅 절차로 나무를 사용해야 할 이유가 없습니다. 그러나 짧은 트리는 단순하고 구현하기 쉽고 이해하기 쉽습니다. 그러나 부스팅 절차에 성공하기 위해서는 약한 학습자가 분산이 적어야하고 자유도가 거의 없어야합니다. 예를 들어, 나는 약한 학습자로서 신경망을 가질 필요가 없다고 본다.

또한 어떤 종류의 부스팅 절차, 그라디언트 부스팅의 경우 Breiman은 약한 학습자가 나무 인 경우 부스팅 작업을 수행하는 방식에 대한 일부 최적화를 발견했습니다. 따라서 그라디언트 부스팅 트리가 있습니다. ESTL 서적에 좋은 인상이 있습니다.

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