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

 
eccocom #:
Lisez la documentation de TensorFlow, tout est sous forme de constructeur... pratiquement. Vraiment, ce sont des boîtes noires. Si cela vous intéresse, je peux vous donner le code du perceptron écrit à la main, et d'ailleurs ce ne sont que des calculs matriciels, c'est sur cela que tout est construit.

Je viens de revenir sur le billet d'Evgeny Dyuka et son ServerNN (lire le code) sur TensorFlow

parce que je suis tombé sur une sorte de critique des bibliothèques Python sur le hubra

Dans la pile sklearn, les paquets xgboost, lightGBM avaient des méthodes intégrées pour estimer l'importance des caractéristiques pour les "modèles en bois" :

1.Gain
Cette mesure montre la contribution relative de chaque caractéristique au modèle. Pour la calculer, nous allons à chaque nœud de l'arbre, nous regardons quelle caractéristique conduit à une division du nœud, et de combien l'incertitude du modèle est réduite selon la métrique (impureté de Gini, gain d'information).
Pour chaque caractéristique, sa contribution est additionnée sur tous les arbres.

2.Couverture
Indique le nombre d'observations pour chaque caractéristique. Disons que vous avez 4 caractéristiques, 3 arbres. Supposons que le fichier 1 dans les nœuds contient 10, 5 et 2 observations dans les arbres 1, 2 et 3 respectivement, l'importance du fichier en question serait de 17 (10 + 5 + 2).

3.Frequency
Montre la fréquence d'apparition d'une caractéristique donnée dans les nœuds de l'arbre, c'est-à-dire qu'il compte le nombre total de divisions de l'arbre pour chaque caractéristique dans chaque arbre.

Le principal problème de toutes ces approches est que l'on ne sait pas exactement comment une caractéristique donnée influence les prédictions du modèle. Par exemple, nous avons appris que le niveau de revenu est important pour évaluer la capacité d'un client bancaire à payer un prêt. Mais comment exactement ? Dans quelle mesure un revenu plus élevé modifie-t-il les prédictions du modèle ?

J'aimerais éviter ici les "modèles en bois", car ils consomment beaucoup de RAM (et je suis un fan de la rapidité et de la compacité)...

- Quoi qu'il en soit, la réponse à votre question est CONVENABLEMENT, INTÉRESSÉ... oui, c'est bien ce que je pensais, les réseaux neuronaux, c'est du calcul matriciel (c'est pour cela que je posais des questions à ce sujet et que je demandais des bibliothèques pour cela)

p.s.

je ne comprends pas, si ces bibliothèques qui sont dans la citation ne peuvent pas prédire les coefficients polynomiaux (réponse : de combien), alors comment peuvent-elles décrire un modèle dynamique ? (pas linéaire, pas de régression [ce qui est la même chose])... c'est pourquoi jusqu'à présent je me suis demandé comment faire un modèle (en essayant de me souvenir de la différenciation... avec difficulté).

Машинное обучение в трейдинге: теория, практика, торговля и не только
Машинное обучение в трейдинге: теория, практика, торговля и не только
  • 2021.10.23
  • www.mql5.com
Добрый день всем, Знаю, что есть на форуме энтузиасты machine learning и статистики...
 
JeeyCi #:

Je viens de revenir sur un post d'Evgeny Dyuka

parce que je suis tombé sur une sorte de critique des bibliothèques Python sur le hobby

