Les réseaux neuronaux, comment les maîtriser, par où commencer ? - page 16

 
Neutron >> :

Vous pouvez, bien sûr !

Mais il apprendra votre règle en 10 leçons, et ensuite quoi ?

Cet algorithme est pris comme exemple simple pour la création d'un réseau neuronal, car il faut apprendre à partir d'un simple un.....

Si l'amplitude d'une bougie est supérieure à l'amplitude moyenne des cinq dernières bougies par un certain coefficient (si la bougie monte - acheter, si la bougie descend - vendre).


Sur la base de cet algorithme , les paramètres d'entrée seront les crackficents de la fourchette moyenne des cinq dernières barres?


 

Vous donnez des définitions des termes que vous utilisez. Qu'est-ce que la "gamme de bougies" ? Un réseau doit apprendre à partir d'exemples. Qu'est-ce qui compte comme exemples positifs et négatifs pour votre réseau (de votre point de vue) ? Qu'est-ce qu'un "ratio de dépassement" ?

 
Neutron >> :

Vous donnez des définitions des termes que vous utilisez. Qu'est-ce que la "gamme de bougies" ? Un réseau doit apprendre à partir d'exemples. Qu'est-ce qui compte comme exemples positifs et négatifs pour votre réseau (de votre point de vue) ? Qu'est-ce que le "facteur de dépassement" ?

plage de la dernière barre formée = High[1]-Low[1] ;

double cdpb // fourchette moyenne des cinq dernières barres

for(i=1;i<5;i++){

сдппб=сдппб+(High[1]-Low[1])/5;

}

condition d'achat

if(fourchette de la dernière barre complétée> fourchette moyenne des cinq dernières barres* coefficient && Close[1]>Open[1]){

acheter par marché

}

Pouvez-vous me dire s'il est facile de définir un exemple positif négatif pour le net, peut-être le résultat d'une transaction ?

 

диапазон последнего сформировавшегося бара>средний диапазон пяти последних баров*коэффицент

Cette condition déterminera l'algorithme de formation du réseau et son architecture. Nous considérerons comme un résultat positif pour le NS une coïncidence du mouvement de kotir prédit qui commence par l'ouverture d'une position et se termine par sa fermeture lorsque le signal de retournement de position apparaît. Négatif - respectivement - pas de correspondance. Le résultat de la trine du réseau sera de trouver la valeur optimale (de son point de vue) du coefficient. Le réseau aura 7 entrées. La première entrée sera un décalage constant (ce qui augmente la puissance de calcul du réseau et accélère l'apprentissage), la deuxième entrée aura la gamme de 1 barre, la troisième entrée aura la gamme de la deuxième barre et ainsi de suite jusqu'à la cinquième barre, et la septième (la dernière entrée de NS) aura la gamme de zéro barre (courant), qu'elle comparera avec elle.

Le réseau que nous choisissons est le plus simple - le perseptron linéaire. Pendant le processus d'apprentissage, il attribuera des coefficients optimaux à chaque barre (pas un pour les cinq barres, comme dans votre cas, mais un individu (w0, w1...w6) pour chaque barre) et si c'est possible en principe, l'ordinateur national prédira l'achat ou la vente presque sans erreurs !

 
Neutron >> :

Cette condition déterminera l'algorithme de formation du réseau et son architecture. Nous considérerons comme un résultat positif pour le NS une coïncidence du mouvement de kotir prédit qui commence par l'ouverture d'une position et se termine par sa fermeture lorsque le signal de retournement de position apparaît. Négatif - respectivement - pas de correspondance. Le résultat du trine réseau sera de trouver la valeur optimale (de son point de vue) du coefficient. Le réseau aura 7 entrées. La première entrée sera un décalage constant (ce qui augmente la puissance de calcul du réseau et accélère l'apprentissage), la deuxième entrée aura la gamme de 1 barre, la troisième entrée aura la gamme de la deuxième barre et ainsi de suite jusqu'à la cinquième barre, et la septième (la dernière entrée de NS) aura la gamme de zéro barre (courant), qu'elle comparera avec elle.

Le réseau que nous choisissons est le plus simple - le perseptron linéaire. Dans le processus d'apprentissage, il assignera les meilleurs ratios à chaque barre (pas un pour les cinq, comme dans votre cas, mais un individu (w0, w1...w6) pour chaque barre) et si c'est possible en principe, le NS prédira l'achat ou la vente presque sans erreurs !

Merci beaucoup Neutron.


Si j'ai bien compris, les entrées sont marquées comme Wn, si oui, ma prochaine tâche est de décrire chaque entrée par un code, par exemple :

int w0= постоянное смещение ( вот с этим не совсем понятно);  
double w1=High[1]-Low[1];
double w2=High[1]-Low[2];
double w3=High[1]-Low[3];
double w4=High[1]-Low[4];
double w5=High[1]-Low[5];
double w6=High[1]-Low[0];


Est-ce correct ?

 

C'est vrai !

Qu'en est-il de l'entrée constante qui n'est pas claire ? Nous devons normaliser les données d'entrée au préalable, cette procédure n'est pas obligatoire, mais souhaitable (elle aide le réseau à apprendre plus rapidement et augmente son pouvoir prédictif). Grâce à cette procédure, toute la variété des signaux d'entrée (de -infini à +infini), sera représentée dans un intervalle fini +/-1. Comme décalage constant, nous fournirons +1 (pour plus de clarté) à la première entrée du NS. La sortie indique que Out>0 signifie Bue et Out<0 signifie Sell.

 
Neutron >> :

C'est vrai !

Qu'en est-il de l'entrée constante qui n'est pas claire ? Nous devons normaliser les données d'entrée au préalable, cette procédure n'est pas obligatoire, mais souhaitable (elle aide le réseau à apprendre plus rapidement et augmente son pouvoir prédictif). Grâce à cette procédure, toute la variété des signaux d'entrée (de -infini à +infini), sera représentée dans un intervalle fini +/-1. Comme décalage constant, nous alimentons +1 (pour la certitude) à la première entrée du NS.

int    w0=1; // это для того, чтобы все ниже описаные входы были проработаны на истории?
double w1=High[1]-Low[1];
double w2=High[1]-Low[2];
double w3=High[1]-Low[3];
double w4=High[1]-Low[4];
double w5=High[1]-Low[5];
double w6=High[1]-Low[0];
 
Andrey4-min писал(а) >>

C'est bien ça ?

Ce n'est toujours pas bon.

Dans cette formulation, les entrées du SN ne seront que des signaux positifs en amplitude et le réseau ne recevra pas toutes les informations possibles sur lesquelles l'analyse sera basée. Mieux encore, multipliez la valeur de votre entrée par la couleur de la bougie : +1 si la bougie était en hausse, et -1 - si elle était en baisse. Et même pas +/-1, mais à la valeur de l'incrément : Close[i]-Open[i].

Cela ressemblera à ceci :

w1=(High[1]-Low[1])/Point*( Close[1]-Open[1])/Point;

w1=(High[2]-Low[2])/Point*( Close[2]-Open[2])/Point;

w1=(High[3]-Low[3])/Point*( Close[3]-Open[3])/Point;

C'est sans normalisation pour le moment.

P.S. Je ne comprends pas ceci : // S'agit-il de faire fonctionner toutes les entrées décrites ci-dessous à travers l'histoire ?

 
Neutron >> :

C'est toujours faux.

Dans cette formulation, les entrées du SN ne seront que des signaux positifs en amplitude, et le réseau ne recevra pas toutes les informations possibles sur lesquelles baser l'analyse. Mieux encore, multipliez la valeur de votre entrée par la couleur de la bougie : +1 si la bougie était en hausse, et -1 - si elle était en baisse. Et même pas +/-1, mais à la valeur de l'incrément : Close[i]-Open[i].

Cela ressemblera à ceci :

w1=(High[1]-Low[1])/Point*( Close[1]-Open[1])/Point;

w1=(High[2]-Low[2])/Point*( Close[2]-Open[2])/Point;

w1=(High[3]-Low[3])/Point*( Close[3]-Open[3])/Point;

C'est sans normalisation pour le moment.

P.S. Je ne comprends pas ceci : // S'agit-il de faire fonctionner toutes les entrées décrites ci-dessous à travers l'histoire ?

Vous avez w1 dans les trois lignes de votre exemple, cela devrait-il être ainsi ?

P.S. Ce que je ne comprends pas, c'est ceci : // c'est pour que toutes les entrées décrites ci-dessous puissent être travaillées sur l'histoire ?

J'essaie de comprendre quelle fonction w0 va remplir, et je suppose qu'il s'agit d'une étape de l'histoire, comme dans les boucles, si ce n'est pas le cas, pouvez-vous m'en dire plus...

 
Andrey4-min писал(а) >>

Dans votre exemple, vous avez w1 dans les trois lignes, cela devrait-il être le cas ?

J'essaie de comprendre quelle fonction w0 va remplir, j'ai supposé qu'il s'agissait d'un pas dans l'histoire, comme dans les boucles, si ce n'est pas le cas, veuillez expliquer davantage...

Pour comprendre quelle est la fonction de w0, nous ferions mieux de commencer par consulter des manuels plutôt que de nous lancer dans la NS, IMHO.