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

 
Rorschach:

La dernière colonne est la cible, le reste est l'entrée

En général, j'ai divisé l'échantillon en 3 parties : 60% pour la formation et 20 pour le contrôle de la formation et l'échantillon non impliqué dans la formation.

La mémoire consomme beaucoup - 18 gigaoctets - je suis surpris. Combien de mémoire avez-vous ?

J'ai commencé le processus d'apprentissage avec des paramètres presque par défaut, mais je constate que l'échantillon de formation s'améliore rapidement, alors que l'échantillon de contrôle ne montre aucune amélioration après le premier arbre.

La question est donc : êtes-vous sûr que le motif est là ?

Il est suggéré que les classes ne sont pas du tout bien équilibrées, il semble qu'il y ait un pourcentage d'unités autour de 10% ?

 
Igor Makanu:

On ne peut donc pas formaliser le concept de CT ?

Est-ce que TC semble avoir de l'inspiration ? Ou jouer d'un instrument de musique ?

Dès que nous parviendrons à le formaliser et à l'écrire dans un langage, des gars intelligents inventeront un compilateur pour ce langage, et les traders disparaîtront dans l'oubli).

Igor Makanu:

Ou revenons à notre... - Il s'avère que le TS est avant tout l'analyse des informations du marché et la prise de décision

Si vous ne comprenez pas le sens des mots susmentionnés et que vous comprenez que, pour cette raison, les résultats de l'analyse de la même information peuvent ne pas être les mêmes pour différentes personnes et que seul l'avenir peut montrer qui a raison)

 
dr.mr.mom:

Pourquoi un tel pessimisme mondial ? ))) J'ai "regardé" comment ils sont formés avant tous les paquets modernes dans NeuroShell Day Pro. Et même là, j'ai obtenu des résultats robustes dont je ne sais pas comment ils fonctionnent à l'intérieur et il était presque impossible de les ajouter à MT4.

Je suis d'accord qu'il serait souhaitable de boulonner le GPU.

La question est de savoir quel type de SN ils sont et dans quel paradigme ils ont été construits/appris, le mien évolue.

Oui, la première variante robuste peut être entraînée même en une journée (bien qu'en pratique, sur un ancien ordinateur portable domestique, cela prenne 8 heures). Mais pour revenir sur la nécessité de faire évoluer la première variante au détriment de sa robustesse, il faudra attendre un mois. C'est-à-dire que même avec dix outils fonctionnant dans la vie réelle, il y aura toujours une nouvelle variante.

En ce qui concerne l'architecture, nous prenons l'algorithme NEAT comme base et y ajoutons nos propres caractéristiques. À la sortie, l'architecture évoluera, y compris l'architecture.

Donc ça se passe comme ça.

Et en même temps, je recommande de lire des livres/conférences sur la microbiologie, etc.

Et dans les disputes malheureusement l'un est un imbécile (argumentant sans connaissance), l'autre est un salaud (argumentant avec connaissance), je préfère un échange d'opinions avec des arguments/raisonnements.

Après tout, l'essentiel est d'avoir un impact, au diable tout ça, allons-y))))

Il n'y a pas de quoi discuter, car dans n'importe quel cadre normal, on a fait et montré, avec un minimum de code

les hombrews ne sont pas particulièrement discutés ici, seuls les modèles matures comme le catbust ou les réseaux neuronaux d'aujourd'hui

Il n'est même pas intéressant de discuter de ces histoires de souris avec les réseaux neuronaux mql, car le monde est très en avance, et chaque année l'écart double.

Supposons que vous me disiez : "J'ai tel et tel modèle sur tensorflow"... Je dis "bien, je peux faire le même modèle sur un Torch pendant 5 minutes et le vérifier. Et vous me dites que vous avez construit quelque chose en mql. Pourquoi ai-je besoin de cette information ? Comment puis-je la recréer ?

 
Aleksey Vyazmikin:

En général, j'ai divisé l'échantillon en 3 parties : 60% - formation et 20 témoins - formation et un échantillon non impliqué dans la formation.

Il consomme beaucoup de mémoire - 18 gigaoctets - je suis surpris. Combien de mémoire avez-vous ?

J'ai commencé le processus d'apprentissage avec des paramètres presque par défaut, mais je constate que l'échantillon de formation s'améliore rapidement, alors que l'échantillon de contrôle ne montre aucune amélioration après le premier arbre.

La question est donc : êtes-vous sûr que le motif est là ?

Il est suggéré que les classes ne sont pas du tout bien équilibrées, il semble qu'il y ait un pourcentage d'unités autour de 10% ?

Les systèmes d'arbres n'ont pas besoin d'équilibrer les classes dans un grand échantillon. Les réseaux neuronaux sont brouillés par le déséquilibre, et les arbres étalent clairement tout sur les feuilles.
C'est l'une des raisons pour lesquelles je suis passé aux arbres.

https://www.mql5.com/ru/blogs/post/723619

Нужна ли деревьям и лесам балансировка по классам?
Нужна ли деревьям и лесам балансировка по классам?
  • www.mql5.com
Я тут читаю: Флах П. - Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных - 2015 там есть несколько страниц посвященных этой теме. Вот итоговая: Отмеченный
 
Aleksey Nikolayev:

Eh bien, oui, seulement en réalisant qu'il est impossible de formaliser clairement et sans ambiguïté ce que ces mots signifient) et en réalisant que, pour cette raison, les résultats de l'analyse d'une même information peuvent varier fortement d'une personne à l'autre et que seul l'avenir pourra montrer qui avait raison).

avec l'analyse des informations du marché, en général, il n'y a pas de problème... à l'exception de l'avidité du chercheur qui pense que le marché ne donne des informations qu'à lui et qu'il doit traiter toutes les données, c'est-à-dire qu'ici la tâche est formalisée comme la recherche d'un modèle répétitif, les autres données devant être écartées (non utilisées).

avec la décision est triste - pour générer TS qui passera le test et l'avant est possible, mais de trouver des liens entre les statistiques du testeur de stratégie et le temps de persistance de TS ou la possibilité de déterminer la conformité de TS avec le contexte du marché - c'est le problème

c'est-à-dire que, comme vous l'écrivez, le problème se situe dans le futur.


Je pense qu'en général, nous avons fait quelques progrès dans la formalisation du problème,

En principe, il n'est pas difficile de faire un déchargement des statistiques de test et d'essayer d'entraîner NS en Python,

La détermination du contexte du marché, comme vous l'avez écrit, n'est que la décision d'un trader, c'est-à-dire que je doute qu'il soit possible de formaliser, d'algorithmer ou d'enquêter.

 
elibrarius:
Les systèmes d'arbres ne semblent pas avoir besoin d'équilibrer les classes. Les réseaux neuronaux sont brouillés par le déséquilibre, tandis que les arbres répartissent clairement tout sur les feuilles.
C'est l'une des raisons pour lesquelles je suis passé aux arbres.

CatBoost est nécessaire, mais il a son propre équilibreur, mais apparemment ne peut pas faire face.

En général, s'il y a un fort déséquilibre, alors l'apprentissage se fera, mais statistiquement, avec plus de zéros dans les feuilles, il n'y aura que des zéros, c'est-à-dire que s'il y a peu de règles claires pour tirer une petite classe, alors cela pourrait fonctionner, sinon elle se répandra dans toutes les feuilles.

 
Aleksey Vyazmikin:

CatBoost est nécessaire, mais il a son propre équilibreur, mais apparemment il échoue.

En général, s'il y a un fort déséquilibre, l'apprentissage se fera, mais statistiquement, avec plus de zéros dans les feuilles, il n'y aura que des zéros, c'est-à-dire que s'il y a peu de règles claires pour tirer une petite classe, alors cela peut fonctionner, sinon cela s'étalera sur toutes les feuilles.

Ou, comme toujours, il n'y a presque aucun modèle dans les données.

Aleksey Vyazmikin:

En général, s'il y a un fort déséquilibre, l'apprentissage se fera, mais statistiquement, avec plus de zéros dans les feuilles, il n'y aura que des zéros, c'est-à-dire que s'il y a peu de règles claires pour retirer une petite classe, alors cela peut fonctionner, sinon elle sera étalée sur toutes les feuilles.

La règle de base est claire : prenez la division qui rend les feuilles les plus propres des impuretés de l'autre classe.

J'ai ajouté un lien vers un blog, avec un grand échantillon il y aura quelque chose à former des feuilles avec une petite classe, de plus vous pouvez utiliser la racine de l'indice de Gini (mais je n'ai pas trouvé sa formule).

 
Aleksey Vyazmikin:

Je pense que pour une telle quantité de données, vous devriez rendre les arbres plus profonds, afin que les feuilles puissent être mieux nettoyées.
Si vous avez 10 000 exemples dans une feuille, bien sûr, elle sera étalée, mais si vous la divisez en 100, je pense qu'elle sera plus claire.

Alglib forest est jusqu'à 1 exemple par feuille, la séparation est de 100%. Il ne restera que 0 ou 1 dans les feuilles.
 
elibrarius:
Aleksey Vyazmikin:

Ou, comme toujours, il n'y a presque pas de modèle dans les données.

La règle de base est claire : prenez la fente qui rend les feuilles les plus propres des impuretés d'une autre classe.

J'ai ajouté un lien vers le blog, avec un grand échantillon il y aura de quoi former des feuilles avec une petite classe, de plus vous pouvez utiliser la racine de l'indice de Gini (seulement je n'ai pas trouvé la formule).

Il y a donc peu de prédicteurs - faible dimensionnalité, donc les options de combinaisons d'arbres sont également faibles.

J'ai pris un échantillon de 1% - il y a 100% d'apprentissage sur le test - je ne pense pas qu'il y ait un modèle prononcé.

De plus, CatBoost prend des prédicteurs de manière quelque peu aléatoire pour les construire - ce qui réduit l'ajustement, selon leur compréhension.

elibrarius:

Je pense que pour une telle quantité de données, vous devez rendre les arbres plus profonds, afin que les feuilles soient mieux nettoyées.
Si vous vous retrouvez avec 10 000 exemples dans une feuille, elle sera bien sûr étalée, mais si vous portez la division à 100, je pense qu'elle sera déjà plus claire.

L'arbre a une profondeur de 6, et je pense que nous avons besoin de plus de profondeur si nous avons plus de prédicteurs.

J'ai fait une grille de 256.

 
Aleksey Vyazmikin:

L'arbre a une profondeur de 6 et je pense que la profondeur est nécessaire avec plus de prédicteurs.

La grille est de 256.

Plus il y a de rangs, plus la profondeur est nécessaire.
S'il y a des gigaoctets, cela signifie des millions de lignes. Avec une profondeur de 6, la feuille finale sera égale à 1/64e du nombre total d'exemples/lignes, c'est-à-dire des dizaines de milliers s'il y a des millions d'entrées.

Essayez une profondeur de 15 (cela semble être un maximum, la feuille de travail finale contiendra 1/32768ème partie des lignes).

Raison: