Costruire un classificatore multiclasse è migliore di molti binari?


18

Devo classificare gli URL in categorie. Supponiamo di avere 15 categorie a cui sto pianificando di azzerare ogni URL.

Un classificatore a 15 vie è migliore? Dove ho 15 etichette e generare funzionalità per ciascun punto dati.

O costruendo 15 classificatori binari, dì: Film o Non film, e usa i numeri che ottengo da queste classificazioni per costruire un classificatore, per scegliere la categoria migliore, sarà migliore?

Risposte:


12

Prima di tutto, devi chiederti se il tuo problema è multilabel (ovvero un singolo URL può appartenere a più classi) o meno (ovvero un singolo URL può appartenere a una sola classe).

Se il primo, vai con una batteria di classificatori binari, perché questo è un modo predefinito di fare problemi multilabel.

In quest'ultimo caso, la risposta dipende da una combinazione di come appaiono i tuoi dati, qual è lo scopo della tua analisi e quale metodo stai usando - probabilmente dovresti semplicemente provare entrambi e selezionare il meglio.
Nota solo che alcuni metodi (come SVM) non possono effettivamente fare la classificazione multiclasse a causa del modo in cui sono definiti e quindi utilizzano internamente una batteria di classificatori binari.


la mia dichiarazione di problema sta prendendo in considerazione l'ex presupposto @mbq. So che ci sono multilabel. e sì, come hai detto, ho deciso di scegliere 15 classificatori binari, ma di nuovo, devo classificarli per scegliere una categoria migliore. Quindi, proverò a eseguire un'altra classificazione di livello superiore usando i numeri che ho ottenuto dalla batteria dei classificatori binari. Vedi qualche problema?
madCode

Le SVM possono eseguire la classificazione multiclasse. Il metodo è molto simile alla regressione di softmax (vedere "Sull'implementazione algoritmica di macchine vettoriali basate su kernel multiclasse").
user1149913

4

Ciò dipenderà dalla modalità di dispersione dei dati. C'è un bellissimo esempio che è stato dato di recente a una domanda simile in cui l'OP voleva sapere se una singola funzione discriminante lineare sarebbe un miglior classificatore per decidere la popolazione A vs B o C o una basata su funzioni discriminanti lineari multiple che separano A, B e C. Qualcuno ha dato un diagramma a dispersione colorato molto bello per mostrare come usare due discriminanti sarebbe meglio di uno in quel caso. Proverò a collegarmi ad esso.


Un attimo. Ho problemi a trovarlo ma continuerò a cercare.
Michael R. Chernick,

Ci dispiace per non essere riuscito a trovare il link. Immagina una nuvola di un colore a sinistra, un'altra al centro e una terza a destra. Due linee lineari discriminanti farebbero un buon lavoro nel separare il gruppo centrale da quelli a sinistra e a destra, ma nessuna linea singola farebbe del tutto bene. L'immagine varrebbe più di tutte queste parole.
Michael R. Chernick,

1
@MichaelChernick Questo è il link che stai cercando?

Penso di aver capito cosa stai dicendo: bit.ly/M1NydS - l'immagine che hai definito mi sono imbattuta in questa presentazione. Classificazione a 4 o 3 vie ... potrebbe essere diretta. Ma ... mi chiedo se la precisione / il richiamo sarebbero compromessi se si effettuasse una classificazione a 15 vie, dottor Chernick.
madCode

@Procrastinator Grazie per averlo trovato. stavo avendo così tanti problemi a localizzarlo e stavo perdendo molto tempo a cercare! Era un post recente, quindi ho pensato che tit sarebbe stato facile da trovare.
Michael R. Chernick,

1

Alcuni metodi gestiscono bene, ad esempio, multiclasse, foreste casuali, MLP.

Se non vuoi andare in quel modo, è possibile che ECOC possa eseguire 1-vs-All per il tuo problema, solo i test lo diranno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.