"New Neural" est un projet de moteur de réseau neuronal Open Source pour la plateforme MetaTrader 5. - page 38

 
gpwr:
Les filtres sont entraînés sans professeur en soumettant 10000-40000 sections d'histoire choisies au hasard (le même nombre d'itérations). L'apprentissage est très rapide. En fonction de l'ordinateur, 10000 filtres sont entraînés sur 20000 patchs d'histoire en 1-2 minutes sur 360 processeurs GPU CUDA, environ 1 heure sur 4 processeurs Intel avec 16 pistes, 3-4 heures sur mon ordinateur portable avec un processeur et deux pistes. Le temps ne compte pas vraiment ici. Même si j'ai besoin d'un jour ou deux pour une telle formation au filtre, elle n'est effectuée qu'une seule fois pour chaque cotation (EURUSD, USDJPY, etc.). Une fois les filtres formés, ils ne changent pas et sont utilisés pour filtrer les nouveaux prix. Le filtrage lui-même est très rapide - nous calculons la somme des produits du prix et des coefficients de filtrage.

Autant que je me souvienne, nous devons passer chaque segment plusieurs fois pour que la grille soit considérée comme entraînée,

la question est de savoir combien de fois chaque exemple doit être soumis.

 
Urain:

Autant que je me souvienne, pour que la grille soit considérée comme formée, chaque section doit être parcourue plusieurs fois,

la question est : combien de fois chaque exemple doit-il être soumis ?

Vous n'avez pas besoin de parcourir la même section de l'histoire plusieurs fois. Et vous n'êtes pas obligé de parcourir chaque partie de l'histoire au moins une fois. Certaines sections de l'histoire peuvent être omises. Les filtres rassemblent essentiellement des statistiques de citations par des échantillons aléatoires. Le caractère aléatoire d'un échantillon est l'élément principal ici. Si l'ensemble de l'historique est parcouru séquentiellement, les filtres pencheront vers les statistiques du début de l'historique.
 
gpwr:
Il n'est pas nécessaire de reprendre plusieurs fois la même partie de l'histoire. Et vous n'êtes pas obligé de parcourir chaque partie de l'histoire au moins une fois. Certaines sections de l'histoire peuvent être omises. Les filtres permettent essentiellement de recueillir des statistiques de citation à partir d'échantillons aléatoires.
Non, vous parlez de filtres, je vous ai dit que la question est latérale, je parle d'algorithmes d'apprentissage NS.
 
Urain:
Non, vous parlez de filtres, je vous ai prévenu que la question est latérale, je parle d'algorithmes d'apprentissage NS.
Alors je ne comprends vraiment pas. Le réseau que je propose se compose de deux modules : un module de conversion des données avec plusieurs couches de filtres et un module de classification. Les filtres du premier module sont entraînés une fois sans professeur sur l'ensemble de l'historique et sont mémorisés pour toutes les applications ultérieures du réseau. Une fois que les filtres ont été entraînés, nous enseignons le second module avec l'enseignant, c'est-à-dire que l'entrée du premier module contient un modèle de prix et la sortie du second module contient des signaux connus : Acheter (+1), Vendre (-1), Maintenir (0). Le deuxième module peut être n'importe quel réseau neuronal que nous connaissons, par exemple le réseau Feed-Forward (FFN ou MLP), la machine à vecteur de support (SVM), la fonction de base radiale (RBF). La courbe d'apprentissage de ce module est tout aussi longue que sans le premier module de filtrage. Comme je l'ai expliqué précédemment, à mon avis, le deuxième module n'est pas aussi important que le premier. Vous devez d'abord transformer (filtrer) correctement les citations avant de les envoyer sur le réseau. La méthode de filtrage la plus simple est le МА. D'autres indicateurs peuvent également être appliqués, ce que font déjà la plupart des opérateurs de réseaux neuronaux. Je suggère un "indicateur" spécial composé de plusieurs couches de filtres similaires aux filtres biologiques pour une telle transformation des citations, de sorte que les mêmes modèles, mais déformés, soient décrits par le même code à la sortie de cet "indicateur" (le premier module de mon réseau). Il est ensuite possible de classer ces codes dans le deuxième module en utilisant des méthodes bien connues.
 
Нейрокомпьютерные системы | Учебный курс | НОУ ИНТУИТ
Нейрокомпьютерные системы | Учебный курс | НОУ ИНТУИТ
  • www.intuit.ru
Излагаются основы построения нейрокомпьютеров. Дается детальный обзор и описание важнейших методов обучения нейронных сетей различной структуры, а также задач, решаемых этими сетями. Рассмотрены вопросы реализации нейронных сетей.
Dossiers :
Books.zip  14709 kb
 

gpwr:

Je ne comprends vraiment pas alors. Le réseau que je propose se compose de deux modules : un module de conversion des données avec plusieurs couches de filtres et un module de classification. Les filtres du premier module sont entraînés une fois sans professeur sur l'ensemble de l'historique et sont mémorisés pour toutes les applications ultérieures du réseau. Une fois les filtres formés, nous enseignons le deuxième module avec le professeur, c'est-à-dire le modèle de prix à l'entrée et les signaux connus d'achat (+1), de vente (-1), de maintien (0) à la sortie. Le deuxième module peut être n'importe quel réseau neuronal que nous connaissons, par exemple le réseau Feed-Forward (FFN ou MLP), la machine à vecteur de support (SVM), la fonction de base radiale (RBF). La courbe d'apprentissage de ce module est aussi longue que sans le premier module de filtrage. Comme je l'ai expliqué précédemment, à mon avis, le deuxième module n'est pas aussi important que le premier. Vous devez d'abord transformer (filtrer) correctement les citations avant de les envoyer sur le réseau. La méthode de filtrage la plus simple est le МА. D'autres indicateurs peuvent également être appliqués, ce que font déjà la plupart des opérateurs de réseaux neuronaux. Je suggère un "indicateur" spécial composé de plusieurs couches de filtres similaires aux filtres biologiques pour une telle transformation des citations, de sorte que les mêmes modèles, mais déformés, soient décrits par le même code à la sortie de cet "indicateur" (le premier module de mon réseau). Il est ensuite possible de classer ces codes dans le deuxième module en utilisant des méthodes bien connues.

Si je comprends bien, les filtres eux-mêmes et leur formation peuvent être attribués au module de prétraitement.
 
Urain:
Si je comprends bien, les filtres eux-mêmes et leur formation peuvent être attribués au module de prétraitement.
Oui, le premier module, l'auto-apprentissage une fois pour toute.
 
Urain:
Alex et comment as-tu réussi à obtenir 14M de pièces jointes, privilège du modérateur ou ont-ils augmenté la limite ?
Il est dit à 16M. Probablement augmenté.
 
Hourra, le cours 15 concerne les réseaux de logique floue dont je parlais au début.
 

u - entrée de l'activateur

y - facteur de puissance supplémentaire.

//+------------------------------------------------------------------+
double sigma0(double u,double y=1.)// [0;1]
  {
   return(1./(1.+exp(-y*u)));
  }
//+------------------------------------------------------------------+
double sigma1(double u,double y=1.)// [-1;1] сдвинутый сигмоид
  {
   return((2./(1.+exp(-y*u)))-1.);
  }
//+------------------------------------------------------------------+
double func1(double u,double y=1.)// [-1;1]
  {
   return(y*u/sqrt(1.+y*y*u*u));
  }
//+------------------------------------------------------------------+
double func2(double u,double y=1.)// [-1;1]
  {
   return(sin(M_PI_2*y*u));
  }
//+------------------------------------------------------------------+
double func3(double u,double y=1.)// [-1;1]
  {
   return(2./M_PI*atan(y*u));
  }
//+------------------------------------------------------------------+
double func4(double u,double y=1.)// [-1;1]
  {
   return(y*u-y*y*y/3.*u*u*u);
  }
//+------------------------------------------------------------------+
double line0(double u,double y=1.)// [0;1] линейный активатор
  {
   double v=y*u;
   return((v>1.?1.:v<0.?0.:v));
  }
//+------------------------------------------------------------------+
double line1(double u,double y=1.)// [-1;1]
  {
   double v=y*u;
   return((v>1.?1.:v<-1.?-1.:v));
  }
//+------------------------------------------------------------------+
double Mline(double v)// [DBL_MIN;DBL_MAX]
  {
   return((v>DBL_MAX?DBL_MAX:v<DBL_MIN?DBL_MIN:v));
  }
//+------------------------------------------------------------------+
Raison: