"New Neural" è un progetto di motore di rete neurale Open Source per la piattaforma MetaTrader 5. - pagina 21

 
sergeev:

I sentimenti di Andrey (TheExpert) sulla natura utopica di questa idea dovrebbero essere messi da parte fino a quando l'esperto assunto, l'amministratore del progetto e il consilium finale dei partecipanti annunciano questo verdetto. Nel frattempo, l'argomento rimane sul tavolo.

E, di conseguenza, devi adattare i tuoi obiettivi per raggiungere almeno la somiglianza.

Amico, sembra che tu non mi capisca completamente. Sono un tipo pessimista e con i piedi per terra.

Sì, la libreria dovrebbe essere universale, come un costruttore Lego - puoi assemblare tutto quello che vuoi.

Quindi, nessun problema! Ma insegnate a ciascuno separatamente. Puoi farlo per funzionalità, l'addestramento cooperativo è un inferno o un mostro maldestro che passerà un'ora per imparare XOR.

Sì, la libreria dovrebbe essere facile da usare, il che richiede un esperto di template. Facile da usare, tanto che potrebbe essere usato da un non programmatore.

Teoricamente, è possibile creare un paio di modelli di EA e automatizzare la loro alimentazione di dati per la semplificazione e i non programmatori. Ma i dati dovrebbero essere preparati da soli in ogni caso.

Sì, la libreria dovrebbe avere un'interfaccia universale sia in entrata che in uscita, in modo da potervi collegare qualsiasi cosa, dai valori...

Quindi è universale! Una serie di doppioni - quanto di più universale? L'importante nella commissione è che le dimensioni coincidano quando si attracca.

 
Urain:
Stiamo parlando della stessa cosa? La funzione obiettivo è quella che calcola l'errore di uscita della rete.
La funzione obiettivo è ciò a cui miriamo. Nella norma -- minimizzare l'errore di uscita RMS rispetto al benchmark.
 
TheXpert:
....

È già universale! Un array di doppi è molto più universale? E la cosa principale in una commissione è assicurarsi che le dimensioni corrispondano quando si attracca.

Cosa vuoi dire? Per la versatilità, il GA è giusto:

L'algoritmo del motore è così semplificato per chiarezza:

Se vogliamo aggiungere una griglia MLP, chiediamo quanti pesi avrà se inseriamo 20 valori, 10 neuroni nel primo strato nascosto, 10 nel secondo e 1 in uscita?

Ci dice che 244.

Vogliamo aggiungere un'altra griglia (qualunque essa sia), quindi chiediamo di nuovo a ..... e ci dice 542.

quindi 244+542=786.

Vogliamo anche ottimizzare SL e TP e vogliamo aggiungere altri due parametri, quindi 786+2=788.

vogliamo anche ottimizzare macdi, ha due parametri, quindi 788+2=790.

Ok, ridimensioniamo l'array a 790.

e voilà, ottimizzeremo 790 parametri in GA.

e poi si possono aggiungere tipi di rete e altre cose il più possibile, attenendosi agli standard di interfaccia unificati (sviluppati in anticipo).

qualcosa del genere.

 
Urain:

Facciamo un motore a grafo, creiamo una rete universale (un paio di varianti) e poi invitiamo un esperto a interpretarla.

Possiamo renderlo ancora più semplice.

In questa situazione si passa dal particolare al generale, con un tentativo di astrazione verso modelli universali.

1. Disegnare (su carta + algoritmo verbale del modello matematico) le reti che possiamo implementare (topologia e metodi di formazione per loro).
2. Trova punti di aggancio comuni nei modelli disegnati per creare classi astratte di motori.

Abbiamo bisogno di guardare più modelli per tirare dentro gli elementi di base in questo modo.

Questa astrazione è necessariamente vista dall'angolo dei concetti del linguaggio umano ("creare", "imparare", "correggere un bug"). Come questo renderà innanzitutto il modello chiaro all'utente comune. In secondo luogo, tali funzioni-nozioni possono essere facilmente estese a nuove topologie e metodi.

 
Un altro imho. È improbabile che troviate un consulente specializzato esterno che soddisfi le vostre esigenze. Nel migliore dei casi, sarete impantanati in trattative con specialisti al vostro livello, ma che cercano di vendere le loro conoscenze, sovrastimando il loro livello a quello che volete durante le trattative. Se c'è un budget, non importa quale, è più efficiente dividerlo tra voi alla fine del progetto, in modo uniforme o non uniforme, in base a una valutazione soggettiva dei meta-quote.
 
