Apprendimento supervisionato con eventi "rari", quando la rarità è dovuta al gran numero di eventi controfattuali


13

Supponiamo di riuscire a osservare "corrispondenze" tra acquirenti e venditori in un mercato. Puoi anche osservare le caratteristiche sia degli acquirenti che dei venditori che desideri utilizzare per prevedere le partite future e formulare raccomandazioni per entrambe le parti del mercato.

Per semplicità, supponiamo che ci siano N acquirenti e N venditori e che ognuno trovi una corrispondenza. Vi sono N partite e (N-1) (N-1) non partite. Il set di dati di training all-inclusive ha osservazioni N + (N-1) * (N-1), che possono essere proibitive in termini di dimensioni. Sembrerebbe che il campionamento casuale delle non corrispondenze (N-1) (N-1) e l'addestramento di un algoritmo su dati ridotti potrebbe essere più efficiente. Le mie domande sono:

(1) Il campionamento dalle non partite per costruire un set di dati di allenamento è un modo ragionevole per affrontare questo problema?

(2) Se (1) è vero, esiste un modo rigoroso per decidere quanto grande di un pezzo di (N-1) (N-1) includere?

Risposte:


11

Se ho capito bene, hai un problema di classificazione in due classi, in cui la classe positiva (partite) è rara. Molti classificatori lottano con un tale squilibrio di classe ed è pratica comune sottocampionare la classe di maggioranza al fine di ottenere prestazioni migliori, quindi la risposta alla prima domanda è "sì". Tuttavia, se esegui un sottocampionamento eccessivo, finirai con un classificatore che sovrastima la classe positiva di minoranza, quindi la cosa migliore da fare è scegliere la razione di sottocampionamento per massimizzare le prestazioni, forse minimizzando il errore di convalida in cui i dati del test non sono stati sottoposti a sottocampionamento, pertanto si ottiene una buona indicazione delle prestazioni operative.

Se si dispone di un classificatore probabilistico, che fornisce una stima della probabilità della memebership di classe, si può andare meglio e postelaborare l'output per compensare la differenza tra le frequenze di classe nel set di addestramento e in esercizio. Sospetto che per alcuni classificatori l'approccio ottimale sia l'ottimizzazione del rapporto di sottocampionamento e la correzione dell'output ottimizzando l'errore di convalida incrociata.

Invece di sottocampionare, per alcuni classificatori (ad es. SVM) è possibile assegnare pesi diversi a modelli positivi e negativi. Preferisco questo al sottocampionamento poiché significa che non c'è variabilità nei risultati a causa del particolare sottocampione utilizzato. Laddove ciò non sia possibile, utilizzare il bootstrap per creare un classificatore insaccato, in cui in ogni iterazione viene utilizzato un sottocampione diverso della classe di maggioranza.

L'altra cosa che vorrei dire è che comunemente dove c'è uno squilibrio di grande classe, errori falsi negativi e errori falsi positivi non sono ugualmente cattivi, ed è una buona idea incorporarlo nel design del classificatore (che può essere realizzato da sub - modelli di campionamento o ponderazione appartenenti a ciascuna classe).


3
(+1), tuttavia penso che si debba distinguere tra l'obiettivo della classifica (misura: AUC) e la separazione delle due classi (misura: precisione). Nel primo caso, dato un classificatore probabilistico come Naive Bayes, suppongo che lo squilibrio abbia un ruolo minore. O dovresti preoccuparti anche in questo caso? Un'altra domanda: cosa intendi con "post-process l'output"? Convertire i punteggi in probabilità effettive?
Steffen,

@Steffen La mia intuizione è che il problema dello squilibrio di classe è meno un problema per la classifica, ma che non scompare completamente (sto lavorando su un documento su questo problema, quindi è qualcosa che vale la pena risolvere). Per post-elaborazione, intendevo moltiplicare gli output per il rapporto tra le frequenze delle classi operative e di addestramento e quindi ri-normalizzare in modo che le probabilità di tutti i possibili risultati siano pari a una. Tuttavia, in pratica il fattore di ridimensionamento ottimale effettivo sarà probabilmente leggermente diverso, quindi ottimizza con XVAL (ma continua a normalizzare).
Dikran Marsupial,

1

Per quanto riguarda (1). È necessario mantenere osservazioni positive e negative se si desidera risultati significativi.
(2) Non esiste un metodo più saggio di sottocampionamento della distribuzione uniforme se non si dispone a priori dei dati.


Grazie Ugo - d'accordo, ci devono essere sicuramente sia partite che non partite nei dati di allenamento. La domanda riguarda quante delle non-partite (N-1) (N-1) sono necessarie. Per la parte (2), campionerei sicuramente con lo stesso peso su tutte le osservazioni.
John Horton,

Bene, se non hai apriori sui tuoi dati non esiste un modo ragionevole per campionare i dati. Quindi devi fare un campionamento uniforme, e in questo caso, più prendi, meglio è. Puoi comunque stimare l'errore introdotto dal campionamento, ma qui mancano informazioni per aiutarti in questo punto.
Ugo,

Mi sembra che l'errore dipenderà dal tipo di classificatore utilizzato. In ogni caso, puoi sempre provare a prevedere una frequenza di campionamento diversa e fissare una soglia in cui ritieni che l'errore introdotto sia soddisfacente.
Ugo,
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.