Discussione sull’articolo "Reti neurali: dalla teoria alla pratica"

 

Il nuovo articolo Reti neurali: dalla teoria alla pratica è stato pubblicato:

Al giorno d'oggi, ogni trader deve aver sentito parlare delle reti neurali e sa quanto sia bello usarle. La maggioranza crede che coloro che possono occuparsi delle reti neurali siano una sorta di super umani. In questo articolo cercherò di spiegarti l'architettura della rete neurale, descriverne le applicazioni e mostrare esempi di utilizzo pratico.

Le reti neurali artificiali sono una delle aree della ricerca sull'intelligenza artificiale che si basa sui tentativi di simulare il sistema nervoso umano nella sua capacità di apprendimento e adattamento che dovrebbe consentirci di costruire una simulazione molto approssimativa del funzionamento del cervello umano.

Curiosamente, le reti neurali artificiali sono costituite da neuroni artificiali.

Fig.1. Il modello del neurone artificiale

Fig.1. Il modello del neurone artificiale

La struttura di un neurone può essere rappresentata come una composizione delle seguenti unità:

  1. Input Input;
  2. Pesi Pesi;
  3. Funzione di trasferimento Funzione di trasferimentoe Ingresso netto  Ingresso netto di un neurone;
  4. Funzione di attivazione Funzione di attivazione;
  5. Output Output.

Autore: Dmitriy Parfenovich

 

in linea di massima l'articolo non è male, tutto è chiaro, limpido, per così dire sugli scaffali ..... diciamo che c'è un punto di partenza, per non cercare in altri forum, ma è necessario continuare, parte 2,3.....

è necessario un esempio di lavoro con NS multistrato, perché le immagini mostrano NS multistrato, ma l'esempio è solo per una rete con un solo neurone - o rinominare l'articolo o scrivere la parte 2.

Buona fortuna!

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования - Документация по MQL5
 

l'articolo è buono, le introduzioni sono rivelate. ma non ho capito bene - come avviene la "formazione" dei neuroni, e quanto spesso è nano.

 
vspexp:

l'articolo è buono, le introduzioni sono coperte. ma non ho capito bene come vengono "allenati" i neuroni e quanto spesso viene fatto.

Guardate qui , le prime immagini mostrano il processo di ciò che accade alle scale durante l'addestramento.
Рецепты нейросетей - Статьи по MQL4
  • www.mql5.com
Рецепты нейросетей - Статьи по MQL4: особенности автоматических торговых стратегий
 
Interessante coincidenza, un'ora prima che uscisse questo articolo ho creato un nuovo thread sulle reti neurali https://www.mql5.com/ru/forum/8158
Искусственные нейронные сети.
Искусственные нейронные сети.
  • www.mql5.com
Потенциал их практически безграничен, туда можно прописать сколько-угодно любых индикаторов с любым количеством параметров… и делать это можно оказывается на чистом MQL5.
 
papaklass: Sostengo IgorM, abbiamo bisogno di un sequel. Il secondo buon articolo. Penso che sia giunto il momento per MK di intervistarti, voglio sapere di più su di te.

Ti sosterrò a mia volta!!! e pubblicheremo uno dopo l'altro )))))).

Ho avuto a che fare con le reti neurali per molto tempo - non riuscivo a capire come funzionassero, capivo l'apparato matematico, c'erano un sacco di esempi, ma non riuscivo a capire perché fosse necessario addestrarle e quali risultati desse per molto tempo, perché in Internet c'erano solo esempi di addestramento per un compito specifico (riconoscimento di pattern, trading), e non incontravo esempi elementari (primitivi, quotidiani), finché non ho incontrato un esempio di addestramento di sin(x)...... su qualche forum.

Poi ho scritto per me uno script che insegnava la tabella di moltiplicazione NS online e stampava i risultati sullo schermo usando Comment(), e .... oh meraviglia... Avevo le lacrime agli occhi dalla felicità, ho visto come NS impara, impara davvero, non formule aride per ottenere il risultato desiderato. Sarebbe bello mostrare un esempio nell'articolo come esempio 2x2=4,1 2x3=5,9 ..... 9x9= 80,2, ma 11x2 = 10,3 perché la tabella di moltiplicazione per 11 NS non l'ha studiata, ecco howtoktotak ))))))

ZY: su di me: ho studiato, ho studiato, ho servito, ho lavorato, mi sono sposato, ho vissuto felicemente e sono morto lo stesso giorno e non sto ancora per morire - ci sono ancora affari in sospeso !!!!

 

Ottimo articolo per l'entry level, vorrei anche un follow-up.

IgorM 2012.10.06 19:10 

Poi ho scritto per me uno script che insegnava la tabella di moltiplicazione NS online e stampava i risultati sullo schermo usando Comment(), e ... oh meraviglia... Avevo le lacrime agli occhi dalla felicità, ho visto come NS impara, impara davvero, non formule aride per ottenere il risultato desiderato. Sarebbe bello mostrare un esempio nell'articolo come esempio 2x2=4,1 2x3=5,9 ..... 10x10= 10,2 , ma 11x2 = 10,3 poiché la tabella di moltiplicazione per 11 NS non l'ha studiata, wotkaktotak ))))))

Questo è un buon modo di porre la domanda.

Anche se la tabella delle moltiplicazioni ha poco a che fare con il trading, mi chiedo comunque se la rete sia stata in grado di insegnare la tabella delle moltiplicazioni.

Forse rispondendo alla domanda, perché la rete non riesce a imparare la tabella delle moltiplicazioni, si capirà come insegnare alla rete a fare trading.

 
her.human:

Buona affermazione della domanda.

1.Sebbene la tavola di moltiplicazione abbia poco a che fare con il trading, mi chiedo comunque: è stato possibile insegnare alla rete la tavola di moltiplicazione?

2.Forse rispondendo alla domanda, perché la rete non può imparare la tavola di moltiplicazione?

3.Si capirà come insegnare alla rete a fare trading.

1.sì, a NS è stata insegnata la tabella delle moltiplicazioni da 1x1 a 9x9 inclusi, il video sembra mostrare i risultati con la seconda cifra decimale.

2. la rete non ha imparato la tabella delle moltiplicazioni oltre 9x9, il che non sorprende - nessuno l'ha insegnata, qualsiasi coincidenza con i risultati corretti è casuale.

3. C'è una comprensione, ma c'era speranza per gli sviluppatori di "New Neural" - progetto Open Source di motore di rete neurale per la piattaforma MetaTrader 5, ma come si dice "e non c'è ancora niente" (Krylov). Sviluppare un progetto di NS multistrato è un compito che richiede molto lavoro - è più facile aggiungere una .dll, anche se, probabilmente, su mql5 puro ci sarà una perdita di velocità di addestramento rispetto alle implementazioni già pronte di pacchetti NS/.dll.

SZY: Potete chiedere nel topic con MT5 di desiderare un'implementazione integrata di NS multistrato, ma come accade con gli sviluppatori - rispondono di no, non è previsto, e in mezzo anno annunciano un tale aggiornamento, due volte l'ho già "ottenuto": desideravo l'overloading dell'operatore e il canvas per disegnare sul grafico :).

ZYZY: per me per gli esperimenti con NS tale importazione è sufficiente:

#import "fannmql.dll"
   void     fannmql_build(string NN_config);                   // crea una rete neurale FANN, proprietà degli strati di neuroni in NN_config
                                                               // si possono usare i delimitatori: ', . ; -' o spazio 
   void     fannmql_unbuild();                                 // elimina la rete neurale FANN
   double   fannmql_train(double &input[],double &output[]);   // addestramento della rete neurale FANN, restituisce il valore RMS
   void     fannmql_run  (double &input[],double &output[]);   // calcolare il FANN della rete neurale
   void     fannmql_savetofile  (string File_name);            // salvataggio del FANN della rete neurale in un file
   void     fannmql_loadfromfile(string File_name);            // caricamento di FANN della rete neurale da file
#import

string s = "8-10-10-2"; // NS con 8 ingressi, 2 strati nascosti di 10 neuroni in ogni strato e 2 uscite
double inp[8],out[2];
//________________________________________________
int init(){
   fannmql_build(s);
..............
ma, a quanto pare, costruire tali funzioni nelle funzioni standard di MT5 è un problema grandioso e difficile da realizzare;)))))
 
her.human:

Forse rispondendo alla domanda: "Perché la rete non può imparare la tabella delle moltiplicazioni?", sarà possibile capire come insegnare alla rete a fare trading.

La cosa più interessante è che non si può insegnare alla rete la tabella delle moltiplicazioni (in senso lato). Cioè, ovviamente, si può insegnare la moltiplicazione da 1*1 a 9*9, e poi... il quadro di Repin - "Figurati".

Ma il cervello esegue questi passaggi senza difficoltà, perché è così? - È qui che si trova il tesoro della saggezza, bisogna scavare, ma non è così semplice come può sembrare: confina con il campo dell'intelligenza artificiale, e questa è tutta un'altra storia....

 
joo:

La cosa più interessante è che alla rete non si può insegnare la tabella delle moltiplicazioni (in senso lato). Cioè, ovviamente, si può insegnare la moltiplicazione da 1*1 a 9*9, e poi... il quadro di Repin - "Figurati".

Ma il cervello esegue questi passaggi senza difficoltà, perché? - Questo è il tesoro della saggezza, dobbiamo scavare qui, ma non è così semplice come può sembrare - confina con il campo dell'intelligenza artificiale, e questa è una storia diversa....


Non sono d'accordo su figwam.

Le reti neurali non appartengono al campo dell'intelligenza artificiale?

Se c'è il desiderio di continuare questo argomento, suggerisco di andare qui "New Neural" - progetto Open Source di motore di rete neurale per la piattaforma MetaTrader 5.

Oppure via messaggio privato, credo che qui sia superfluo.

 
joo:

La cosa più interessante è che alla rete non si può insegnare la tabella delle moltiplicazioni (in senso lato). Cioè, naturalmente, si può insegnare la moltiplicazione da 1*1 a 9*9, e poi... il quadro di Repin - "Figurati".

Ma il cervello esegue questi passaggi senza difficoltà, perché? - Questo è il tesoro della saggezza, dobbiamo scavare qui, ma non è così semplice come può sembrare - confina con il campo dell'intelligenza artificiale, e questa è una storia diversa...


Yura Reshetov ha persino scritto che è possibile insegnare ai NS la tabella delle moltiplicazioni, dove 2*2 = 5, e tutte le altre variazioni saranno aritmeticamente corrette. Questa è l'essenza dell'adattamento, tra l'altro. E sul perché il NS inizierà a mentire se gli si insegna 1-9 e gli si dà da mangiare 10-20, c'è anche una risposta. Il punto è che la rete può funzionare correttamente solo e soltanto se i dati fuori campione si trovano nello stesso intervallo del set di addestramento. In parole povere, i nostri input saranno nell'intervallo [1;9]. Se poi i dati NS si trovano in un intervallo diverso, i dati di input saranno non stazionari e la non stazionarietà darà risposte errate. Provate ad addestrare la rete su campioni nell'intervallo [1;20] e poi datele altri campioni nello stesso intervallo e, meraviglia, funzionerà davvero. Potete fare dei test.

Io l'ho testata qui. Funziona benissimo fuori dal campione)

A NS è stata insegnata la tabella di moltiplicazione 1-20. L'addestramento e l'interruzione dell'addestramento sono stati effettuati su esempi selezionati a caso (1/3 e 1/3 della dimensione del campione). Convalida - il restante 1/3 della dimensione del campione, ma soprattutto dallo stesso intervallo. I risultati della convalida sono buoni come quelli dei campioni di addestramento. L'errore è compreso tra +-0,1.

Il punto è che NS impara qualsiasi funzione, come sapete, e lo fa con successo; la cosa principale è che l'intervallo dei dati fuori campione deve essere all'interno dell'intervallo di addestramento.