Galateo del mercato o buone maniere in un campo minato - pagina 15
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
Potete cercare voi stessi le formule nella letteratura, che è abbondante su Internet.
Non siamo troppo precipitosi. E non cercare di complicarti la vita con ogni sorta di espedienti, come "l'apprendimento non lineare", ecc. Bellezza e affidabilità in semplicità e armonia!
Salva e abbi pietà...
Prendiamola con calma. E non cercate di complicarvi la vita con ogni sorta di espedienti come "l'apprendimento non lineare" e simili. Bellezza e affidabilità in semplicità e armonia!
Ы? È un classico. Comunque, vi lascio a questo.
Avete un vettore di segnali d'ingresso (che sia unidimensionale) con lunghezza di n campioni, e lasciate che n+1 campioni siano un test per la qualità dell'allenamento della rete. Gli dai questo vettore (n campioni), equiparando tutti i pesi a valori casuali nell'intervallo +/-1 con distribuzione di densità di probabilità uniforme, e vedi cosa esce dalla griglia. Supponiamo di impostare +5,1, e di controllare i conteggi n+1 (il valore a cui dovrebbe aspirare la griglia addestrata sul vettore di addestramento) +1,1. Poi si prende la differenza tra il valore ottenuto e il desiderato +4 e si aggiunge questo valore, mantenendo il suo segno ad ogni peso del neurone di uscita (se è senza FA), oppure si trova la derivata di FA da questo valore e la si aggiunge ai pesi del neurone di ingresso (se ha FA). E così via.
Se digerite questo pezzo, vi dirò come spingere ulteriormente l'errore ai pesi di ingresso del primo strato (di ingresso).
1. Da quanto ho capito, la griglia dovrebbe avere due modalità di funzionamento: 1 - apprendimento, 2 - riconoscimento e queste modalità non sono compatibili, cioè la griglia è in una delle due in qualsiasi momento.
2. Un vettore di segnali di ingresso di lunghezza n, è, per esempio, un array V[n,3] (per una griglia con tre ingressi) di valori RSI su n barre - giusto? Allora il conteggio n+1 è lo stesso RSI su n+1 barre. In questo caso addestro la griglia per prevedere il comportamento futuro dell'RSI, sulla base del suo comportamento precedente.
Se è così, i pesi sono tutti chiari, fino al punto in cui devo prendere la derivata della funzione FA non liscia (voglio dire, non so ancora come farlo... Forse basta prendere il coefficiente angolare tra due punti FA(RSI(i)) adiacenti. ? Beh, ok, è un problema tecnico - sarà risolto).
1. Da quanto ho capito, la griglia deve avere due modi di funzionamento: 1 - apprendimento, 2 - riconoscimento e questi modi non sono compatibili, cioè la griglia è in uno dei due in qualsiasi momento.
2. Un vettore di segnali di ingresso di lunghezza n, è, per esempio, un array V[n,3] (per una griglia con tre ingressi) di valori RSI su n barre - giusto? Allora il conteggio n+1 è lo stesso RSI su n+1 barre. In questo caso addestro la griglia per prevedere il comportamento futuro dell'RSI, sulla base del suo comportamento precedente.
Se è così, i pesi sono tutti chiari, fino al punto in cui devo prendere la derivata della funzione FA non liscia (voglio dire, non so ancora come farlo... Forse basta prendere il coefficiente angolare tra due punti FA(RSI(i)) adiacenti. ? Beh, ok, è un problema tecnico - sarà risolto).
È spiegato molto bene in F.Wasserman.Neurocomputing - Theory and Practice
Molto ben spiegato in F. Wasserman, Neurocomputing - Theory and Practice
Sì, grazie, ne ho trovato uno.
1. Da quanto ho capito, la griglia deve avere due modi di funzionamento: 1 - apprendimento, 2 - riconoscimento e questi modi non sono compatibili, cioè la griglia è in uno dei due in qualsiasi momento.
2. Un vettore di segnali di ingresso di lunghezza n, è, per esempio, un array V[n,3] (per una griglia con tre ingressi) di valori RSI su n barre - giusto? Allora il conteggio n+1 è lo stesso RSI su n+1 barre. In questo caso addestro la griglia per prevedere il comportamento futuro dell'RSI, sulla base del suo comportamento precedente.
Se è così, i pesi sono tutti chiari, fino al punto in cui devo prendere la derivata della funzione FA non liscia (voglio dire, non so ancora come farlo... Forse basta prendere il coefficiente angolare tra due punti FA(RSI(i)) adiacenti. ? Bene, ok questo è un problema tecnico - sarà risolto).
1. Con l'arrivo di un nuovo dato, la griglia viene addestrata sul nuovo vettore di addestramento e subito dopo l'addestramento produce una previsione 1 passo avanti, e così via all'infinito. Cioè è una questione di formazione supplementare di NS ad ogni passo.
2. La rete con tre ingressi legge tre ultime letture del vettore di lunghezza n+1+3, e viene addestrata su di esso tramite spostamento sequenziale di un passo di tutte le n volte.
Non c'è nessun problema con il derivato. Se usiamo come FA la tangente iperbolica FA=th(x), allora non abbiamo problemi a trovare da essa la derivata dFA=1-th(x)^2 e il peso di correzione all'ingresso di questo neurone sarà: dw=delta*(1-th(s)^2), dove delta è l'errore tra l'uscita della griglia e il valore reale del campione, s è l'uscita della griglia.
1. Con l'arrivo di un nuovo dato, la griglia viene addestrata sul nuovo vettore di addestramento e subito dopo l'addestramento produce una previsione 1 passo avanti, e così via all'infinito. Cioè parliamo di una formazione supplementare di NS ad ogni passo.
2. La rete con tre ingressi legge tre ultime letture del vettore di lunghezza n+1+3, e viene addestrata su di esso tramite spostamento sequenziale di un passo di tutte le n volte.
Non c'è nessun problema con il derivato. Se usiamo come FA la tangente iperbolica FA=th(x), allora non abbiamo problemi a trovare la derivata da essa dFA=1-th(x)^2 e il peso di correzione sull'ingresso di questo neurone sarà: dw=delta*(1-th(s)^2), dove delta è l'errore tra l'uscita della griglia e il valore reale del campione, s è l'uscita della griglia.
Questo è tutto! Quindi non c'è bisogno di riqualificarla. Oh, fantastico!
2. Una griglia con tre ingressi, legge gli ultimi tre campioni di un vettore di lunghezza n+1+3, e viene addestrata su di esso spostando sequenzialmente di un passo tutte le n volte.
Devo essermi espresso male qui. Non una griglia con tre ingressi, ma un neurone con tre sinapsi, ognuna delle quali riceve un segnale di ingresso:
1synaps - th(RSI(i))
2synaps - th(RSI(i+dt))
3synaps - th(RSI(i+td*2))
1. inizializziamo i pesi delle sinapsi con valori casuali (-/+1), il che ha senso - ce ne sono solo tre.
2. Poi abbiamo bisogno di alimentare ogni ingresso con n campioni del segnale di ingresso, cioè una sequenza di segnali di ingresso su n barre precedenti.
3. Poi il neurone di uscita sull'ennesima barra e lo confronta con il valore n+1 del segnale d'ingresso, la differenza (errore) con il suo segno dovrebbe essere aggiunto ad ogni peso se l'uscita del neurone senza FA.
Se l'uscita è da FA, aggiungiamo l'errore moltiplicato per il prudente da FA (alla n-esima barra) ai pesi
4. Spostare una barra in avanti (n+1° diventa n°) e ripetere i passi da 2 a 4.
Domande:
1. n = k*w*w/d ?
2. Per calcolare il valore dell'errore, si sottrae sempre il conteggio del test dal valore di uscita della griglia?
Sì!
Poi passiamo alle epoche di apprendimento. Ci saranno da 10 a 1000, a seconda degli obiettivi e dei mezzi, e toccheremo più in dettaglio come formare un vettore di correzione dei pesi (è infatti commutativo all'interno di un'epoca) e ha una lunghezza pari al numero di sinapsi w su un campione di lunghezza n-conta.
In breve, non preoccupatevi ancora.
Sì!
Poi passiamo alle epoche di apprendimento. Ci saranno da 10 a 1000, a seconda degli obiettivi e dei mezzi, e toccheremo più in dettaglio come formare un vettore di correzione dei pesi (è infatti commutativo all'interno di un'epoca) e ha una lunghezza pari al numero di sinapsi w su un campione di lunghezza n-conta.
In breve, non eccitatevi ancora troppo.
Neutron, mi prendo un breve time-out. Devo ripensare tutto ancora una volta e metterlo in codice almeno per un neurone. Comunque, un giorno o due e poi continueremo.
Vi ringrazio molto!