Galateo del mercato o buone maniere in un campo minato - pagina 42
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Matcad permette di visualizzare il processo di conteggio in qualsiasi fase. Esperimento.
Posso dire una parola al riguardo? Ho i grafici solo quando tutti i calcoli sono completi.
Anch'io :-(
Quello che volevo dire è che puoi visualizzare qualsiasi informazione che ti interessa e presentarla in una forma adatta per un'analisi successiva.
Aspetta un attimo.
Forniamo un vettore di dati di lunghezza d all'ingresso del NS, dove d è il numero di ingressi di informazione della griglia (senza contare l'offset). All'USCITA della griglia, per addestrarla, alimentiamo d+1 conteggi. I pesi sono casuali in questa fase. A questo passo abbiamo ottenuto un delta per la correzione di ogni vettore. Ricordatelo (non correggete nulla). Spostatevi di una misura e ripetete la procedura. Aggiungere la correzione e i suoi quadrati separatamente. Ripetere la procedura tre volte (senza correzione dei pesi). Infine, la prima volta che correggiamo tutti i pesi, questa è la PRIMA epoca di apprendimento. Ora, ricominciate tutto da capo con gli stessi dati, ma iniziate con i pesi già trovati. Alla fine pesi corretti, questa è la SECONDA epoca di apprendimento. Fatelo 100 volte (per esempio), il che fa 100 epoche di allenamento. Questo è tutto. La rete è pronta a fare una previsione. L'intero vettore di dati con l'ultimo conteggio più recente viene alimentato e riceviamo la previsione. Dopo il conteggio reale (non previsto), riaddestrare la rete di nuovo, con la randomizzazione dei pesi.
Discussione interessante:) Neutron, a proposito, non hai ancora risposto alla mia domanda sui pesi di partenza? Hai parlato solo di come si riqualifica la rete. Ma anche senza questo, se si riqualifica la rete almeno una volta, avrà un errore e anche uno significativo. Sto parlando della mia esperienza con il backprop:). In realtà mi interessa solo questa domanda, tutto il resto della tecnica della griglia non è importante. Comitati di reti, come si guarda, ed è necessario a tutti, forse è possibile regolare i pesi inizialmente, in modo che la griglia era vicino al minimo globale all'inizio della formazione, in modo che i comitati semplicemente non erano necessari?
Allora non c'è nessun errore.
Mentre mi muovo da un'epoca all'altra, spingo in alto ogni peso con un wo come un "push-up":
Questo evita che i pesi si insinuino nell'area di saturazione e li mantiene nell'intervallo +/-5 durante l'allenamento.
Neutron, a proposito, non hai ancora risposto alla mia domanda sui pesi iniziali? Hai parlato solo di come si riqualifica la rete. Ma anche senza questo, se si allena la rete almeno una volta, avrà un errore e anche uno significativo. Sto parlando della mia esperienza con il backprop:). In realtà mi interessa solo questa domanda, tutto il resto della tecnica della griglia non è importante. Comitati di reti, come lo guardi, ed è necessario a tutti, forse si può in qualche modo modificare i pesi inizialmente, in modo che la rete sia vicino al minimo globale all'inizio dell'allenamento, in modo che i comitati non sarebbero necessari?
Randomizzo i pesi iniziali con un valore casuale distribuito su un ripiano nell'intervallo +/-1. Lo faccio per ogni conteggio. La riqualificazione della griglia ad ogni passo in media trova esattamente il minimo globale e questo è un vantaggio della riqualificazione ad ogni passo, rispetto ad una griglia allenata una volta per tutte. Potrebbe accidentalmente colpire un buco locale lì e tutte le sue previsioni saranno inadeguate. In questo caso è davvero importante cercare il modo di ottimizzare il punto di partenza delle bilance. Non ho risolto questo problema.
Per quanto riguarda l'impegno delle reti, è una cosa utile, ma richiede risorse. È possibile dimostrare che semplicemente aumentando il numero di neuroni in uno strato nascosto è in sostanza un commit, ma più dispendioso in termini di risorse rispetto alla versione classica, ma più potente a causa della non linearità integrata dei membri del commit. È qui che si dovrebbe sperimentare.
Mentre mi muovo da un'epoca all'altra, spingo in alto ogni peso con un wo come un "push-up":
Questo evita che i pesi si sparpaglino nell'area di saturazione e li mantiene nell'intervallo +/-5 durante l'apprendimento.
Ho semplicemente compresso l'intervallo quando normalizzo non da [-1;1], ma da [-0.9;0.9], l'effetto è lo stesso, nessuna saturazione. Intendo un po' diversamente, i coefficienti di ponderazione iniziali nel processo di aggiustamento dei pesi possono semplicemente non raggiungere i valori ottimali a causa della cosiddetta credulità della funzione. Sto lottando con questo, per essere onesto. E probabilmente non avete risolto nemmeno questo problema, quindi è difficile ottenere qualcosa di utile dal mercato con un backprop, anche se la base di prove è buona per la modellazione.
Ho randomizzato i pesi iniziali con un valore casuale distribuito su un intervallo di ripiani di +/-1. Lo faccio ad ogni conto alla rovescia. La griglia, riqualificata ad ogni passo, in media trova esattamente il minimo globale e questo è il vantaggio della riqualificazione ad ogni passo, rispetto alla griglia allenata una volta per tutte. Potrebbe accidentalmente colpire un buco locale lì e tutte le sue previsioni saranno inadeguate. In questo caso è davvero importante cercare il modo di ottimizzare il punto di partenza delle bilance. Non ho risolto questo problema.
Per quanto riguarda l'impegno delle reti, è una cosa utile, ma richiede risorse. È possibile dimostrare che semplicemente aumentando il numero di neuroni in uno strato nascosto è in sostanza un commit, ma più dispendioso in termini di risorse rispetto alla versione classica, ma più potente a causa della non linearità integrata dei membri del commit. Qui bisogna sperimentare.
Questa è la cosa che rovina tutto:). A proposito, come risultato delle mie osservazioni, la migliore randomizzazione dei pesi che impara rapidamente la maglia è nell'intervallo [-0.07; +0.07]. Non so perché questo sia il caso:)
Ho semplicemente compresso l'intervallo quando normalizzo non da [-1;1], ma da [-0.9;0.9], l'effetto è lo stesso, non c'è saturazione. Intendo un po' diversamente, i coefficienti di ponderazione iniziali nel processo di regolazione dei pesi possono semplicemente non raggiungere i valori ottimali a causa della cosiddetta credulità della funzione. Sto lottando con questo, per essere onesto. E probabilmente non avete risolto nemmeno questo problema, ecco perché è difficile ottenere qualcosa di valido sul mercato con il backprop, anche se la base di prova è buona per la modellazione.
Dio si prenderà cura dell'uomo giusto! La procedura di backproping non è complicata, e l'apprendimento NS non ne soffre - è un metodo efficace.
Per quanto riguarda il non raggiungere valori ottimali, questo è un puro bluff per i nostri BP. Capisco se stai prevedendo un'onda sinusoidale! - Allora sì - ci sono valori ottimali. Ma cosa sono quelli nel mercato choppiness? Ora l'optimum c'è, e nel prossimo passo (che tu stai prevedendo), è lì... e l'avete cercato "qui" con tutte le vostre forze. In breve, non c'è un problema di localizzazione precisa, e si risolve in modo soddisfacente riqualificando ad ogni passo.