Domanda

Attualmente sto cercando un multilabel AdaBoost implementazione MATLAB o una tecnica per utilizzare in modo efficiente un due-etichetta di attuazione per il multilabel caso.Qualsiasi aiuto in merito a tale questione sarebbe apprezzato.

È stato utile?

Soluzione

È possibile utilizzare lo stesso approccio utilizzato in Support Vector Machines.SVMs sono originariamente binario classificatori, diversi approcci sono stati proposti per la gestione di multiclasse dati:

  • uno-contro-tutti:costruire un classificatore binario per classe, e il treno con le istanze di questa classe come casi positivi e tutte le altre istanze, come i casi negativi (ie:1-vs-not1, 2-vs-not2, 3-vs-not3).Infine, utilizzare la probabilità posteriore di ogni classificazione per predire la classe.

  • uno-contro-uno:costruire diversi binari classificatori per ogni coppia di classi (ie:1-vs-2, 1-vs-3, 2-vs-3,..), semplicemente la formazione le istanze da entrambe le classi.Quindi è possibile combinare i singoli risultati, mediante un voto di maggioranza.

  • Correzione Di Errore Codici Di Uscita:in base alla teoria di correzione di errore (codice di Hamming e così via), si basa sulla codifica di output di diverse classificatore binario utilizzando qualche ridondanza per aumentare la precisione.

Nota di metodo generico e può applicare a qualsiasi classificatore binario.

Altrimenti si può cercare una specifica implementazione di multiclasse Adaboost, che sono sicuro che ci sono un sacco là fuori..Una rapida ricerca ha rivelato questo: Multiclasse GentleAdaboosting

Altri suggerimenti

È possibile utilizzare Adaboost.M2, è un multiclasse AdaBoost, è possibile trovare un'implementazione in Balu toolbox qui il comando è Bcl_adaboost questo toolbox ha altre cose utili, basta ricordarsi di riferimento. Speranza che aiuta.

In teoria, l'unica corretta amplificazione multi-classe è quello definito nel Una teoria di multiclasse amplificazione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top