L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 481

 
Maxim Dmitrievsky:

les incréments peuvent recevoir une estimation probabiliste de l'appartenance à la classe d'écart.


aller de l'avant sans "y penser".

 
Oleg avtomat:

Eh bien, allez-y sans la "pensée".


OK, nous allons le vérifier avec une expérience... :) bien sûr je vais essayer 2 et plus 2 classes, mais je ne vois pas de différence fondamentale pour mon cas

 
Maxim Dmitrievsky:

Maxim, la façon dont je vois ta situation est la suivante :

L'objectif est :

a) pour obtenir une probabilité de la direction du mouvement ;

b) pour obtenir une estimation de la force du mouvement.

Options de solution :
1) Utilisez une sortie [0,1] ou [-1,1]. Ou deux sorties [[0,1], [0,1]].

Les données d'entraînement doivent refléter la force du mouvement, c'est-à-dire que l'historique du mouvement doit être normalisé à une gamme valide.

Plus : le modèle de réseau est facile et simple à mettre en place.

Moins : la normalisation sera hétérogène sur l'ensemble de la série temporelle, en raison des différentes amplitudes des variations de prix.

2) Utilisez une sortie de classification bidimensionnelle [0,1]+[0,1] ou [-1,1]+[-1,1]. Soit trois/quatre sorties [[0,1],[0,1]+[0,1]] ou [[0,1],[0,1]+[0,1],[0,1]]. Une dimension est la probabilité de la direction du mouvement, la seconde dimension est la probabilité de la force du mouvement.

Plus : une meilleure visibilité du résultat.

Moins : Difficulté de l'ajustement des modèles de réseaux de neurones sur des cadres "en bois".

3) Option deux avec la division du modèle de réseau en deux. Un modèle apprend à prédire la direction, le second modèle apprend à prédire la force du mouvement.

Pour : Maintien de la visibilité ; Facilité d'application des réseaux neuronaux.

Moins : possibilité d'une légère augmentation de la vitesse de calcul ; plus de code.

 
Aleksey Terentev:

Maxim, la façon dont je vois ta situation est la suivante :

L'objectif est :

(a) Pour obtenir la probabilité de la direction du mouvement ;

b) Pour obtenir une estimation de la force du mouvement.

Options de solution :
1) Utilisez une sortie [0,1], ou [-1,1]. Ou deux sorties [[0,1], [0,1]].

Nuance ! Les données d'entraînement doivent refléter la force du mouvement, c'est-à-dire que l'historique du mouvement doit être normalisé à la gamme souhaitée.

Plus : commodité et facilité d'adaptation du modèle de réseau.

Moins : La normalisation sera hétérogène sur l'ensemble de la série temporelle, en raison des différentes amplitudes des changements de prix.

Ainsi, la valeur de la probabilité d'affectation à l'une des deux classes correspondra toujours à l'intensité du signal, si je remplis initialement les sorties avec l'intensité du signal (disons, en introduisant simplement les incréments normalisés dans la plage 0-1, la sortie sera la suivante : plus la probabilité d'affectation à une classe particulière est élevée, plus l'incrément attendu est grand ?

Ou bien cela ne fonctionne pas comme ça et nous obtenons juste la probabilité d'affectation à une classe, mais la taille de l'incrément dans la sortie est perdue :)

 
Vizard_:

Si nous construisons une ligne de régression simple.... i.e..... est plus fort que...
Et si nous prenons un réseau neuronal avec une classification non linéaire...


Mesurez-les avec une règle et vous saurez. Par exemple, le désormais très en vogue Logloss(R - library(MLmetrics))

Ne serait-il pas mieux de créer plus de classes

Aussi pratique que vous le souhaitez...



En d'autres termes, l'information sur l'ampleur des incréments ne sera pas perdue après la formation, et la probabilité d'affectation à la première des deux classes peut être utilisée pour déterminer la force prédite des incréments, et pas seulement la classe dans laquelle les incréments aboutiront. Alors pourquoi s'embêter avec plusieurs sorties, 2 suffisent :)

 
Maxim Dmitrievsky:

En d'autres termes, l'information sur l'ampleur des incréments ne sera pas perdue après l'apprentissage, et la probabilité d'affectation à la première de deux classes peut être utilisée pour déterminer l'ampleur prévue des incréments, et pas seulement la classe dans laquelle les incréments apparaîtront. Alors pourquoi s'embêter avec plusieurs sorties, 2 suffisent :)

Si vous êtes intéressé par un bon résultat - par exemple, la probabilité de chaque classement à l'achat peut être différente de la probabilité du même classement à la vente.

Respectueusement.
 
Maxim Dmitrievsky:

Ainsi, la valeur de la probabilité d'affectation à l'une des 2 classes correspondra à l'intensité du signal, si au départ je remplis les sorties avec l'intensité du signal (disons que je ne fais qu'alimenter les incréments normalisés dans la plage 0-1, à la sortie on obtient que plus la probabilité d'affectation à telle ou telle classe est élevée, plus l'incrément attendu est grand ?

Ou bien cela ne fonctionne pas comme ça et nous obtenons juste la probabilité d'affectation à une classe mais la taille de l'incrément de sortie sera perdue :)

Le réseau neuronal lui-même ne sait pas ce dont il a besoin. Il apprend de ce que vous lui donnez à manger. S'il y a effectivement un modèle entre l'entrée et la sortie dans les données, avec un entraînement approprié, le modèle le détectera. C'est-à-dire que oui, la valeur de probabilité peut signaler la force d'un mouvement.


Je ferais la chose suivante : diviser les signaux en deux classes d'achat/vente par [0,1] ou sortie sinusoïde/tanh [-1,1].

 
Andrey Kisselyov:
La probabilité de chaque gradation à l'achat peut différer de la probabilité de la même gradation à la vente, vous devrez faire un certain travail si vous êtes intéressé par un bon résultat.

Sincèrement.

Non, j'ai déjà cité l'écran, les incréments sont stationnaires et symétriques des deux côtés de zéro, donc les probabilités seront +- les mêmes.


 
Et oui, c'est là que la normalisation entre en jeu. Il va rebondir, et normaliser les données différemment à différents intervalles.

Eh bien, si vous normalisez les données en une seule fois, les signaux seront beaucoup plus faibles.
 
Aleksey Terentev:

Le réseau neuronal lui-même ne sait pas ce dont il a besoin de votre part. Il apprend de ce que vous lui donnez à manger. S'il existe effectivement un modèle dans les données entre l'entrée et la sortie, le modèle le détectera avec un entraînement adéquat. Je veux dire, oui, la valeur de probabilité peut signaler la force du mouvement.


Je diviserais les signaux en deux classes par [0,1] ou par sortie sinusoïde/tanh [-1,1].


Oui, merci, c'est ce que je voulais entendre ... parce qu'un ami qui s'occupe de réseaux neuronaux m'a dit que la probabilité d'affectation à une classe est juste la probabilité d'affectation à une classe, les données sur les incréments absolus seraient perdues ... j'ai commencé à argumenter avec lui et j'ai fini par nous embrouiller tous les deux :)

Raison: