Utilizzo delle reti neurali nel trading. - pagina 4

 
StatBars >> :

Penso che dal tuo post risulti che la normalizzazione dipende più dai dati che dal compito da svolgere.

Riguardo alla seconda parte: consideri le MA incrementali e le serie incrementali?

E in generale, vuoi dire che la rete addestrata dovrebbe essere insensibile ai dati di input (ad ogni singolo input), o basta cambiare i dati di input e la rete dovrebbe ancora fare previsioni?

Sì, la dipendenza dalla distribuzione dei dati influenza la velocità e la qualità dell'apprendimento. Cioè, la normalizzazione influisce essenzialmente sulla velocità e sulla qualità, rispettivamente. Riguardo alla seconda parte, no naturalmente, non si possono infilare dati completamente diversi in una rete neurale addestrata sugli stessi dati, ma lo stesso, descrivendo la distribuzione abbastanza accuratamente. La distribuzione, il tipo di dati dovrebbe rimanere sempre lo stesso. Ma se si addestra una rete con un tipo di dati che descrivono esattamente il processo, e si ottengono risultati molto diversi usando altri dati nella nuova rete addestrata che descrivono il processo altrettanto esattamente, allora significa che probabilmente si è posta la domanda sbagliata alla rete neurale. I dati devono in primo luogo descrivere completamente il processo, e in secondo luogo si deve ridurre un errore di generalizzazione tale che sia adeguato in termini di richiesta alla rete di generalizzare qualitativamente. Tutto questo avviene letteralmente a livello intuitivo. Non serve a niente armeggiare con il tipo di dati se il processo è completamente descritto, ma vale la pena fare la domanda giusta alla rete.

 

Una parola o due sulla pre-elaborazione.

Campione di origine: l'output è correlato all'input (la correlazione più significativa). corr=0,64.

Sul grafico: Coordinata X - dati di ingresso. Y - Uscita richiesta

Rimuovere la relazione lineare. Non hai bisogno di una rete per trovare la dipendenza lineare, e inoltre peggiorerà i risultati della rete neurale.

Questo è l'aspetto dei dati decorrelati.

Si potrebbe anche vedere dal primo grafico che la densità dei punti di dati è concentrata nel centro, e rada lungo i bordi.

Quindi, i punti concentrati nel centro daranno lo stimolo principale per l'addestramento della rete, ovvero i loro valori di errore supereranno i valori di errore dei dati sui bordi. La rete troverà prima l'aspettativa di campionamento, che è proprio al centro, e poi si distribuirà intorno ad essa osservando la condizione di minimo errore.

Quindi la funzione di distribuzione di frequenza è equalizzata, livella l'importanza dell'errore e la rete ha un incentivo preciso per ottenere il minor errore nel centro della distribuzione così come ai bordi della distribuzione dei dati.

Con la funzione sigmoidale, i dati di ingresso e di uscita sono quasi uniformemente distribuiti.

Ecco come appaiono i dati trasformati. È su questi dati che la rete impara.

Quindi, la nuvola di dati è distribuita in modo uniforme. Ma vale la pena dire che ci sono alcune sfumature che non permettono di chiamare tale pre-elaborazione ottimale per la rete.

Vale anche la pena notare che tutte le conversioni sono reversibili e non introducono imprecisioni.

Tutti i metodi (in linea di principio) sono stati discussi in questo thread.

 
StatBars писал(а) >>

Funzione di distribuzione dei dati dopo la conversione con una funzione sigmoidale, i dati di ingresso e di uscita sono distribuiti quasi uniformemente.

StatBars, questa procedura è automatizzata o devi farlo manualmente - per regolare i coefficienti della funzione sigmoide?

 
Neutron писал(а) >>

StatBars, questa procedura è automatizzata o devi farlo manualmente - regolare i coefficienti della funzione sigmoide?

I coefficienti devono essere aggiustati, finora... Ma ho intenzione di automatizzare... L'idea è che se la funzione di approssimazione è selezionata correttamente, sarà un rettangolo.

Ho automatizzato l'allineamento solo con la funzione di distribuzione dell'area, ma ci sono così tanti momenti "scivolosi" che ho dovuto rinunciarvi...

 

Sì - ho la stessa cosa.

Devo chiedere a Prival come ottenere la distribuzione desiderata (rettangolare) da una distribuzione arbitraria in forma analitica.

E perché usate la sigmoide come FA e non la tangente iperbolica? I vantaggi sono evidenti...

 
Neutron писал(а) >>

E perché usi la sigmoide come FA invece di una tangente iperbolica? I vantaggi sono evidenti...

E i vantaggi potrebbero essere più dettagliati.

 
Sì, un neurone attivato da una funzione simmetrica impara due volte più velocemente. Inoltre, durante il processo di apprendimento, alcuni dei pesi assumono valori vicini allo zero, il che li spegne, cioè il numero effettivo di sinapsi "funzionanti" in un neurone con FA sigmoidale è sempre minore che in uno iperbolico. Questo non va bene, perché dovete ancora trascinare le sinapsi "morte" avanti e indietro.
 
Neutron писал(а) >>
Sì, un neurone attivato da una funzione simmetrica impara due volte più velocemente. Inoltre, nel processo di apprendimento, alcuni dei pesi assumono valori vicini allo zero, cioè il numero effettivo di sinapsi "funzionanti" del neurone con FA sigmoidale è sempre inferiore a quello dell'iperbolico. Questo non va bene, perché dovete ancora trascinare le sinapsi "morte" avanti e indietro.

Una semplice conversione permette di ottenere un valore da -1 a 1 anche nella sigmoide. Non c'è niente di complicato.

 

Sì, chi può discutere con questo?

È solo che si tratta di "mettere i pantaloni, togliere i pantaloni".

 
Neutron писал(а) >>

Sì - ho la stessa cosa.

Devo chiedere a Prival come ottenere la distribuzione desiderata (rettangolare) da una distribuzione arbitraria in forma analitica.

E perché usate la sigmoide come FA e non la tangente iperbolica? I vantaggi sono in superficie, dopo tutto...

Io uso solo la tangente iperbolica.

Motivazione: