Utilisation des réseaux neuronaux dans le trading. - page 3

 
StatBars писал(а) >>

Les images montrent des données non normalisées et des données différentes, j'ai juste donné un exemple de ce que j'ai fait (comment cela ressemble au résultat).

Et voici le script, vous pouvez l'utiliser pour voir à quoi ressemblera la sortie (mais ne soyez pas trop pointilleux sur les données d'entrée - ce script a été fait juste à titre d'illustration...).

//Type 0 - normalisation linéaire, 1 - non-linéaire

StatBars, je n'ai pas à me plaindre !

Eh bien, ça marche - et c'est bon. Je veux juste préciser que la procédure de normalisation n'est pas la même que le lissage de la distribution et que vous avez besoin d'une approche plus complexe. Mais, d'un autre côté, nous avons une valeur d'entrée dans la fourchette finale +/-1 et sous la forme d'une tablette - une friandise savoureuse. De plus, lorsque vous blanchissez l'entrée, vous obtenez un sentiment de plaisir esthétique.

 
Neutron писал(а) >>

StatBars, je ne me plains pas !

Eh bien, ça marche et c'est bien. Je veux juste préciser que la procédure de normalisation n'est pas égale à l'égalisation de la distribution et qu'une approche relativement plus complexe est nécessaire. Mais, d'un autre côté, nous avons une valeur d'entrée dans la fourchette finale +/-1 et sous la forme d'une tablette - une friandise savoureuse. De plus, lorsque vous blanchissez l'entrée, vous obtenez un sentiment de plaisir esthétique.

)))

Au fait, j'ai mis en œuvre une méthode décrite dans un article, je ne me souviens pas exactement où je l'ai lu... En général, en utilisant la fonction de distribution de la surface, la deuxième image est précisément le travail de cette méthode.

Quoi qu'il en soit, voici un fichier avec une simple normalisation et un alignement de fréquence, pas le meilleur exemple, mais néanmoins...

Avez-vous blanchi les entrées ? J'ai juste quelques questions...

Dossiers :
 

Je l'ai fait.

Mais il n'y a pas de blanchiment ou de décoloration. Vous pouvez bêtement alimenter deux essuie-glaces à deux entrées NS et viser à les blanchir... C'est un cas (clinique), et vous pouvez mettre des prix d'ouverture de bar dans une douzaine - c'en est un autre, il n'y a rien à blanchir - tout est blanc comme il est.

 
J'ai lu le fil de discussion, il est plus instructif que les autres, mais aujourd'hui c'est le jour des bonnes actions, alors je vais en parler au T-O-P-I-C-K-E... :-О)
 
Neutron >> :

Leonid, il n'y a pas de problème de reconversion du SN - il s'agit de ne pas comprendre l'essence de ce qui se passe à l'intérieur de cette boîte portant un beau nom et contenant trois clous. Ne prenez pas un échantillon d'entraînement plus court que le minimum et vous n'aurez pas à décider à l'instinct ce qui est meilleur et ce qui est pire !

En ce qui concerne les entrées "correctes", je suis d'accord avec vous à 100%, c'est la clé du succès - tout ce qui peut être résolu pour NS-ku - doit être résolu indépendamment. Il faut lui laisser des éléments que la solution ne possède pas ou qui sont d'une difficulté injustifiée. Par exemple, il n'est pas du tout logique d'alimenter l'entrée Zig-Zag. Dans ce cas, le comportement de NS est évident - il apprendra ce qui se trouve à la surface - la familiarité des armes ZZ, et l'utilisation de telles données d'entrée est nulle.

Il n'y a pas de mauvaises entrées. Il y a une mauvaise tâche.

 

Au sujet de la normalisation. Tous les types de normalisation ne peuvent pas être appliqués dans le contexte de la tâche à accomplir.

 
registred писал(а) >>

Il n'y a pas de mauvaises entrées. Il y a une tâche mal orientée.

Pourquoi pas ? C'est le cas. En plus du problème objectif (correct), il y a aussi les données avec lesquelles ce problème sera résolu...

Et à propos de la normalisation - des explications ?

 
Une difficulté survient lors de la normalisation : alors que tous les neurones sont identiques lors de la description d'un réseau neuronal, et qu'il est possible de décrire un neurone une fois, après avoir supprimé les connexions détachées, les neurones ont généralement une structure différente.
 
