Articolo: Previsione dei prezzi con reti neurali - pagina 12

 
Un'altra cosa che possiamo discutere è il numero ottimale di sinapsi nel NS. Da considerazioni generali, è chiaro che non dovrebbero essercene troppi, altrimenti il NS imparerà troppo. Ma anche loro non dovrebbero essere pochi, altrimenti la rete sarà sotto-addestrata. Nella letteratura ho incontrato diverse opinioni su questo argomento, quindi vorrei conoscere l'opinione degli stimati membri del forum.
 
Neutron:
Un'altra cosa che possiamo discutere è il numero ottimale di sinapsi nel NS. Da considerazioni generali, è chiaro che non dovrebbero essercene troppi, altrimenti il NS imparerà troppo. Ma anche loro non dovrebbero essere pochi, altrimenti la rete sarà sotto-addestrata. Nella letteratura ho incontrato diverse opinioni su questo argomento, quindi voglio conoscere l'opinione degli stimati utenti del forum.

Il numero di sinapsi influenza fortemente l'insegnabilità di una rete. Ho provato diverse volte a sviluppare un metodo di apprendimento che tenesse conto della topologia della rete, ma non ci sono riuscito.

 

Ok, ma vorrei una teoria.

Ecco il ragionamento ad alta voce. Per un singolo strato NS con numero di ingressi N, abbiamo N sinapsi i cui pesi determinano univocamente il sistema N nel caso generale di equazioni non lineari. È chiaro che per risolvere un tale sistema abbiamo bisogno di un campione di allenamento di N vettori, ciascuno composto da N elementi. In questo caso non funziona in nessun altro modo. Con due strati NS il numero di ingressi deve essere inferiore al numero totale di vettori di addestramento N per n, dove n è il numero di sinapsi nel secondo strato, quindi la lunghezza dei vettori di addestramento ha lunghezza N-n.

Per un NS a 3 strati, l'ordine di ragionamento è lo stesso.

Così:

1. Procediamo dalla profondità di immersione di cui abbiamo bisogno e determiniamo la dimensionalità dell'input NS.

2. Poi considerando l'architettura (numero di strati) di NS, contiamo il numero di sinapsi, e otteniamo la dimensione ottimale del campione di allenamento.

 

Una delle cose più importanti (secondo me) è la preparazione dei dati, per fare questo

1. Cercate di ridurre la correlazione degli input. In altre parole, gli input dovrebbero essere il più possibile indipendenti dal punto di vista statistico.

2. alla normalizzazione dei vettori di input, è necessario ottenere un aumento dell'entropia - aumentando così la quantità delle informazioni sottoposte a NS alla conservazione dello stesso volume dei dati di input.

Controllo obbligatorio della qualità dei dati, per esempio con il metodo Kolmogorov-Smirnov o/e con l'esponente di Hurst.


La selezione dell'architettura di rete può ridurre l'errore.

 

Lo sbiancamento e la normalizzazione degli input si spiegano da soli. È elementare. Ma come determinare il numero ottimale di ingressi (profondità di immersione)? È possibile farlo solo sperimentalmente? Ci sono alcune considerazioni su questo argomento. Posso dimostrare che c'è un optimum locale nel numero di ingressi. Non devono essere pochi, ma nemmeno molti. Come regola, l'optimum è 3-5 ingressi. Cosa dice la teoria a questo proposito?

 
Neutron:

Sbiancare e normalizzare gli input è semplice. È elementare. Ma come determinare il numero ottimale di ingressi (profondità di immersione)? È possibile farlo solo sperimentalmente? Ci sono alcune considerazioni su questo argomento. Posso dimostrare che c'è un optimum locale nel numero di ingressi. Non devono essere pochi, ma nemmeno troppi. Come regola, l'optimum è 3-5 ingressi. Cosa dice la teoria a questo proposito?

La teoria dice - solo per intuito, cioè sperimentalmente. La cosa principale è l'informazione.

 

Quello che dici è triste.

La dimensione del problema (globalmente), purtroppo, non permette una risposta soddisfacente alla questione dei parametri ottimali NS in un tempo ragionevole. Vogliamo includere l'intelletto e far nascere dei criteri?


In generale, il lavoro della rete è affascinante! Solo per un esperimento ho lanciato una piccola rete (a uno strato) con quattro ingressi e nessuna non linearità in uscita.

Metto dei tick al suo ingresso e lo riaddestro ad ogni tick e faccio delle previsioni con un tick di anticipo. Dannazione, sta facendo delle previsioni! Nell'immagine, il rosso è il ticker, il blu è la previsione.

Certo, capisco che la serie selezionata per la previsione è semplice come due dita sul marciapiede, ma la rete è elementare.

 

Lavoro alla NeuroSolutions, e c'è un'opzione per dimensionare la rete e la profondità di immersione

Meglio su ICQ (vedi profilo)

 
Ho trovato più volte l'evidenza che se non capisco a fondo come e perché qualcosa funziona, allora ottenere un risultato positivo è come trovare un ago in un pagliaio - puoi trovarlo, ma non il fatto che accadrà. Perciò preferisco costruirlo io stesso e da zero, il risultato è di solito migliore.
 

Dobrovo vam vremia sutok i izvinite za translit.


Ja nacinajuscij treider, no s bolsim bagazom programirovanija. U menia vopros vam, otnositelno neironnix setej.

Procitav ves topic forum, mne bolee menee jasno kemu vse klonitsia ispolzuja neironnije seti, i potomu voprosi, dumaju, bolee konkretnije.


Dannije

1. ci sono segnali kucia con odinakovim cislom parametrov na konkretnij slucaj. - eto kak bi vxod neiroseti

2. c'è un rezultat - è serii xoroso/ploxo


Itak - è possibile, ispolzuja neiroset poluchit otvet neiroseti v buduscem po etoj modeli - novije dannije - otvet - xoroso o ploxo? Kakije trudnosti obucenija NN vozmozni v etoj scheme?

Udovovletvoriaj menia rezultat b b b virozenije sili v nabore signalov s raznimi parametrovi (slaboje ili silnoje) v konkretnom sluchai.