2010-08-07 10 views
8

Attualmente sto cercando un'implementazione AdaBoost multilabel per MATLAB o una tecnica per utilizzare in modo efficiente un'implementazione con due etichette per il caso multilabel. Qualsiasi aiuto in questa materia sarebbe apprezzato.Multilabel AdaBoost per MATLAB

risposta

7

È possibile utilizzare lo stesso approccio utilizzato in Support Vector Machines. SVM sono classificatori in origine binari, sono stati proposti diversi approcci per la gestione dei dati multiclasse:

  • uno-contro-tutti: costruire un classificatore binario per classe, e allenarsi con le istanze di questa classe come casi positivi e tutti gli altri istanze come casi negativi (es: 1-vs-not1, 2-vs-not2, 3-vs-not3). Infine, usa la probabilità a posteriori di ciascun classificatore per prevedere la classe.

  • uno contro uno: costruire diversi classificatori binari per ciascuna coppia di classi (es: 1-vs-2, 1-vs-3, 2-vs-3, ..) semplicemente formazione over le istanze di entrambe le classi. Quindi puoi combinare i singoli risultati usando il voto a maggioranza.

  • Error Correcting codici di uscita: basati sulla teoria di correzione di errore (codice di Hamming e simili), si basa sulla codifica l'uscita di diversi classificatore binario utilizzando una certa ridondanza per aumentare la precisione.

Nota: questi sono metodi generici e possono essere applicati a qualsiasi classificatore binario.

In caso contrario è possibile cercare una specifica implementazione di multiclasse AdaBoost, che sono sicuro che ci sono molti là fuori .. Una rapida ricerca ha rivelato questo: Multiclass GentleAdaboosting

0

È possibile utilizzare Adaboost.M2, è un multiclasse adaboost, puoi trovare un'implementazione nella casella degli strumenti di Balu here il comando è Bcl_adaboost questa cassetta degli attrezzi ha altre cose utili, ricorda solo di fare riferimento. Spero che sia d'aiuto.

Problemi correlati