Apprendimento supervisionato con dati incerti?


11

Esiste una metodologia esistente per applicare un modello di apprendimento supervisionato a un set di dati incerto? Ad esempio, supponiamo di avere un set di dati con le classi A e B:

+----------+----------+-------+-----------+
| FeatureA | FeatureB | Label | Certainty |
+----------+----------+-------+-----------+
|        2 |        3 | A     | 50%       |
|        3 |        1 | B     | 80%       |
|        1 |        1 | A     | 100%      |
+----------+----------+-------+-----------+

Come possiamo formare un modello di apprendimento automatico su questo? Grazie.

Risposte:


11

Come qualità numerica che attribuisci ai tuoi dati, penso che questa "certezza" possa sicuramente essere usata come un peso. I punteggi di "certezza" più elevati aumentano il peso che un dato ha sulla funzione decisionale, il che ha senso.

Molti algoritmi di apprendimento supervisionato supportano pesi, quindi devi solo trovare una versione ponderata di quella che intendi utilizzare.


2
(+1) E poiché essenzialmente i pesi tenderanno ad agire come "repliche" di punti, probabilmente ogni algoritmo potrebbe essere trasformato in una versione ponderata in questo modo, ad esempio nell'esempio OP, passare [5,8,10] copie di i 3 punti, riflettendo le loro certezze del [50,80,100]%. (Questo non dovrebbe mai essere veramente necessario, come se potesse essere fatto in linea di principio, dovrebbe esserci una versione ponderata corrispondente dell'algoritmo.)
GeoMatt22

5

Invece di avere le etichette A o B, potresti sostituirle con valori continui della certezza - ad esempio, corrisponde a qualcosa che sei sicuro è , corrisponde a qualcosa che sei sicuro è e corrisponde a qualcosa che 'nuovamente il 40% che è . Quindi, avere un modello che invece di prevedere la classe o genera un punteggio compreso tra e base a quanto pensi sia l'uno o l'altro (e imposta questo punteggio in base a se è> o <1/2). Ciò trasforma il problema di classificazione in un problema di regressione (che si soglia per tornare a un classificatore).1A0B0.6AAB01

Ad esempio, puoi adattare un modello lineare a as (dove è la certezza sopra). Quindi, quando si desidera testare alcuni dati, collegarli al modello e generare l'etichetta se e altrimenti.logp(A|x)p(B|x)=logp(A|x)1P(A|x)β0+β1Txp(A|x)Aβ0+β1Tx>0B


Quindi se avessi un problema di classificazione multi-classe, potresti impostare i tuoi obiettivi come vettori con una lunghezza uguale al numero di classi?
hyperdo

Numero di classi -1, supponendo che le certezze siano pari al 100%; l'esempio è simile alla regressione logistica. Molti classificatori producono punteggi (ad es. Stime della p (classe | dati) in alcuni modelli). Tutto ciò che questa risposta propone è che invece di prevedere direttamente le classi, visualizzare le certezze come punteggi e invece prevederle. Quindi, fai qualcosa con i punteggi.
Batman
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.