Domanda

Grazie in anticipo per aver letto la mia domanda!

Ho usato CNN al testo classificare utilizzando Keras e TF. I miei dati sono stringhe "Ho letto la notizia" o "Ho letto notizie macchina di apprendimento" e le mie etichette sono tag: Science Data, Reporter, Bambino ...

I miei problemi è che ogni testo può avere più etichette collegato ad esso. Come devo costruire il mio obiettivo in modo tale che posso catturare ciascuna di queste uscite multiple?

Description, Tag "I read the news", Child "I read the news", Reporter "I read machine learning news", Data Science "I read machine learning news", Reporter

È stato utile?

Soluzione

CNN (generalmente) uso softmax come funzione di attivazione all'ultimo strato, che dà una distribuzione di probabilità di tutte le possibili etichette. Si utilizza un qualche tipo di funzione di perdita per ottimizzare la CNN per generare l'etichetta "giusto" per un campione romanzo.

funzione Perdita utilizzato in questo caso è la perdita di cross-entropia o KL-divergenza che misure come chiudere due distribuzioni sono. Per la classificazione multiclasse (diverso dal caso, dove ogni esempio ingresso può avere una sola etichetta), distribuzione desiderata è (0, 0, ...., 1, ..., 0) dove 1 appare nella posizione di etichetta reale . funzione di perdita penalizza la distribuzione che è "lontano" da questa distribuzione.

Per il vostro caso è possibile codificare l'output come (0, 0, 1, 0, ... 1, ..,) così via dove si mettono quelli in posizioni delle etichette che sono associati con l'input e l'uso KL -divergence come funzione di perdita e ottimizzare il CNN per ridurre al minimo la perdita.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top