Propagazione posteriore multistrato Rete neurale per classificazione


8

Qualcuno può spiegarmi come classificare un dato come MNIST con la rete MLBP-Neural se realizzo più di un output (es. 8), intendo che se uso solo un output posso facilmente classificare i dati, ma se uso più di uno, quale uscita dovrei scegliere?



Aggiungi informazioni / link di riferimento su tali dati MNIST , in modo da rendere il tuo post indipendente. Grazie.
Rubens,

Risposte:


5

Supponiamo che sia necessario classificare qualcosa in classi K, dove K> 2. In questo caso l'impostazione più frequente che utilizzo è una codifica a caldo. Avrai K colonne di output e nel set di training imposterai tutti i valori su 0, tranne quello che ha l'indice di categoria, che potrebbe avere valore 1. Pertanto, per ogni istanza del set di dati di training avrai tutti gli output con valori 0 o 1, tutte le uscite si sommano a 1 per ogni istanza.

Sembra una probabilità, che mi ricorda una tecnica usata spesso per collegare alcune uscite che sono modellate come probabilità. Questa si chiama funzione softmax, maggiori dettagli su Wikipedia . Ciò consentirà di porre alcuni vincoli ai valori di output (è fondamentalmente una generalizzazione della funzione logistica) in modo che i valori di output vengano modellati come probabilità.

Infine, con o senza softmax è possibile utilizzare l'output come funzione discriminante per selezionare la categoria corretta.

Un altro pensiero finale sarebbe quello di evitare di codificare le variabili in modo connesso. Ad esempio puoi avere la rappresentazione binaria dell'indice di categoria. Ciò indurrebbe lo studente a una connessione artificiale tra alcune uscite che sono arbitrarie. L'unica codifica a caldo ha il vantaggio che è neutro rispetto al modo in cui le etichette sono indicizzate.


2

L'algoritmo utilizzato in questo caso è chiamato classificatore uno contro tutti o classificatore multiclasse.

Nel tuo caso devi prendere una classe, ad esempio il numero 1, contrassegnarlo come positivo e combinare le altre sette classi in una classe negativa. La rete neurale produrrà la probabilità che questo caso sia la classe numero 1 rispetto al resto delle classi.

Dopodiché, devi assegnare come positiva un'altra classe, ad esempio il numero 2, assegnare tutte le altre classi come una grande classe negativa e ottenere di nuovo la probabilità prevista dalla rete.

Dopo aver ripetuto questa procedura per tutte e otto le classi, assegnare ciascun caso alla classe che aveva la massima probabilità da tutte le classi emesse dalla rete neurale.

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.