Una libreria rapida e gratuita per MT4, per la gioia dei neuralnetworkers - pagina 13

 
Figar0 >> :

Il risultato è solo un sano, è usato, ma non posso dire che questo sia il merito di ZZ).

Rilasciato non c'è commettere, e solo pochi (kol'ton set) reti selezionati da errore minimo, ma che Statistisu dovrebbe essere alimentato con dati non preparati è un'illusione. Certamente nella ricerca di decisioni è possibile provare diverse cose, ma scaricare tutto in una griglia e lasciarlo bollire non passa, chiunque qui ve lo dirà.

E in quale direzione vale la pena lavorare, mi dica per favore, se i risultati del suo lavoro non sono classificati dal pubblico?

 
Kharin >> :

Siete sicuri che la biblioteca non sia "storta"?

La situazione è questa: il messaggio di errore appare regolarmente e che il terminale sarà chiuso.

Leggi il thread. È scritto in russo:

static bool Parallel = true;

Если параллельный режим не поддерживается процессором, то это может привести к тому, что терминал выгрузится с сообщением об ошибке
 
lasso >> :

Fanculo l'assessore. Non c'è bisogno di riscrivere e di occuparsene.

C'è il sospetto di un funzionamento scorretto della biblioteca stessa, ed è necessario scoprire se questo è il caso o no. Altrimenti non ha senso andare avanti.

Ho modellato la vostra situazione. Infatti, quando si usa ann_train, le risposte sono le stesse anche dopo aver addestrato la rete con ~10.000 segnali. Le risposte della rete quando si usa ann_train_fast sono a volte diverse e a volte no.

Penso che ci sia davvero un problema, almeno con la randomizzazione dei pesi.

 

Provate a commentare f2M_randomize_weights. Se le risposte delle reti sono diverse, allora c'è un errore in FANN2MQL. Se sono ancora gli stessi, c'è un errore nel FANN.

L'impostazione predefinita è la randomizzazione (-0,1 ... 0,1)


UPD: L'ho controllato io stesso. C'è una randomizzazione in entrambi i casi. Solo una stranezza - da 2 a 5 reti in fila rispondono allo stesso modo, poi un gruppo di altre reti identiche. Quindi ci sono 5 risposte diverse per 16 reti. Se l'errore non viene corretto, un comitato di N membri ha bisogno di 3*N reti, il resto è zavorra.

 
Henry_White >> :

Leggi il thread. È scritto in russo:

Chi ti ha detto che uso la modalità parallela?!

Perché devi "lanciare la cacca" in modo morale? Se non potete dire cosa c'è scritto nello stack e qual è esattamente l'errore,

non dire nulla. Sì, ora cominceremo a parlare di telepati e così via, avverto questo grido: è stato dato un messaggio di errore,

Il suo testo completo, le funzioni utilizzate sono le stesse di quelle di Yury Reshetov, la modalità parallela non è utilizzata.

Quale potrebbe essere la ragione di questo messaggio?

 
Kharin >> :

E chi ti ha detto che stavo usando la modalità parallela?!

Chiedo scusa ))

 
Kharin писал(а) >>

Ecco perché penso che la tua ultima frase sia una sciocchezza.

Lo pensi perché l'hai presa sul personale, mentre io stavo solo cercando di dire che la libreria non ha un potente gestore di errori, e non perdona la gestione scorretta di oggetti e puntatori ad essi. Allora, diventiamo amici! )))

Avete provato l'Expert Advisor di Reshetov? Rimbalza anche il terminale?

 
Dali писал(а) >>

UPD: L'ho controllato io stesso. C'è una randomizzazione in entrambi i casi. Solo che c'è una stranezza - da 2 a 5 reti di fila rispondono allo stesso modo, poi un gruppo di altre identiche. Quindi ci sono 5 risposte diverse per 16 reti. Se l'errore non viene corretto, il comitato di N membri ha bisogno di 3*N reti, il resto è zavorra.

Notato. La randomizzazione è da -1 a 1, e il profilo di rete ha pesi da -10.0e--003 a 10.0e-003

Esempio: (12, -7.35577636217311400000e-003) (13, 7.63970005423449810000e-002)

È corretto?

.....

Sì, è successa la stessa cosa, che i valori di uscita delle prime due o quattro reti sono diversi da quelli successivi.

Ho provato a moltiplicare gli ingressi per diversi coefficienti. Questo non risolve il problema.

 
lasso >> :

Lo pensi perché l'hai presa sul personale, e io stavo solo cercando di dire che la libreria non ha un potente gestore di errori, e non perdona la gestione scorretta degli oggetti e dei puntatori ad essi. Allora, diventiamo amici! )))

Avete provato l'Expert Advisor di Reshetov? Rimbalza anche il terminale?

Mi piace di più l'amicizia)))

L'Expert Advisor di Reshetov ha messo fuori uso il terminale prima di aver abolito il calcolo parallelo.

Ora provo il mio Expert Advisor in tutte le direzioni e controllo il successo delle operazioni con Print.

Ho notato la seguente particolarità: la creazione di una griglia può non avere successo((

a = f2M_create_standard (nn_layer,nn_input,nn_hidden1,nn_hidden2,nn_output);

questa linea molto spesso restituisce -1.

Per essere più precisi, un certo numero di volte restituisce non -1, e poi solo -1.

L'unico modo per liberarsene è riavviare il computer. Ho pensato che la ragione fosse che la maglia precedente non sarebbe stata cancellata e non c'è nessun posto dove la nuova possa

e non c'è nessun posto dove il nuovo possa andare, così ho fatto questo pezzo di codice:

for (int i=0;i<1024;i++)
{ann_destroy (ann[i]);}
int a=-1;
while(a<0)
{
a = f2M_create_standard (nn_layer,nn_input,nn_hidden1,nn_hidden2,nn_output);
Print(a);
}


Bene, ora di sicuro le prime 1024 reti dovrebbero essere cancellate! (Potrei sbagliarmi).

Ma di nuovo, scrive -1 nel registro. Prima di riavviare...

 

Beh, penso che aggiungerò anche le stranezze di FANN...

Come esperimento, ho deciso di allenare bruteforce il comitato di 46 reti di dimensione 30/N/N/1 (cioè su ogni barra: ~300k). Un NS per canale dati. Un modello temporale è alimentato all'ingresso. Ho pasticciato con la dimensionalità, ecco perché ho specificato N/N (ne ho provati diversi). Ho anche fatto un po' con gli strati.
Attivatore - FANN_SIGMOID_SYMMETRIC_STEPWISE. Ne ho provati altri, ma la rete non converge così rapidamente come con questo.
Insegno solo 1 o -1. Imparare ad ogni iterazione.
Il numero di iterazioni positive e negative di apprendimento sono quasi uguali. Per essere esatti, è 132522/-112221.
I dati sono normalizzati in un intervallo di 1:-1.
Quasi tutte le maglie convergono ad un RMS entro 0,09 entro la fine dell'allenamento. Questo è molto naturalmente, ma questo non è il punto principale.

Ma ecco la cosa strana, nella sezione del test, tutta la commissione ha dato valori vicini al -1. Imho, questo è un comportamento malsano per NS. Forse c'è anche un errore algoritmico nella libreria...

Un'altra osservazione... Con l'addestramento normale (solo le sezioni di segnale), la commissione tende ancora a scaricare a valori negativi, anche se non così ovvio come in bruteforce.

Qualcuno ha osservato fenomeni simili con se stesso? Forse hai qualche idea?


Esempio di dati di input visualizzati (sotto):