Dans la pile sklearn, les paquets xgboost, lightGBM avaient des méthodes intégrées pour estimer l'importance des caractéristiques pour les "modèles en bois" :

  1. Gain
    Cette mesure montre la contribution relative de chaque caractéristique au modèle. Pour la calculer, nous allons à chaque nœud de l'arbre, nous regardons quelle caractéristique conduit à une division du nœud, et de combien l'incertitude du modèle est réduite selon la métrique (impureté de Gini, gain d'information).
    Pour chaque caractéristique, sa contribution est additionnée sur tous les arbres.
  2. Couverture
    Indique le nombre d'observations pour chaque caractéristique. Par exemple, vous avez 4 éléments, 3 arbres. Supposons que le fichier 1 des nœuds contient 10, 5 et 2 observations dans les arbres 1, 2 et 3 respectivement, l'importance de ce fichier est de 17 (10 + 5 + 2).
  3. Fréquence
    Indique la fréquence d'apparition d'une caractéristique donnée dans les nœuds de l'arbre, c'est-à-dire qu'il compte le nombre total de nœuds d'arbre divisés pour chaque caractéristique dans chaque arbre.


Le principal problème de toutes ces approches est que l'on ne sait pas exactement comment une caractéristique donnée affecte la prédiction du modèle. Par exemple, nous avons appris que le niveau de revenu est important pour évaluer la capacité d'un client bancaire à payer un prêt. Mais comment exactement ? Dans quelle mesure un revenu plus élevé modifie-t-il les prédictions du modèle ?

A mon goût, le python est critiqué par ceux qui ne savent pas le cuisiner. Toutes les autres choses sont plus faciles à faire, pas avec des solutions toutes faites et en les écrivant à l'aide de bibliothèques, et d'ailleurs en utilisant par exemple numpy vous obtiendrez probablement plus de vitesse que C++ car il est écrit en Fortran. D'autant plus que maintenant Python s'intègre facilement à MT5, pour ainsi dire en ligne droite, il permet d'utiliser l'IA sans aucun serveur avec des sockets.

 
JeeyCi #:

Je viens de revenir sur un post d'Evgeny Dyuka

parce que je suis tombé sur une sorte de critique des bibliothèques Python sur le hobby

Dans la pile sklearn, les paquets xgboost, lightGBM avaient des méthodes intégrées pour estimer l'importance des caractéristiques pour les "modèles en bois" :

  1. Gain
    Cette mesure montre la contribution relative de chaque caractéristique au modèle. Pour la calculer, nous allons à chaque nœud de l'arbre, nous regardons quelle caractéristique conduit à une division du nœud, et de combien l'incertitude du modèle est réduite selon la métrique (impureté Gini, gain d'information).
    Pour chaque caractéristique, sa contribution est additionnée sur tous les arbres.
  2. Couverture
    Indique le nombre d'observations pour chaque caractéristique. Par exemple, vous avez 4 éléments, 3 arbres. Supposons que le fichier 1 des nœuds contient 10, 5 et 2 observations dans les arbres 1, 2 et 3 respectivement, l'importance de ce fichier est de 17 (10 + 5 + 2).
  3. Fréquence
    Montre la fréquence d'apparition d'une caractéristique donnée dans les nœuds de l'arbre, c'est-à-dire qu'il compte le nombre total de partitions de nœuds d'arbre pour chaque caractéristique dans chaque arbre.


Le principal problème de toutes ces approches est que l'on ne sait pas exactement comment une caractéristique donnée influence les prédictions du modèle. Par exemple, nous avons appris que le niveau de revenu est important pour évaluer la capacité d'un client bancaire à payer un prêt. Mais comment exactement ? Dans quelle mesure un revenu plus élevé modifie-t-il les prédictions du modèle ?

Toutes ces méthodes sont inadaptées. Voici leur validation https://www.mql5.com/ru/blogs/post/737458
Les arbres et les forêts sont rapides à compter - vous pouvez également ajouter/supprimer des éléments un par un. Et trouvez celles qui améliorent et celles qui aggravent le résultat.

Сравнение разных методов оценки важности предикторов.
Сравнение разных методов оценки важности предикторов.
  • www.mql5.com
Провел сравнение разных методов оценки важности предикторов. Тесты проводил на данных титаника (36 фичей и 891 строки) при помощи случайного леса из 100 деревьев. Распечатка с результатами ниже. За
 
Quant aux modèles, il ne s'agit pas d'eux, mais du fait que l'IA est essentiellement un approximateur et que c'est là sa force dans tous les autres cas, à l'exception du marché, car il y a trop de poissons et de gozils sous la mer lisse qui provoquent des vagues de prix. Si le postulat selon lequel tout est intégré dans le prix est vrai, il y en a trop. Un réseau neuronal ne peut être qu'une petite partie d'un système, et quiconque n'est pas d'accord avec cela s'engage dans l'illusion.
 
eccocom #:
Quant aux modèles, il ne s'agit pas d'eux, mais du fait que l'IA est essentiellement un approximateur et que c'est sa force dans tous les autres cas, sauf sur le marché, car il y a trop de poissons et de gozils sous la mer lisse qui provoquent des vagues de prix. Si le postulat selon lequel tout est intégré dans le prix est vrai, il y en a trop. Le réseau neuronal ne peut être qu'une petite partie d'un système, et quiconque n'est pas d'accord s'engage dans l'illusion.
Et qui appelle les actualisateurs AI, que font-ils ? )
 
mytarmailS #:
Et ceux qui appellent les approximateurs de l'IA, que font-ils ? )
J'ai probablement eu tort de l'appeler IA, car je voulais parler d'un simple réseau neuronal, mais c'est un cas particulier d'IA. Je fais comme tout le monde, je cherche le Graal, je le fais de manière facultative, sans fanatisme). Je suis venu ici pour trouver des idées de modèles (dans le sens d'un réseau neuronal), ont quelque chose à partager moi-même. 20 ans d'expérience n'est certainement pas disponible, mais pour une centaine de variantes de la NS j'ai passé par. Efficacité maximale à courte distance, que j'ai atteint environ 68%, mais vous comprenez probablement que ce n'est pas stable et situationnel.
 