sergeev:

Possiamo renderlo ancora più semplice.

In questa situazione, si passa dal particolare al generale, con un tentativo di astrazione verso modelli universali.

1. Disegnare (su carta + matmodello verbale dell'algoritmo) le reti che possiamo implementare (topologia e metodi di formazione).
2. Trova punti di aggancio comuni nei modelli disegnati per creare classi astratte di motori.

Abbiamo bisogno di guardare più modelli per tirare dentro gli elementi di base in questo modo.

Questa astrazione è necessariamente vista dall'angolo dei concetti del linguaggio umano ("creare", "imparare", "correggere un bug"). Come questo renderà innanzitutto il modello chiaro all'utente comune. In secondo luogo, tali funzioni e nozioni possono essere facilmente estese a nuove topologie e metodi.


Ho disegnato un neurone universale a pagina 12, ma manca qualcosa.

Vale a dire le cellule di ricezione della memoria nell'attivatore.

Ma passo sui metodi di allenamento, lascia che se ne occupino i matematici :o)

 
Mischek:
Un altro imho. È improbabile che troviate un consulente specializzato all'esterno che soddisfi le vostre esigenze. Se avete un budget, non importa di che tipo, è più efficace dividerlo tra di voi alla fine del progetto, equamente o non equamente, sulla base di una valutazione soggettiva delle metriche.

Aspetta un attimo con il budget, ho scelto personalmente la prima voce del sondaggio, e non mi sto lamentando qui per il metallo.

E per quanto riguarda un esterno, dipende da dove si guarda, almeno dovrebbe essere un matematico di formazione.

Non vicino alla matematica, ma un matematico.

 
Urain:

Aspetta un attimo con il budget, io personalmente ho scelto il primo punto del sondaggio, e non mi sto asciugando il cervello qui per il metallo.

E per quanto riguarda un outsider, dipende da dove si guarda, almeno dovrebbe essere un matematico per educazione.

Non vicino matematicheskoy laico, vale a dire il matematico.

Si cerca prima di tutto di formulare un'opinione generale o quasi sui requisiti di uno specialista
 

sergeev:

2. Trova punti di aggancio comuni nei modelli disegnati per creare classi astratte di motori.

Ho disegnato e steso un esempio di codice. Tutti i modelli semplici si adattano a queste entità.
 
TheXpert:
A proposito, Vladimir, vorresti esprimere il tuo punto di vista e le tue maglie più ampiamente?

Secondo me, le griglie si dividono in griglie di modellazione e di classificazione. I modelli cercano di prevedere il prossimo prezzo sulla base di alcuni dati di input, per esempio i prezzi passati. Tali reti-modelli non possono essere applicati al mercato, IMHO. Le reti classificatrici cercano di classificare i dati di input, cioè Buy/Sell/Hold o trend/flat e qualcos'altro. Questo è ciò che trovo interessante. La rete di classificazione più promettente secondo me è SVM con una corretta trasformazione dei dati di input. Direi che la rete in sé non è tanto importante quanto la trasformazione dei dati di input, cioè, invece di SVM possiamo usare qualcos'altro, come RBN. Negli ultimi due anni ho lavorato su reti basate sul cervello (a proposito, MLP e la maggior parte delle altre reti non hanno nulla in comune con il cervello). Il cervello ha diversi strati per la trasformazione dei dati di input (suono, immagine, ecc.) con qualche motore di classificazione come VSM. La trasformazione dei dati nel cervello è fatta, come al solito, dal filtraggio e dalla riduzione della dimensionalità. Le caratteristiche del filtro sono addestrate senza un insegnante, utilizzando l'apprendimento competitivo Hebbian o altri metodi di autoapprendimento. La classificazione dei dati filtrati è fatta con un insegnante (feedback). Scriverò più tardi altri dettagli.

MLP
MLP generalizzato
Modular netwoks
Self-organizing maps
Neural gas
Competitive learning - promettente
Hebbian - promettente
FFCPA
Radial basis networks
LSTM
Time lagged recurrent
Partially recurrent
Wavelet networks
Fully recurrent
Neuro-fuzzy
Support Vector Machines - promettente
Custom architectures - promettente

Motivazione: