12

AdaBoost 알고리즘을 사용하는 응용 프로그램을 구현하려고합니다. AdaBoost가 약한 분류기 세트를 사용한다는 것을 알고 있지만,이 약한 분류기가 무엇인지는 알지 못합니다. 예를 들어 설명해 주시겠습니까? 제 자신의 약한 분류자를 만들어야하는지 아니면 어떤 종류의 알고리즘을 사용해야하는지 말씀해 주시겠습니까?Weak Classifier

답변

9

AdaBoost를 사용할 때 약한 분류 기준은 기본적으로 각 데이터 속성에 대한 임계 값이었습니다. 이러한 임계 값은 50 % 이상의 성능이 필요합니다. 그렇지 않은 경우 완전히 무작위입니다. http://www.cse.cuhk.edu.hk/~lyu/seminar/07spring/Hongbo.ppt

+0

링크가 깨졌습니다. – Dzhao

+0

http://user.ceng.metu.edu.tr/~tcan/ceng734_f1112/Schedule/adaboost.pdf – rayryeng

19

Weak classifiers (또는 약한 학습자) 만 무작위 분류보다 약간 더 잘 수행 분류는 다음과 같습니다

는 여기 약한 분류를 계산하기 에이다 부스트 및 방법에 대한 좋은 표현이다. 따라서 이러한 분류 기준은 올바른 라벨을 예측하는 방법에 대한 단서를 제공하지만 Naive Bayes, Neurel Networks 또는 SVM과 같이 강력한 분류 기준 만큼은 아닙니다.

가장 간단한 약 분류기 중 하나는 Decision Stump이며, 이는 1 레벨 의사 결정 트리입니다. 하나의 피처에 대한 임계 값을 선택하고 해당 임계 값으로 데이터를 분할합니다. 그런 다음 AdaBoost는 군대의 Decision Stumps를 훈련하여 데이터 특성의 한 부분에 초점을 맞 춥니 다.

+0

나는 결심 스텀프를 사용하기로 결정했습니다. 응용 프로그램에 대한 내 아이디어는 다음과 같습니다. 코끼리 유형이 무엇인지 인식합니다. My Elephant 클래스에는 다음과 같은 필드가 있습니다. int 크기, int 가중치, double sampleWeight, ElephantType 유형 (아시아 또는 아프리카 일 수 있음). 2 결정 덩어리 (크기 1과 무게 1) 만 만들거나 더 많은 결정 단련 (크기가 적고 무게가 적음)을 만들어야하는지 알고 싶습니다. – AjMeen

+0

@AjMeen 결정 그루터기는 정의 상으로는 단 하나의 레벨이므로 한 번에 두 가지 결정 스텀프를 사용할 수 없습니다. IMO 문제를 해결하는 가장 좋은 방법은이 두 가지 고유 한 기능을 기반으로 2d 결정 그루터기를 만드는 것입니다. 이 방법을 사용하면 (단일) 결정 그루터기에서 두 가지 기능을 모두 고려할 수 있습니다. 'x = 크기', 'y = 무게'라고 말하면 그루터기는 (예를 들어) 2 차원 유클리드 길이의 임계 값이됩니다 :'sqrt (x^2 + y^2)> 6이면 +1을 반환하고 그렇지 않으면 -1을 반환합니다. 나는 그 지점을 보여주기 위해서 무작위로'> 6'을 선택했습니다. –

+0

@AjMeen 하나 이상의 결정 그루터기를 사용할 수 없다고 말했을 때, 나는 "한 번의 반복"을 의미했습니다. 당신은 adaboost에있는 각 반복에 단 하나 결정 그루터기를 훈련해야한다. –