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

 
Vladimir Perervenko:
Le paramètre seed = NULL est présent par défaut dans la fonction darch(). Donnez-lui une valeur quelconque, par exemple seed = 12345.

Il s'agit d'une petite valeur de learnRate. Commencez avec learnRate = 0.7, numEpochs = 10 pour RBM et NN. Mais ce sont des données de plafond. Vous devez optimiser pour un ensemble de données spécifique.

Bonne chance

Si vous voulez faire un ensemble, vous feriez mieux de supprimer set.seed(), non ? Pour que les grilles soient différentes. Ou set.seed(N grille) - pour la reproductibilité de l'ensemble.
 
elibrarius:
Et si l'on veut faire un ensemble, alors il vaut mieux supprimer set.seed(), non ? Pour que les grilles soient différentes. Ou set.seed(N mesh) - pour la reproductibilité de l'ensemble.

Oui, c'est vrai. Un ensemble de modèles aussi complexes (je veux dire darch) ne peut contenir plus de 3-5 pièces. Et ils doivent être très différents. C'est-à-dire qu'ils doivent avoir des valeurs différentes des paramètres (nombre de couches, de neurones, de fonctions d'activation, etc.), ou (beaucoup d'autres variantes que je ne décrirai pas maintenant). Une variante d'ensemble de la même structure entraînée avec une initialisation différente peut être possible, mais elle est faible. Faites au moins en sorte que le type d'initialisation soit différent.

Bonne chance

 
Vladimir Perervenko:

Oui, c'est vrai. Un ensemble de modèles aussi complexes (je veux dire darch) ne peut contenir plus de 3-5 pièces. Et ils doivent être très différents. C'est-à-dire qu'ils doivent avoir des valeurs différentes des paramètres (nombre de couches, de neurones, de fonctions d'activation, etc.), ou (beaucoup d'autres variantes que je ne décrirai pas maintenant). Une variante d'ensemble de la même structure entraînée avec une initialisation différente peut être possible, mais elle est faible. Faites au moins en sorte que le type d'initialisation soit différent.

Bonne chance

Si vous traitez un ensemble d'entraînements sur les mêmes données pour définir la meilleure structure, il est préférable de placer les résultats dans un ensemble. Si vous voulez utiliser l'option la plus simple - mailler avec un intervalle de neurones de 5 ou de pourcentage (avec cet intervalle, les modèles seront très bons), puis prendre 3-5 ou 10 meilleurs résultats et faire la moyenne par ces résultats. Les modèles seront construits et calculés de toute façon, alors pourquoi gaspiller nos efforts ? ))

 
elibrarius:

Si nous devons soumettre le CPU à un grand nombre d'entraînements sur les mêmes données pour déterminer la meilleure structure, il est préférable de placer les résultats dans un ensemble. Si l'on prend l'option la plus simple - une grille avec un espacement des neurones de 5 ou de pourcentage (avec un tel espacement, les modèles seront également bien différents), on prend alors 3-5 ou 10 meilleurs résultats et on les utilise pour faire la moyenne. Les modèles seront construits et calculés de toute façon, alors pourquoi gaspiller nos efforts ? ))


comment vous en sortez-vous en général avec ces modèles ? cela vaut-il la peine de s'y mettre ? :) la discussion est en cours mais personne ne parle des résultats

Peut-être quelques bancs par rapport à perseptrone ou gbm. Pour le forex, bien sûr.

 
Maxim Dmitrievsky:

:) car il y a une discussion mais personne n'annonce les résultats.

Si l'on considère le graphique des bénéfices comme un résultat, alors il n'y aura aucun résultat. Et la plupart des gens, même dans ce fil de discussion, n'ont pas besoin d'autre chose que d'un graphique des bénéfices. La seule preuve est que nous ne comprenons tout simplement pas les autres.
 
Maxim Dmitrievsky:

comment vous en sortez-vous en général avec ces modèles ? cela vaut-il la peine de s'y mettre ? :) la discussion est en cours mais personne n'exprime les résultats

J'ai, comme la plupart des gens, une erreur qui frôle les 50%. Mais au moins, il compte dix fois plus vite qu'Alglib. Si ici il faut 40-100 minutes pour calculer le modèle, j'ai attendu plus de vingt-quatre heures pour la même structure sur Alglib, je n'ai pas attendu et j'ai désactivé le calcul.
Mais si je dois maintenant reprendre des modèles dans le cycle, cela va encore prendre beaucoup de temps..... Je dois aussi programmer l'ensemble.
En général, il s'agit d'une longue période, car vous ne vous imposez pas de limites de temps sur le MO.

Intéressant - donc je creuse)

 
Yuriy Asaulenko:
Si vous considérez un tableau des bénéfices comme un résultat, il n'y aura aucun résultat. Et la plupart des gens, même dans ce fil de discussion, n'ont besoin que du graphique des bénéfices. La seule preuve est que nous ne comprenons tout simplement pas les autres.

Ce n'est pas comme si vous étiez impliqué dans l'arrière-pays.

 
elibrarius:
Sur le site de test, comme dans la plupart des cas, l'erreur est de l'ordre de 50%. Mais au moins, il compte des dizaines de fois plus vite qu'Alglib. Si ici pendant 40-100 minutes pour calculer le modèle, l'Alglib-e plus d'un jour d'attente pour la même structure, pas attendu et désactivé le calcul.
Mais si je dois maintenant reprendre des modèles dans le cycle, cela va encore prendre beaucoup de temps..... Vous devez également le programmer.

Je veux dire, le choix des traits est toujours le problème principal :) mais au moins c'est plus rapide à apprendre, et c'est une bonne chose.

 
Maxim Dmitrievsky:

c'est-à-dire que le choix des attributs reste le principal problème :)

et les caractéristiques et la structure du modèle s'avèrent être trop

 
Vladimir Perervenko:

1. De quelle optimisation parlez-vous ? Quel plateau ? Quel modèle ? Si vous parlez d'un réseau neuronal, il serait étrange de ne pas entraîner (optimiser les paramètres) le DNN avant de l'utiliser.

2. Quels paramètres du modèle ( ?) devraient être stables ?

Je ne comprends pas vos pensées.

Je parlais de l'optimisation des hyperparamètres du DNN qui doit être faite nécessairement et non dans le testeur.

De quoi parlez-vous ?

L'efficacité du modèle commecritère d'optimisation pour tout le reste.

Quel genre de plateau ?

Le plateau d'efficacité.

Quel modèle ?

N'importe quel modèle.

Si vous parlez d'un réseau neuronal, il serait étrange de ne pas entraîner (optimiser les paramètres) le DNN avant de l'utiliser.

Et c'est la question principale, que je vous ai déjà posée : comment les résultats de l'entraînement (optimisation des paramètres) dépendent de la non-stationnarité des prédicteurs d'entrée. Votre réponse a été la suivante : ce n'est pas le cas. Ce n'est pas clair pour moi, car les SN doivent être constamment réentraînés, donc ils réagissent à la non-stationnarité, donc les paramètres du modèle sont des variables aléatoires, donc il y a un problème de stationnarité des paramètres. C'est donc l'image complète de tout ce qui est abordé dans GARCH mais qui, pour une raison quelconque, n'est pas abordé dans la classification.

Типы оптимизации - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Типы оптимизации - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
В данном режиме происходит полный перебор всех возможных комбинаций значений входных переменных, выбранных для оптимизации на соответствующей вкладке. Быстрая (генетический алгоритм) В основу данного типа оптимизации заложен генетический алгоритм подбора наилучших значений входных параметров. Данный тип оптимизации значительно быстрее полного...
Raison: