Domanda

Secondo "Introduzione alle Reti Neurali con Java Jeff Heaton", l'ingresso alla rete neurale di Kohonen devono essere i valori tra -1 e 1.

E 'possibile ingressi normalizza dove la gamma è noto in anticipo: Per esempio RGB (125, 125, 125), dove il range è conosciuto come valori compresi tra 0 e 255:
1. Dividere per 255: (125/255) = 0,5 >> (0.5,0.5,0.5)
2. Moltiplicare per due e sottrarre uno: ((0,5 * 2) -1) = 0 >> (0,0,0)

La domanda è: come si può normalizzare l'ingresso dove la gamma è sconosciuto come la nostra altezza o il peso.

Inoltre, alcuni altri documenti menzionano che l'ingresso deve essere normalizzato ai valori tra 0 e 1. Quale è il modo corretto, "-1 e 1" o "0 e 1"?

È stato utile?

Soluzione

È sempre possibile utilizzare una funzione di schiacciare per mappare un infinito intervallo ad un intervallo di finita. Per esempio. è possibile utilizzare tanh.

Si potrebbe desiderare di utilizzare tanh (x * l) con un l scelto manualmente, però, al fine di non mettere troppi oggetti nella stessa regione. Quindi, se avete una buona congettura che i valori massimi dei dati sono +/- 500, si potrebbe desiderare di utilizzare tanh (x / 1000) come una mappatura dove x è il valore del vostro oggetto Si potrebbe anche avere senso per sottrarre la tua immagino della media da x, cedendo tanh ((x - media) / max).

Altri suggerimenti

Da quello che so di Kohonen SOM, che la normalizzazione specifica non ha molta importanza.

Beh, potrebbe attraverso scelte specifiche per il valore dei parametri dell'algoritmo di apprendimento, ma la cosa più importante è che le diverse dimensioni dei vostri punti di ingresso devono essere della stessa entità.

Immaginiamo che ciascun punto di dati non è un pixel con i tre componenti RGB ma un vettore con dati statistici per un paese, ad esempio zona, la popolazione, .... E 'importante per la convergenza della parte di apprendimento che tutti questi numeri sono dello stesso ordine di grandezza.

Quindi, non importa se non si conosce l'esatto campo, devi solo sapere circa l'ampiezza caratteristica dei vostri dati.

Per peso e dimensioni, sono sicuro che se li si divide, rispettivamente, da 200 kg e 3 metri tutti i punti di dati cadranno nel] 0 1] intervallo. Si potrebbe anche usare 50kg e 1 metro e la cosa importante è che tutte le coordinate sarebbero di ordine 1.

Infine, si potrebbe prendere in considerazione un uso di alcuni strumenti di analisi lineari come POD sui dati che darebbe automaticamente un modo per normalizzare i dati e un sottospazio per l'inizializzazione della mappa.

Spero che questo aiuti.

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