StatBars >> :

Pourquoi pas ? C'est le cas. En plus du problème objectif (correct), il y a aussi les données avec lesquelles ce problème sera résolu...

Et à propos de la normalisation - des explications ?

Eh bien, il y a la normalisation linéaire et la normalisation non linéaire. Non-linéaire est sensible à la variance des nouvelles données. Linéaire est simple et nécessite moins d'étapes de calcul, mais pour elle la non-symétrie, pour ainsi dire, affectera la durée de l'entraînement. Avec elle, la variance peut être tout ce qu'elle veut à la suite d'une formation, sous certaines conditions. Mais lors de la formation elle-même, une série qui n'a pas été normalisée à une moyenne nulle et une variance unitaire fera que le réseau apprendra plus longtemps à la fin que si une telle normalisation était effectuée. En ce qui concerne la première question, mon opinion personnelle est la suivante. Je peux prendre la MA, je peux prendre les incréments de la série. Il n'y aura aucune différence pour moi. L'essentiel sera que si, après avoir formé le filet, le résultat de la formation dépend de ce que je choisis (MA ou simplement des incréments de la série), alors cela indiquera que la tâche est mal définie et que le filet a simplement appris ce que j'ai essayé de lui enseigner. C'est-à-dire qu'il suffit d'exécuter les actions que je lui ai enseignées. Mais pour trouver des régularités, c'est-à-dire pour généraliser, le réseau ne veut pas ou ne peut pas le faire correctement. L'objectif est de réduire l'erreur de généralisation du type de données qui serait nécessaire à la sortie du réseau neuronal. Les données d'entrée peuvent être des incréments d'une série temporelle mais pas nécessairement sa version lissée sous forme de MA ou autre. Ils écrivent tous que la série doit être lissée. Mais je pense que cela n'a pas d'importance puisque les régularités objectives des données sont sauvegardées et que l'essentiel est de choisir le nombre nécessaire d'incréments dans votre série.

 
registred писал(а) >>

Eh bien, il y a la normalisation linéaire et il y a la normalisation non linéaire. Non-linéaire est sensible à la variance des nouvelles données. Linéaire est simple et nécessite moins d'étapes de calcul, mais pour elle, la non-symétrie, pour ainsi dire, affectera le temps d'apprentissage. Avec elle, la variance peut être tout ce qu'elle veut à la suite d'une formation, sous certaines conditions. Mais lors de la formation elle-même, une série qui n'a pas été normalisée à une moyenne nulle et une variance unitaire fera que le réseau apprendra plus longtemps à la fin que si une telle normalisation était effectuée. En ce qui concerne la première question, mon opinion personnelle est la suivante. Je peux prendre la MA, je peux prendre les incréments de la série. Il n'y aura aucune différence pour moi. L'essentiel sera que si, après avoir formé le filet, le résultat de la formation dépend de ce que je choisis (MA ou simplement des incréments de la série), alors cela indiquera seulement que la tâche a été définie de manière incorrecte et que le filet a simplement appris ce que j'ai essayé de lui enseigner. C'est-à-dire qu'il suffit d'exécuter les actions que je lui ai enseignées. Mais pour trouver des régularités, c'est-à-dire pour généraliser, le réseau ne veut pas ou ne peut pas le faire correctement. L'objectif est de réduire l'erreur de généralisation du type de données qui serait nécessaire à la sortie du réseau neuronal. Les données d'entrée peuvent être des incréments d'une série temporelle mais pas nécessairement sa version lissée sous forme de MA ou autre. Ils écrivent tous que les séries doivent être lissées. Mais je pense que cela n'a pas d'importance, car les régularités objectives des données sont préservées, l'essentiel étant de choisir le bon nombre d'incréments dans votre série.

Je pense qu'il ressort de votre post que la normalisation dépend plus des données que de la tâche à accomplir.

Concernant la deuxième partie : considérez-vous l'incrément de MA et l'incrément de série ?

D'une manière générale, voulez-vous dire que le réseau formé ne doit pas être sensible aux données d'entrée (à chaque entrée individuelle) ou qu'il suffit de changer les données d'entrée pour que le réseau continue à prédire ?

Raison: