Que mettre à l'entrée du réseau neuronal ? Vos idées... - page 29

 
J'ai essayé toutes les architectures MLP et RNN.
Jusqu'à 5 couches, jusqu'à 20 neurones par couche. L'optimiseur MT5 ne permet pas plus

Le résultat est curieux : plus il y a de couches, moins bien c'est. Plus il y a de neurones, moins bien c'est.

Record : 1 entrée, 1 couche, 1 neurone - s'est avéré être le meilleur.

Je ne comprends pas du tout.

En d'autres termes, 1 entrée suffit pour qu'un seul neurone, multipliant un seul poids par cette entrée, maintienne un échange stable le plus longtemps possible.

Enfin, aussi stable que possible : le meilleur du pire, c'est-à-dire que les ensembles avec une progression stable apparaissent même dans les premières lignes de l'optimiseur.

Apparemment, nous devons creuser à cet endroit : localement à l'intérieur d'une "boîte à chat" petite mais confortable
 
Ivan Butko #:
J'ai essayé toutes les architectures MLP et RNN.
Jusqu'à 5 couches, jusqu'à 20 neurones par couche.
L'optimiseur MT5 ne permet pas plus

Le résultat est curieux : plus il y a de couches, plus c'est mauvais. Plus il y a de neurones, plus c'est mauvais.

Le record : 1 entrée, 1 couche, 1 neurone - s'est avéré être le meilleur.

Je ne comprends pas du tout.

En d'autres termes, 1 entrée suffit pour qu'un seul neurone, multipliant un seul poids par cette entrée, maintienne des échanges stables le plus longtemps possible.

Stabilité : le meilleur du pire, c'est-à-dire les ensembles dont la progression est stable apparaissent même dans les premières lignes de l'optimiseur.

Apparemment, nous devons creuser à cet endroit : localement à l'intérieur d'une "boîte à chat" petite mais confortable

Le principal facteur est le nombre de variables

[Supprimé]  
Ivan Butko #

Je ne comprends pas du tout.

Compromis biais-variance, bases du ML.
 
Maxim Dmitrievsky #:
Le compromis biais-variance, les bases du ML.

J'ai essayé l'inverse : j'ai effectué un réentraînement à l'extrême, presque point à point, de façon à ce que le drainage soit constant sur le forward, puis j'ai retourné les positions. Oui, le drainage s'est arrêté, mais il s'est transformé en un plat à cause de la dispersion d'un grand nombre de transactions. Un échec en compense un autre.

[Supprimé]  
Ivan Butko #:

J'ai essayé dans l'autre sens : je l'ai entraîné à l'extrême, presque point par point, de manière à ce qu'il se vide régulièrement à l'avant, puis j'ai inversé les positions. Oui, le drainage s'est arrêté, mais il s'est transformé en un plat à cause de la dispersion d'un grand nombre de transactions. Un échec en compense un autre.

C'est ainsi qu'ils procèdent. Tout d'abord, un grand réseau est entraîné, puis des couches et des neurones sont éliminés jusqu'à un certain optimum, minimisant ainsi le biais sur les nouvelles données. Parallèlement, la variance (écart d'erreur) des données d'apprentissage augmente. Si rien ne fonctionne, le problème se situe au niveau des données.

Il s'agit de faire en sorte que le résultat soit décent sur les données d'apprentissage et acceptable sur les données de test. Compromis. Si vous n'aimez pas le résultat, vous devez changer les données. Et ainsi de suite, jusqu'au bout de la carotte.
[Supprimé]  
Essayez la volatilité (indicateur std). Elle sera meilleure sur les nouvelles données, car elle est toujours à peu près la même, en fonction du temps. Il n'y aura de différence que si, sur de nouvelles données présentant la même volatilité, le marché évolue dans une direction différente en moyenne. Dans ce cas, vous pouvez également ajouter un filtre temporel pour déterminer quand la volatilité est la même.
 
Maxim Dmitrievsky #:
Essayez la volatilité (indicateur std). Elle sera meilleure sur les nouvelles données, car elle est toujours à peu près la même. Il n'y aura de différence que si, sur de nouvelles données avec la même volatilité, le marché évolue dans une direction différente.




J'ai eu l'idée de normaliser les données (couper la queue) à une décimale .0 ; Mol, pour créer la stationnarité, parce qu'il réagit à ces petits nombres et à cause d'eux se souvient stupidement du "chemin" du prix comme s'il s'agissait d'un petit nombre.

[Supprimé]  
Ivan Butko #:


J

'ai eu l'idée de normaliser les données (couper la queue) à une décimale .0 ; pour créer la stationnarité, parce qu'il réagit à ces petits nombres et à cause d'eux il se souvient stupidement du "chemin" du prix comme s'il était le même.

Cela n'apportera pas grand-chose, tout comme on peut ajouter un bruit aléatoire aux caractéristiques. Ce sera un peu mieux dans certains cas, parce qu'il sera moins recyclé, mais ce n'est pas du tout une panacée.
[Supprimé]  
Si vous réfléchissez logiquement, vous avez besoin d'une sorte d'indicateur de tendance à long terme et de volatilité. La tendance indique dans quelle direction les transactions sont ouvertes, et la volatilité précise les moments. On ne peut rien imaginer d'autre à partir d'indicateurs.

Il est nécessaire d'inclure différentes tendances dans la formation afin d'apprendre à les distinguer.
 

Vous pouvez saisir tout ce que vous voulez :

heure, jour de la semaine, phases de la lune, etc. etc.

Un réseau normal triera de lui-même les données nécessaires et inutiles.

L'essentiel est de savoir ce qu'il faut enseigner !

L'apprentissage avec un professeur ne convient pas ici. Les réseaux à propagation d'erreurs vers l'arrière sont tout simplement inutiles.