Rete neurale - input binario vs discreto / continuo


14

Esistono buoni motivi per preferire i valori binari (0/1) rispetto ai valori normalizzati discreti o continui , ad esempio (1; 3), come input per una rete feedforward per tutti i nodi di input (con o senza backpropagation)?

Certo, sto solo parlando di input che potrebbero essere trasformati in entrambe le forme; ad esempio, quando si dispone di una variabile che può assumere diversi valori, sia alimentarli direttamente come valore di un nodo di input, sia formare un nodo binario per ciascun valore discreto. E il presupposto è che l'intervallo di valori possibili sarebbe lo stesso per tutti i nodi di input. Vedi le foto per un esempio di entrambe le possibilità.

Durante la ricerca su questo argomento, non sono riuscito a trovare fatti concreti su questo; mi sembra che - più o meno - sarà sempre "prova ed errore" alla fine. Naturalmente, i nodi binari per ogni valore di input discreto significano più nodi di layer di input (e quindi più nodi di layer nascosti), ma produrrebbe davvero una migliore classificazione di output rispetto agli stessi valori in un nodo, con una funzione di soglia ben adattata in lo strato nascosto?

Saresti d'accordo sul fatto che si tratta solo di "provare a vedere" o hai un'altra opinione al riguardo? Possibilità uno: input diretto dei valori possibili {1; 3} Possibilità due: ottenere ogni valore di input un nodo binario

Risposte:


11

f(wx+b)fx

f(wx+b)wbk

kk


Quindi, per farla breve, si punta alla scala delle variabili: metrica, ordinale e nominale. Beh, penso sia ovvio che le scale nominali non possano essere "calcolate" o rappresentate da una funzione. Per quanto riguarda i valori reali, come te, tendo a pensare che i valori reali potrebbero essere "migliori" dei valori reali "classificati" a causa delle transizioni più fluide, ma non sono riuscito a trovare alcuna prova concreta al riguardo. Mi sembra un altro caso di "tentativi ed errori".
cirko,

4

Si ci sono. Immagina che il tuo obiettivo sia costruire un classificatore binario. Quindi modellare il problema come la stima di una distribuzione di Bernoulli in cui, dato un vettore caratteristica, il risultato appartiene a una classe o al contrario. L'output di una tale rete neurale è la probabilità condizionata. Se maggiore di 0,5 lo si associa a una classe, altrimenti all'altra.

E=y(x)t(1y(x))1t
y(x)tt{0,1}

Capisco che un input normalizzato deve essere preferito su intervalli variabili di valori di input, poiché questo è più simile alle uscite binarie che la rete dovrebbe produrre. Ma nella mia domanda, volevo fare riferimento a valori discreti normalizzati di un certo intervallo, cioè se gli input potrebbero essere all'interno di un intervallo, allora tutti i nodi dovrebbero avere lo stesso intervallo, cioè essere normalizzati. In tal caso, sarebbe comunque preferibile utilizzare nodi binari per ciascun valore discreto? (Ho modificato la domanda per soddisfare questa condizione preliminare)
cirko,

1

Ho anche affrontato lo stesso dilemma quando stavo risolvendo un problema. Non ho provato entrambe le architetture, ma la mia opinione è che se la variabile di input è discreta, la funzione di output della rete neurale avrà la caratteristica della funzione di impulso e la rete neurale è brava a modellare la funzione di impulso. In effetti, qualsiasi funzione può essere modellata con una rete neurale con precisione variabile a seconda della complessità della rete neurale. L'unica differenza è che, nella prima architettura, hai aumentato il numero di input in modo da aumentare il numero di pesi nel nodo del primo livello nascosto per modellare la funzione impulso, ma per la seconda architettura hai bisogno di più numero di nodi nel livello nascosto rispetto alla prima architettura per ottenere le stesse prestazioni.

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.