La fiducia nell'etichetta di allenamento può essere utilizzata per migliorare la precisione delle previsioni?


9

Ho dei dati di allenamento che sono etichettati con valori binari. Ho anche raccolto la fiducia di ciascuna di queste etichette, ovvero 0,8 di fiducia significherebbe che l'80% delle etichettatrici umane è d'accordo su tale etichetta.

È possibile utilizzare questi dati di confidenza per migliorare l'accuratezza del mio classificatore?

Il seguente funzionerebbe?

  • 1a) Se l'etichetta è 0 e i dati di confidenza per quell'etichetta sono 0,8, assegnare ai dati di allenamento una nuova etichetta di 0,2

  • 1b) Se l'etichetta è 1 e i dati di confidenza per quell'etichetta sono 0,8, assegnare ai dati di allenamento una nuova etichetta di 0,8

  • 2) Calcola la nuova etichetta usando questo metodo per ogni voce nel set di addestramento

  • 3) Tratta il problema come un problema di regressione (dove le etichette vanno da 0 a 1)

  • 4) Classificare i dati senza etichetta in base al fatto che le nuove etichette siano al di sopra o al di sotto di un valore specifico. vale a dire dare tutte le etichette previste classe 0 se inferiore a X e classe 1 se superiore a X.

Attualmente sto usando un SVM con un kernel RBF per il mio modello.

Grazie in anticipo!



Quindi per ora stai usando l'etichetta binaria? Non so perché non funzionerebbe. Provalo. Dividi i tuoi dati in un test di allenamento e un test di validazione e vedi se aumenti la tua previsione.
el Josso,

Risposte:


4

Sì, è possibile utilizzare questi dati di confidenza. Tuttavia, non consiglierei l'approccio che hai citato. Vorrei invece suggerire un approccio diverso. In realtà, ne suggerirò due. Il primo è concettualmente pulito; il secondo è probabilmente più facile da implementare; e saranno probabilmente approssimativamente equivalenti in pratica.

Regola la funzione di perdita

Puoi regolare la funzione di perdita in modo da riflettere i punteggi di confidenza che hai sui dati di allenamento.

In particolare, se stai usando la perdita di entropia incrociata , c'è un modo particolarmente pulito per farlo. Consentitemi di spiegare alcuni retroscena della perdita di entropia, quindi di spiegare come. Pensiamo all'etichetta sull'istanza di training come una distribuzione di probabilità sulle etichette. Nella classificazione binaria, tale distribuzione può essere rappresentata come un vettore(p0,p1) dove p0 rappresenta la probabilità che l'etichetta sia 0 e p1 la probabilità che l'etichetta sia 1. Normalmente, ci vengono fornite "etichette rigide": se sappiamo che l'etichetta corretta sull'istanza X è 0, quindi corrisponde alla distribuzione di probabilità (1,0); se l'etichetta corretta è 1, questa è la distribuzione(0,1). La perdita tra entropia confronta quindi la previsione dal classificatore a questa distribuzione.

La cosa bella della perdita di entropia è che si genera prontamente a confrontare due distribuzioni qualsiasi. Quindi, se hai fiducia0.8 che l'etichetta corretta per esempio X è 0, quindi ciò corrisponde a una distribuzione di probabilità (0.8,0.2). Ora è possibile calcolare l'entropia incrociata della previsione del classificatore rispetto alla distribuzione(0.8,0.2)e questo è il contributo alla perdita dell'istanza di formazione X. Sommalo su tutte le istanze del set di allenamento e otterrai una funzione di perdita corretta.

Ora puoi allenare un classificatore minimizzando questa funzione di perdita adattata, che incorporerà direttamente tutte le informazioni nei tuoi punteggi di fiducia.

Usa i pesi

In alternativa, è possibile utilizzare i pesi per riflettere le informazioni di confidenza.

Alcuni classificatori consentono di specificare un peso per ogni istanza nel set di allenamento. L'idea è che un errore di una determinata istanza sia penalizzato dalla proporzionalità rispetto al suo peso, quindi le istanze con un peso elevato sono più importanti per ottenere il giusto valore e quelle con un peso ridotto sono meno importanti. O, equivalentemente, la procedura di allenamento si sforza di evitare errori in casi con un peso elevato.

È possibile utilizzare i pesi per riflettere le informazioni sulla fiducia. Supponiamo di avere un istanzaX nel set di formazione che ritieni dovrebbe avere l'etichetta 0, con sicurezza 0.8. Aggiungeresti una copia di(X,0) all'allenamento impostato con il peso 0.8 (cioè, istanza è X e l'etichetta è 0) e aggiungi una copia di (X,1) all'allenamento impostato con il peso 0.2 (cioè, istanza è Xe l'etichetta è 1). Costruisci il set di allenamento in questo modo. Questo raddoppia le dimensioni del tuo set di allenamento. Ora allena un classificatore, usando questi pesi.

Per i classificatori che supportano pesi, questo dovrebbe essere facile da implementare.

Si può anche dimostrare che è efficace e ragionevole. Ad esempio, quando si utilizza la perdita di entropia incrociata per allenare un classificatore, questo approccio con i pesi equivale a regolare la funzione di perdita come evidenziato sopra. Quindi, in quel particolare contesto, i due approcci sono effettivamente equivalenti.

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.