eccocom #:
J'ai probablement eu tort de l'appeler IA, car je ne parlais que d'un réseau neuronal, qui est un cas particulier d'IA. Je suis engagé de la même manière que tout le monde, à la recherche du Graal, en le faisant de manière facultative, sans fanatisme). Je suis à la recherche de quelques idées sur les modèles (dans le sens de réseau neuronal), ont quelque chose à partager moi-même. 20 ans d'expérience n'est certainement pas disponible, mais pour une centaine de variantes de la NS j'ai passé. L'efficacité maximale à courte distance que j'ai atteinte est d'environ 68%, mais vous comprenez probablement que ce n'est pas stable et situationnel.
Oui, bien sûr...
Mais attention aux experts qui ont 20 ans d'expérience et qui demandent du code aux autres ;)
 
mytarmailS #:
Oui, bien sûr, je comprends...
Mais attention à l'expert d'une vingtaine d'années qui demande du code aux autres ;)
Le code ne me dérange pas, tant que la personne est bonne). Au fait, j'ai lu l'article de Mihail Marchukajtes et certaines des idées qui y sont utilisées le sont aussi pour moi, mais j'ai des raisons complètement différentes de celles de l'auteur. Il serait intéressant de discuter des variantes de modèles et des couches qui sont les plus efficaces. Mikhail, à en juger par des preuves indirectes, semble utiliser des couches Sequential() à lien complet.

Mihail Marchukajtes
Mihail Marchukajtes
  • 2021.10.12
  • www.mql5.com
Профиль трейдера
 
eccocom #:
Le code ne me dérange pas, si la personne est bonne). A propos, j'ai lu l'article de Mihail Marchukajtes. J'utilise également certaines idées qui y sont appliquées, mais mes raisons sont complètement différentes de celles de l'auteur. Il serait intéressant de discuter des variantes de modèles et des couches qui sont les plus efficaces. Mikhail, à en juger par des preuves indirectes, semble utiliser des couches Sequential() à lien complet.

Il n'utilise pas du tout de neurones, il utilise un programme médiocre d'auteur tout fait (un hybride de SVM et de MSUA), il ne programme ni en Python ni en R, donc le mot Sequential() ne lui est pas familier, il a 20 ans d'expérience dans les réseaux de neurones, il est trop tôt pour s'y intéresser...


 
mytarmailS #:
Il n'utilise pas du tout les neurones, il utilise un programme médiocre d'auteur tout fait (c'est un hybride de SVM et de MGUA), il ne programme pas en Python ou en R-code, donc le mot Sequental() lui est inconnu, 20 ans d'expérience dans les réseaux de neurones, il est encore tôt pour s'y mettre...


)))). Je vois, il semble que vous ayez un bagage considérable de communication. J'écris moi-même probablement 8 fois sur 10 du code hindou)), mais je serais heureux de partager mon expérience tout de même. Et il serait formidable de trouver ceux qui écrivent en Python et non seulement le réseau neuronal, mais toute la structure des EA en général.