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.