L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 376

 
elibrarius:

Trouvé dans ALGLIB formation d'arrêt précoce avec section de validation :

Formation du réseau neuronal en utilisant l'arrêt précoce (algorithme de base - L-BFGS avec régularisation).
...
L'algorithme s'arrête si l'erreur de validation augmente pendant une longue période.
ou la taille de l'étape est suffisamment petite (il y a des tâches pour lesquelles
l'ensemble de validation peut diminuer pour l'éternité). Dans tous les cas, la solution
retourné correspond au minimum de l'erreur de l'ensemble de validation.


Il me semble que quelque chose ne va pas, parce que dans une négociation réelle, les barres vont aller dans leur propre ordre, et ne pas être mélangées avec celles d'il y a une heure et un jour.
Et si la "nature" du marché change, cela signifie qu'il faut réapprendre ou chercher de nouveaux modèles NS.


Avez-vous plus de 500 liens dans votre grille ? Ils disent que L-BFGS est moins efficace que L-M s'il y a peu de neurones.
 
Maxim Dmitrievsky:

Avez-vous plus de 500 connexions dans votre réseau ? Ils écrivent que L-BFGS est moins efficace que L-M s'il y a peu de neurones.
Moins jusqu'à présent, pour gagner du temps - phase de développement, quand j'aurai terminé, je me fatiguerai à chercher des prédicteurs et un schéma de réseau.
 
elibrarius:
Moins jusqu'à présent, pour gagner du temps - phase de développement, quand j'aurai fini, je travaillerai dur pour trouver des prédicteurs et des diagrammes de réseau.


Tu pourrais peut-être écrire un article quand tu auras tout compris ? :) Pas de bons articles sur le réseau neuronal algibien, il y en a un qui a été traduit et qui est difficile à digérer.

Une sorte de description de NS (parce que je n'ai même pas pu trouver une aide appropriée pour alglib) et un exemple d'apprentissage/de réapprentissage, d'auto-optimisation dans le robot. C'est juste moi, je viens de remarquer qu'il n'y a pas assez d'informations à étudier. C'est comme si tu payais pour ça, tu ne passes pas ton temps en vain.

 
Maxim Dmitrievsky:


Pourquoi n'écrivez-vous pas un article quand vous aurez tout compris ? :) Il n'y a pas de bons articles sur la neuronique d'Alglib, il y en a un traduit difficilement compréhensible.

Une sorte de description de NS (parce que je n'ai même pas pu trouver une aide appropriée pour Alglib) et un exemple d'apprentissage/de réapprentissage, d'auto-optimisation dans le robot. C'est juste moi, je viens de remarquer qu'il n'y a pas assez d'informations à étudier. Pour ce type de payer plus) passer votre temps pas en vain.

Je ne pense pas - je ne trouverai pas le temps pour un article... Je n'aurai pas le temps de trouver un article, et je commence à peine à comprendre les NS, donc je ne peux rien dire de nouveau/intelligent.

J'ai pris https://www.mql5.com/ru/articles/2279 comme base. Je l'ai remis en état de marche dans les 8 heures. Je pense que la plupart des programmeurs ne prendront pas plus de temps.

Mais cela a été une semaine de remaniement, d'ajout d'options, de tests, etc.
Нейросеть: Самооптимизирующийся советник
Нейросеть: Самооптимизирующийся советник
  • 2016.10.03
  • Jose Miguel Soriano
  • www.mql5.com
Возможно ли создать советник, который согласно командам кода автоматически оптимизировал бы критерии открытия и закрытия позиций с определенной периодичностью? Что произойдет, если реализовать в советнике нейросеть (многослойный персептрон), которая, будучи модулем, анализировала бы историю и оценивала стратегию? Можно дать коду команду на ежемесячную (еженедельную, ежедневную или ежечасную) оптимизацию нейросети с последующим продолжением работы. Таким образом возможно создать самооптимизирующийся советник.
 
elibrarius:
Je ne pense pas - je n'aurai pas le temps pour un article 100% du temps... D'ailleurs, je commence tout juste à comprendre les NS moi-même, donc je ne peux rien dire d'intelligent/nouveau.

J'ai pris https://www.mql5.com/ru/articles/2279 comme base. Je l'ai remis en état de marche dans les 8 heures. Je pense que la plupart des programmeurs ne prendront pas plus de temps.

Mais il a fallu une semaine de travail, d'ajout d'options supplémentaires, de tests, etc.


Je me tourne toujours vers le classificateur bayésien + la génétique, les résultats ne sont pas mauvais. Avec les grilles, c'est un peu confus dans ma tête, beaucoup de nuances.

Oui, je parle du même article, il ne m'a pas semblé très acceptable, bien que je sois plus un trader qu'un programmeur).

 
La situation concernant le mélange des résultats n'est pas claire :

Formation à l'arrêt précoce sur des données non mixtes :

Erreur moyenne en formation (80%) plot =0.535 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Erreur moyenne dans la section de validation (20%) =0.298 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Tracé complet (tracé de formation + validation) :
Erreur d'apprentissage moyenne=0.497 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Erreur moyenne sur le test (20%) section =0.132 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6

On a l'impression qu'il y avait un ajustement de l'intrigue de validation. Le test est bon, mais il n'était pas en formation et n'a pas été comparé, probablement juste une coïncidence.
Le même fay compte les ensembles, et il y a une division en 2/3 et tout est mélangé entre les deux parcelles, je vais essayer de faire de même...
Je l'ai mélangé :

Erreur moyenne dans la zone de formation (60%) =0,477 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Erreur moyenne sur la validation (40%) section =0.472 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Tracé complet (tracé de formation + validation) :
Erreur d'apprentissage moyenne=0.475 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Erreur moyenne sur le test (20%) section =0.279 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6

En mélangeant, l'erreur est égalisée sur les sections de formation et de validation.
Et au premier test, ça a empiré.

Il semble erroné de mélanger les données et de les diviser ensuite en sections d'apprentissage et de validation, car en situation réelle, les barres suivront leur propre ordre et ne seront pas mélangées avec celles d'il y a une heure, un jour ou une semaine. De même, pour les algorithmes de validation croisée où la section de validation est au début, puis au milieu, puis à la fin.
Et si la "nature" du marché change, cela signifie que nous devons réapprendre ou chercher de nouveaux modèles NS.

Et si vous ne mélangez pas et ne validez pas à la dernière section, comment éviter de vous adapter à cette section ?
 
Elibrarius:
4 parcelles s'en sortent ? Formation/validation/test1/test2 ?

Combien de cycles de formation/validation devez-vous effectuer ? Je n'ai vu aucune information à ce sujet sur le site ..... 1 cycle au total ? - et juste après, nous approuvons ou modifions quelque chose dans l'ensemble des prédicteurs ou dans le schéma du réseau ? Plus précisément, dans N cycles d'entraînement, on nous montrera un seul meilleur.


La section test2 est un verdict : pas de correspondance, alors on recommence, de préférence avec un ensemble de prédicteurs


PS.

D'ailleurs, il y a aussi un testeur, le verdict final du TS.

 
elibrarius:
Ce qui reste flou, c'est la situation concernant le mélange des résultats :

Apprentissage d'arrêt précoce sur des données non intermittentes :

Erreur moyenne sur la formation (80%) échantillon =0.535 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Erreur moyenne sur la validation (20%) section =0.298 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Tracé complet (tracé de formation + validation) :
Erreur d'apprentissage moyenne=0.497 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Erreur moyenne sur le test (20%) section =0.132 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6

On a l'impression qu'il y avait un ajustement de l'intrigue de validation. Le test est bon, mais il n'était pas en formation et n'a pas été comparé, probablement juste une coïncidence.
Le même fay compte les ensembles, et il y a une division en 2/3 et tout est mélangé entre les deux parcelles, je vais essayer de faire de même...
Je l'ai mélangé :

Erreur moyenne dans la zone de formation (60%) =0,477 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Erreur moyenne en validation (40%) section =0.472 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Tracé complet (tracé de formation + validation) :
Erreur d'apprentissage moyenne=0.475 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Erreur moyenne sur le test (20%) section =0.279 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6

En raison du mélange, l'erreur est égalisée sur les sections de formation et de validation.
Et au premier test, ça a empiré.

Il semble erroné de mélanger les données et de les diviser ensuite en sections d'apprentissage et de validation, car dans les transactions réelles, les barres suivront leur propre ordre, et ne seront pas mélangées avec celles d'il y a une heure, un jour ou une semaine. De même, pour les algorithmes de validation croisée où la section de validation est au début, puis au milieu, puis à la fin.
Et si la "nature" du marché change, cela signifie que nous devons réapprendre ou chercher de nouveaux modèles NS.

Et si vous ne mélangez pas et validez à la dernière section, alors comment éviter de vous adapter à cette section ?


1. Si j'ai bien compris, vous ne formez rien du tout - juste un résultat aléatoire sur des prédicteurs qui n'ont rien à voir avec la variable cible.


2. Remuer.

Je ne sais pas NS.

Mais dans de très nombreux autres algorithmes de MO, l'apprentissage se fait sur une seule ligne. La valeur unique de chaque prédicteur est prise et la variable cible lui est affectée. Par conséquent, le brassage n'est pas pertinent. Il existe des algorithmes MO qui prennent en compte les voisins.

Mais de toute façon nos points de vue coïncident et initialement je fais toujours les tests sur test2 sans remaniement.


PS.

Encore une fois.

Si l'erreur sur deux échantillons différents est différente de la vôtre - cela signifie que votre système est sans espoir, à jeter.

 

En errant dans le cloaque sans fond appelé Internet, je suis tombé sur ce morceau de papier.

Artificial Neural Networks architectures for stock price prediction:comparisons and applications

En d'autres termes - Architecture NS pour la prédiction des actions - comparaison et application

Dossiers :
 
elibrarius:
La situation concernant le mélange des résultats n'est pas claire :


Il me semble que c'est une erreur de mélanger les données et de les diviser ensuite en deux parties, l'une pour l'entraînement et l'autre pour la validation. En effet, dans une transaction réelle, les barres seront placées dans leur propre ordre, et non mélangées avec celles d'il y a une heure, un jour ou une semaine. De même, pour les algorithmes de validation croisée où la section de validation est au début, puis au milieu, puis à la fin.
Et si la "nature" du marché change, cela signifie que nous devons réapprendre ou chercher de nouveaux modèles NS.

Et si vous ne mélangez pas et ne validez pas à la dernière section, comment éviter de vous adapter à cette section ?

Après la division en train/test/valide , mélangez le train. Ne pas mélanger le reste des ensembles.
Ceci est valable pour la classification par les réseaux neuronaux. De plus, lors de la formation de réseaux neuronaux profonds, il faut mélanger chaque minilang avant d'alimenter le réseau neuronal.

Bonne chance