Proprietà per la costruzione di un Perceptron Neural Network multistrato utilizzando Keras?

datascience.stackexchange https://datascience.stackexchange.com/questions/9502

  •  16-10-2019
  •  | 
  •  

Domanda

Sto cercando di costruire e formare un multistrato percettrone rete neurale che correttamente predice ciò che il presidente ha vinto in quello della contea per la prima volta. Ho le seguenti informazioni per la formazione dei dati.

La popolazione totale Età mediana% BachelorsDeg o più alto tasso di disoccupazione reddito pro-capite totali famiglie Dimensione media delle famiglie% Proprietario occupato abitazioni% degli affittuari occupato abitazioni% alloggi sfitti valore mediano casa La crescita della popolazione della stretta della Camera di crescita pro capite la crescita del reddito Vincitore

Questo è 14 colonne dei dati di allenamento e la colonna 15 è ciò che l'uscita dovrebbe essere.

Sto cercando di utilizzare Keras per costruire una Perceptron a più strati rete neurale, ma ho bisogno di aiuto comprendere alcune proprietà ed i pro di contro di scegliere diverse opzioni per queste proprietà.

  1. attivazione della funzione

So che il mio primo passo è quello di trovare una funzione di attivazione. Ho sempre studiato le reti neurali utilizzate funzioni di attivazione sigma. una funzione di attivazione del sigma è il migliore? Come fai a sapere quale usare? Keras dà inoltre la possibilità di utilizzare un softmax, SoftPlus, relu, tanh, lineare o funzione di attivazione hard_sigmoid. Sto bene con l'utilizzo di qualsiasi altra cosa, ma voglio solo essere in grado di capire perché e i pro ei contro.

  1. INITIALIZAIONS PROBABILITÀ

Lo so inizializzazioni definiscono la distribuzione di probabilità utilizzata per impostare i pesi casuali iniziali di strati Keras. Le opzioni Keras dà sono uniformi lecun_uniform, normale, l'identità, ortogonale, pari a zero, glorot_normal, glorot_uniform, he_normal e he_uniform. Come fa mia selezione qui impatto mio risultato finale o modello? Non dovrebbe non importa perché siamo "formazione" qualunque modello casuale iniziamo con e venire con una ponderazione più ottimale degli strati comunque?

È stato utile?

Soluzione

1) L'attivazione è una scelta architettura, che si riduce a una scelta iperparametro. Si può fare un argomento teorico per l'utilizzo di qualsiasi funzione, ma il modo migliore per determinare questo è quello di provare diversi e valutare su un set di validazione. E 'anche importante ricordare che si può mescolare e abbinare attivazioni di vari strati.

2) In teoria sì, molti inizializzazioni casuali sarebbe la stessa se i vostri dati sono stati estremamente ben educati e la rete ideale. Ma in pratica inizializzazioni mirano a garantire gradiente inizia ragionevole e il segnale può essere backpropagated correttamente. Probabilmente in questo caso una di queste inizializzazioni avrebbe eseguito in modo simile, ma l'approccio migliore è quello di provare a giocare, il passaggio se si ottengono risultati indesiderati.

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