Article : Prévision des prix avec des réseaux neuronaux - page 13

 
Ulterior:

Dobrovo vam vremia sutok i izvinite za translit.

NON S'IL VOUS PLAÎT !

 
Neutron:

OK, mais j'aimerais une théorie.

Voici le raisonnement à voix haute. Pour un NS à couche unique avec un nombre d'entrées N, nous avons N synapses dont les poids déterminent de manière unique le système N dans le cas général d'équations non linéaires. Il est clair que pour résoudre un tel système, nous avons besoin d'un échantillon d'apprentissage de N vecteurs, chacun composé de N éléments. Dans ce cas, il n'y a pas d'autre solution. Avec la NS à deux couches, le nombre d'entrées doit être inférieur au nombre total de vecteurs d'apprentissage N par n, où n est le nombre de synapses dans la deuxième couche, de sorte que la longueur des vecteurs d'apprentissage a une longueur N-n.

Pour un SN à 3 couches, l'ordre de raisonnement est le même.

Ainsi :

1. nous partons de la profondeur d'immersion dont nous avons besoin et déterminons la dimensionnalité de l'entrée NS.

2. Ensuite, en tenant compte de l'architecture (nombre de couches) de NS, nous comptons le nombre de synapses, et obtenons la taille optimale de l'échantillon d'entraînement.


Le raisonnement est bon, mais il est empirique... C'est-à-dire qu'il est difficile de construire un algorithme qui ne dépend que du type et de la représentation des données d'entrée sur celles-ci.

 
Sergey_Murzinov:

L'une des choses les plus importantes (à mon avis) est la préparation des données, pour ce faire

1. Essayez de réduire la corrélation des entrées. En d'autres termes, les entrées doivent être aussi statistiquement indépendantes que possible.

2. lors de la normalisation des vecteurs d'entrée, il est nécessaire d'obtenir une augmentation de l'entropie - ce qui augmente la quantité d'informations soumises à NS tout en conservant le même volume de données d'entrée.

Un contrôle de la qualité des données est obligatoire, par exemple en utilisant la méthode de Kolmogorov-Smirnov ou/et avec l'exposant de Hurst.


En sélectionnant l'architecture du réseau, nous pouvons réduire l'erreur.

Je ne suis pas d'accord, toute transformation des données est un changement dans l'informativité de l'échantillon initial. Où se trouve le critère d'évaluation du critère de modification des données ? Je pense que toutes les personnes impliquées dans les NS connaissent la vieille blague qui s'est produite lors du prochain boom des NS. Quand l'armée américaine a essayé d'utiliser les NS pour des systèmes de tir sol-sol. L'un des composants était un réseau de reconnaissance des formes, qui a très bien réussi à apprendre, etc., mais pour une raison quelconque, il a reconnu les réservoirs par temps de pluie, et lorsqu'on lui a présenté des données provenant d'une structure de paysage différente, il a commis une grave erreur. La raison en était que le réseau avait appris à bien reconnaître un paysage, mais pas un char.


Si nous changeons les données, le problème peut être le même - le réseau ne sélectionnera que les séquences (modes) qui appartiennent à la série normalisatrice, car en principe nous pouvons considérer le processus de normalisation lui-même comme une composante des fluctuations de la série temporelle.

 
J'ai maintenant créé une NS non linéaire à deux couches et je constate que sa capacité de prédiction est légèrement supérieure à celle de la NS non linéaire à une couche. Mais la dispersion des prédictions est nettement plus faible, ce qui est appréciable. On peut également noter que le NS présente des propriétés de lissage notables lorsque le nombre d'entrées est augmenté. Dans mon cas, cependant, le nombre de vecteurs d'entraînement augmente proportionnellement, peut-être la raison conduit-elle à une augmentation de l'échantillon d'entraînement. Il est nécessaire de séparer ces effets d'une manière ou d'une autre...
 

Ceci montre les résultats du test de la capacité prédictive des deux NS.


La figure montre en rouge la série temporelle originale (RT), en bleu la prédiction à 1 bar en avant du réseau linéaire à une couche, et en vert le réseau non linéaire à deux couches. La profondeur d'immersion est la même dans les deux cas. On peut voir que pour ce cas artificiel, il y a un résidu marqué des données prédites sur le graphique de tendance BP. Je me demande si mes collègues expérimentés observent cet effet et si oui, à quoi cela pourrait-il être lié ?

 

rip писал (а):


Je ne suis pas d'accord, toute conversion de données est un changement dans l'informativité de l'échantillon original. Où se trouve le critère d'évaluation du critère de modification des données ? Je pense que toutes les personnes impliquées dans les NS connaissent la vieille blague qui s'est produite lors du prochain boom des NS. Quand l'armée américaine a essayé d'utiliser les NS pour des systèmes de tir sol-sol. L'un des composants était un réseau de reconnaissance des formes, qui a très bien réussi à apprendre, etc., mais pour une raison quelconque, il a reconnu les réservoirs par temps de pluie, et lorsqu'on lui a présenté des données provenant d'une structure de paysage différente, il a commis une grave erreur. La raison en était que le réseau avait appris à bien reconnaître un paysage, mais pas un char.


Si nous changeons les données, le problème peut être le même - le réseau ne retiendra que les séquences (modes) qui appartiennent à la série normalisatrice, car en principe nous pouvons considérer le processus de normalisation lui-même comme une composante des fluctuations de la série chronologique.

Je ne suis pas dit content. C'est le point de vue de la majorité. Je suis heureux.

 
Sergey_Murzinov:

rip a écrit (a) :


Je ne suis pas d'accord, toute transformation des données, est un changement dans l'informativité de l'échantillon original. Où se trouve le critère d'évaluation du critère de modification des données ? Je pense que toutes les personnes impliquées dans les NS connaissent une vieille blague qui s'est produite lors du prochain boom des NS. Quand l'armée américaine a essayé d'utiliser les NS pour des systèmes de tir sol-sol. L'un des composants était un réseau de reconnaissance des formes, qui a très bien réussi à apprendre, etc., mais pour une raison quelconque, il a reconnu les réservoirs par temps de pluie, et lorsqu'on lui a présenté des données provenant d'une structure de paysage différente, il a fait une grave erreur. La raison en était que le réseau avait appris à bien reconnaître un paysage, mais pas un char.


Si nous changeons les données, le problème peut être le même - le réseau ne retiendra que les séquences (modes) qui appartiennent à la série normalisatrice, car en principe nous pouvons considérer le processus de normalisation lui-même comme une composante des fluctuations de la série chronologique.

Je ne suis pas dit content. C'est le point de vue de la majorité. Je suis heureux.

Une opinion est une opinion, mais dans la pratique, c'est différent. J'ai essayé d'utiliser un algorithme génétique pour optimiser l'architecture du réseau, et le résultat est intéressant - mais le calcul est très long.

 

Voici une autre comparaison du pouvoir prédictif du réseau.


Il s'agit d'un pas en avant dans la prédiction d'une NS non linéaire à une couche (ligne bleue) et d'une NS non linéaire à deux couches. Ici, la couche unique semble préférable.

Il est intéressant de comparer les résultats de ces tests avec ceux d'autres architectures NS. Quelqu'un peut-il afficher ses résultats à des fins de comparaison ?

 

rip писал (а):


Une opinion est une opinion, mais dans la pratique, c'est différent. J'ai essayé d'utiliser l'algorithme génétique pour optimiser l'architecture du réseau, le résultat est intéressant - mais le calcul est très long.

Si 24 heures, c'est beaucoup, alors oui. Notez simplement que lorsqu'il s'agit de réseaux (leur exploitation), cela ne se fait qu'une fois.

 

à Neutron

Aucun résultat pour l'instant, mais je commence à m'y faire.

En ce qui concerne le premier message (avec la première photo), j'essaie de comprendre ce que vous voulez dire. Personnellement, je n'ai pas constaté de décalage notable. Au contraire, dans les domaines où il existe un certain type de tendance, il (le réseau) parvient assez bien à l'identifier, et l'erreur se situe uniquement au niveau des ruptures de tendance (et elles sont aléatoires ici, ou la taille de l'échantillon n'est pas suffisante pour établir un certain type de tendance dans leur apparition).

Raison: