Una libreria rapida e gratuita per MT4, per la gioia dei neuralnetworkers - 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
Aggiungo. O nel caso di un incidente terminale. Ma una soluzione sembra essere stata trovata.
La domanda è diversa. Vladislav sembra che tu legga il codice C++ senza "intermediari".
Potresti commentare il problema delle risposte identiche del comitato di griglia e la corretta inizializzazione dei valori dei pesi? (dettagliato qui e altri registri, e qui una domanda sui pesi)
Ha guardato i codici. La randomizzazione è lì. Cosa non : poiché il C/C++ standard ha un generatore di numeri quasi casuali, si raccomanda di reinizializzare il kernel (seed - srand(int ) - spostare il punto di riferimento prima di ogni chiamata a rand())
Sì. Gli input sono diversi per ogni griglia, anche se questo non è cruciale. Puoi prendere un segnale standard, per esempio lo stesso RSI e una griglia, e ottenere comunque valori negativi a qualsiasi ingresso sulla forza bruta.
Inizializzazione iniziale delle scale -1, 1.
A proposito del profilo... Intendi il file risultante della rete addestrata?
No. Stiamo parlando di cose diverse. Ti ho chiesto delle uscite!? Per favore, guardate qui. Cioè abbiamo un comitato di 16 reti, le inizializziamo con pesi casuali, mettiamo un singolo &input_vector[] ad ogni ingresso e come risultato le uscite sono le stesse! (al link tutti i log sono disposti).
Ecco la domanda!!!
........
Sì. Il file risultante della rete addestrata si mostra qui, o si manda un'email a .... Interessato ai valori dei pesi. Sarebbe anche bene avere un profilo della rete subito dopo l'inizializzazione, senza allenamento. >> OK?
No. Stiamo parlando di cose diverse. Ti ho chiesto delle uscite!? Per favore, scavate qui. Cioè abbiamo un comitato di 16 reti, le inizializziamo con pesi casuali, mettiamo un singolo &input_vector[] ad ogni ingresso, come risultato le uscite sono uguali!!! (al link tutti i log sono disposti).
Ecco la domanda!!!
........
Sì. Il file risultante della rete addestrata si mostra qui, o si manda un'email a .... Interessato ai valori dei pesi. Sarebbe anche bene avere un profilo della rete subito dopo l'inizializzazione, senza allenamento. Ok?
Parliamo davvero di cose diverse )) Capisco il suo problema. E l'ho controllato. E ha confermato che sì, tale effetto è presente.
Nel mio ultimo post ho scritto "Un'altra stranezza", il che significa che non ha niente a che vedere con il problema della randomizzazione dei pesi iniziali e l'identità del funzionamento delle maglie del comitato con un unico vettore di input.
Sto dicendo che con l'apprendimento ridondante (sebbene l'effetto sia presente anche con l'apprendimento normale), con, secondo MSE, convergenza positiva, la rete non "trova" un minimo assoluto, e nemmeno uno locale, ma banalmente rotola verso il limite del range, il che indica un problema nell'algoritmo di apprendimento...
A proposito, ho controllato l'inizializzazione dei pesi iniziali (registrati subito dopo la creazione). Tutto funziona. La randomizzazione è lì.
Ma ecco una strana voce che ho trovato nel profilo:
layer_sizes=31 31 17 2
E questo a:
ann = f2M_create_standard (4, AnnInputs, AnnInputs, AnnInputs / 2 + 1, 1); con AnnInputs=30
Gli strati nascosti sono per qualche motivo specificati uno in più di quelli dichiarati. Ma quello che mi confonde ancora di più è la dimensione dello strato di uscita "2" quando è dichiarato "1" !!!
A proposito, ho controllato l'inizializzazione dei pesi iniziali (registrati subito dopo la creazione). Tutto funziona. La randomizzazione è lì.
Ma ecco una strana voce che ho trovato nel profilo:
layer_sizes=31 31 17 2
E questo a:
ann = f2M_create_standard (4, AnnInputs, AnnInputs, AnnInputs / 2 + 1, 1); quando AnnInputs=30
Per qualche ragione c'è uno strato nascosto in più di quello dichiarato. Ma quello che mi confonde ancora di più è la dimensione dello strato di uscita "2" quando è dichiarato "1" !!!
Tutto è corretto lì. Ci sono 4 strati in totale: strato di ingresso, 2 strati nascosti, strato di uscita. Ogni strato ha bias = 1, non partecipa alla dimensione "utente". Questo è preso dalla documentazione del FANN.
Buona fortuna.
A proposito, ho controllato l'inizializzazione dei pesi iniziali (registrati subito dopo la creazione). Tutto funziona. C'è una randomizzazione.
Sì, c'è una randomizzazione dei pesi. Ma ancora ripeto:
Notato. La randomizzazione è da -1 a 1, e nel profilo di rete, i pesi sono da -10.0e--003 a 10.0e-003
Esempio: (12, -7.35577636217311400000e-003) (13, 7.639700053449810000e-002)
È corretto?
Ecco perché ho chiesto di mostrare i vostri profili di rete ....
Sì, la randomizzazione delle scale è lì. Ma lo dirò di nuovo:
Notato. La randomizzazione è da -1 a 1, e nel profilo della rete i pesi sono da -10.0e--003 a 10.0e-003
Esempio: (12, -7.35577636217311400000e-003) (13, 7.639700053449810000e-002)
È corretto?
Ecco perché ti ho chiesto di mostrare i tuoi profili di rete ....
Controllato - i miei valori sono diversi e sparsi quasi uniformemente. Ecco una delle inizializzazioni:
connections (connected_to_neuron, weight)=(0, -9.946899414062500000000e-001) (1, -6.88415527343750000e-001) (2, 6.51367187500000000e-001) (3, -8.2067871093750000e-001) (4, 9.83703613281250000e-001) (5, -6.84936523437500000000e-001) (6, 3.6010742187500000000e-001) (7, 2.90527343750000e-001) (8, 7.546386718750000e-001) (9, -7.60314941406250000e-001) (10, -7.78137207031250000e-001) (11, 7554321289062500000000e-001) (12, -6.61560058593750000e-001) (13, 1.657714843750000e-001) (14, 5.710449218750000e-001) (15, -1.54785156250000e-001) (16, 9.851074218750000e-002) (17, -5.269165039062500000000e-001) (18, 8.58947753906250000e-001) (19, -5.6652832031250000e-001) (20, 7.3144531250000e-001) (21, -8.80310058593750000e-001) (22, 6.823730468750000e-002)
................................................................................................................................................................................................................................
(42, -6.953735351562500000000e-001) (43, -7.0153808593750000e-001) (44, -7.38952636718750000e-001) (45, -3.44238281250000e-002) (46, -1.994018554687500000000e-001) (47, 2.73132324218750000e-001) (48, 4.53186035156250000e-001) (49, -4.709472656250000e-001) (50, -7.741699218750000e-001) (51, -9.54711914062500000000e-001) (52, 8.09509277343750000e-001) (53, 9.92370605468750000e-001) (54, -4.13391113281250000e-001) (55, 6.672973632812500000000e-001) (56, 9.59289550781250000e-001) (57, 1.0925292968750000e-001) (58, -3.02551269531250000e-001) (59, -5.29785156250000e-001) (60, 5.857543945312500000000e-001) (61, 7.999877929968750000e-001) (62, -1.11999511718750000e-001) (63, -8.0749511718750000e-001) (64, -7.08862304687500000000e-001) (65, 8.05236816406250000e-001) (66, 2.9260253906250000e-001) (67, 3.61633300781250000e-001) (68, -2.99011230468750000e-001) (69, 6.248168945312500000000e-001) (70, -7.15759277343750000e-001) (71, -7.5720214843750000e-001) (72, -1.31774902343750000e-001) (73, 5.53894042968750000e-001) (74, -3.85009765625000000000000e-001) (75, -3.3361816406250000e-001) (76, -9.587402343750000e-001) (77, -3.70544433593750000e-001) (78, 8.2690429468750000e-001)
SZZ La verità assembla la biblioteca stessa. Un po' diverso da f2M. Anche se l'ideologia dell'autore di f2M mi è piaciuta e ha portato a una visione simile. Ho appena aggiunto la reinizializzazione del generatore oggi - non so quanto influisca.
Controllato - i miei valori sono diversi e sparsi quasi uniformemente. Ecco una delle inizializzazioni:
I tuoi pesi sono più che corretti, ma quali sono i valori delle uscite della rete quando il vettore di input è lo stesso?
I tuoi pesi sono più che corretti, ma quali sono le uscite della rete per lo stesso vettore di input?
Non ho ancora testato tutto completamente - mentre il tester di ottimizzazione è in funzione. Non voglio interromperlo.
Posso allegare dll, mqh e EA - ci sono alcune differenze da quelle originali, forse sarà più veloce farlo funzionare.