L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 394
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Si vous commencez quelque chose pour un mois - utilisez une alimentation ininterrompue pour votre ordinateur, j'ai une fois eu 2 semaines de calculs, la lumière était éteinte))
Et la version GPU n'attend pas grand chose, réécrire du code me semble plus long et si l'auteur ne l'a pas fait, il est peu probable que quelqu'un d'autre finisse cette tâche jusqu'au bout.
Eh bien, l'auteur a tout mis en parallèle, maintenant je dois juste l'exécuter. Quoi qu'il en soit, j'ai maximisé l'exécution pendant 3 jours et j'ai obtenu un modèle avec 9 entrées, ce qui est un record pour moi maintenant pour être honnête. Je ne veux pas vraiment l'optimiser pendant si longtemps. Mais comme on dit. Le marché l'exige. Par conséquent, à la recherche de capacités, si quelqu'un a l'occasion d'optimiser un jeu de données sur l'optimiseur, et même sur 20-30 cœurs, je lui en serais très reconnaissant.
Mihail Marchukajtes:
des jours, des semaines d'apprentissage.
Apparemment, votre algorithme n'est pas optimal. Sur de si petits ensembles de données, vous pouvez utiliser en toute sécurité des algorithmes de forçage brutal tels que Knn, qui sont quasi-optimaux, si l'algorithme est plus lent que Knn, il s'agit probablement d'un mauvais algorithme ML ou d'une mauvaise configuration. Sur un tel ensemble de données, le cycle d'entraînement et l'exécution de l'ensemble ne devraient pas prendre plus d'une seconde.
J'ai expliqué plus haut. 100 divisions chaque division est entraînée 1000 époques etc. L'essence de l'optimiseur est de calculer le jeu de données de manière à ce qu'il n'y ait aucune question sur son adéquation. C'est-à-dire qu'il fait tourner ce dossier dans tous les sens, et vous ne cessez de le comparer à l'entraînement d'un seul neurone. IMHO. Il s'agit essentiellement d'un système d'IA dans lequel toutes sortes d'optimisations et de prétraitements sont effectués en même temps que la formation des neurones, et la formation elle-même est exécutée des centaines de fois. Si quelque chose....
J'ai expliqué plus haut. 100 divisions, chaque division est entraînée pendant 1000 époques, etc. Vous faites une fixation sur un seul entraînement d'un neurone, alors que l'essence de l'optimiseur est de calculer un ensemble de données de manière à ce qu'il n'y ait aucune question sur son adéquation. En d'autres termes, il fait tourner ce dossier de haut en bas au sens figuré, et vous continuez à le comparer à une formation unique d'un neurone. IMHO. Il s'agit essentiellement d'un système d'IA dans lequel toutes sortes d'optimisations et de prétraitements sont effectués en même temps que la formation des neurones, et la formation elle-même est exécutée des centaines de fois. Si quelque chose....
MLP devine 95% du temps... Je ne pense pas que vous fassiez le bon vélo) Sans vouloir vous offenser.
Vous avez une erreur.
La toute première colonne du tableau est le numéro de ligne, et cette colonne ne peut pas être utilisée dans la prédiction, mais elle n'est requise que pour jPrediction pour une raison quelconque.
La cible est distribuée de manière à ce que la première moitié des lignes soit de classe 0, et la seconde moitié des lignes de classe 1. Le neurone se souvient donc simplement que si le numéro de la ligne est inférieur à 228, il s'agit de la classe 0, sinon de la classe 1.
Vous avez une erreur.
La toute première colonne du tableau est un numéro de ligne et vous ne pouvez pas utiliser cette colonne dans la prédiction, mais elle est obligatoire uniquement pour jPrediction pour une raison quelconque.
La cible est distribuée de manière à ce que la première moitié des lignes soit de classe 0, et la seconde moitié des lignes de classe 1. Ainsi, le neurone se souvient simplement que si le numéro de ligne est inférieur à 228, c'est la classe 0, sinon c'est la classe 1.
Oh, au fait, oui. Je n'avais pas remarqué que c'était juste un numéro.
Sans elle Entrées à conserver : 4,50,53,59,61,64,92,98,101,104,
Erreur moyenne en formation (60,0%) =0,269 (26,9%) nLearns=2 NGrad=7376 NHess=0 NCholesky=0 codResp=2
Erreur moyenne sur la validation (20,0 %) parcelle =0,864 (86,4 %) nLearns=2 NGrad=7376 NHess=0 NCholesky=0 codResp=2
Erreur moyenne sur le test (20,0%) plot =0,885 (88,5%) nLearns=2 NGrad=7376 NHess=0 NCholesky=0 codResp=2
Clairement du surentraînement. Je dois donc passer les données en revue d'une manière différente.
Peut-être trier par poids des entrées ? Comme vous l'avez fait pour le problème dans le premier message du fil...
J'essaie de réécrire votre script R ci-joint, afin qu'il puisse déterminer les noms et le nombre de colonnes... mais je ne connais pas assez le R.
J'essaie de réécrire le script R que vous avez joint, afin qu'il détermine les noms et le nombre de colonnes... mais je ne connais pas assez le R.
Je commençais encore à apprendre R à l'époque, le script est presque entièrement généré dans rattle (environnement visuel pour le traitement des données dans R), c'est pourquoi il est si complexe et personnalisé pour toutes les occasions.
Ce...
devrait être changé en...
Et ça devrait aller.
En général, c'est une mauvaise approche, vous ne devriez pas définir l'importance des entrées de cette façon. Pour une raison quelconque, ça a marché cette fois-là, mais ça ne m'a plus jamais aidé.
Il est préférable de définir l'importance des prédicteurs de la manière suivante
Les résultats de l'évaluation de l'importance sont les suivants. Plus le prédicteur est élevé dans le tableau, mieux c'est. SeulsVVolum6, VDel1, VVolum9, VQST10 ont passé le test.
Dans rattle, nous pouvons construire 6 modèles à la fois sur ces 4 prédicteurs, et le SVM montre une précision d'environ 55% sur les données de validation et de test. Pas mal.
MLP fait bien les choses 95% du temps... Je ne pense pas que vous fassiez le bon vélo) Sans vouloir vous offenser.
Je fabrique aussi mon propre vélo, mais en me basant sur des décennies de MLP éprouvée (dont on dit qu'elle est obsolète et qu'elle a besoin de quelque chose de plus cool pour travailler).
Et essayez aussi les arbres de décision alglib, ils comptent plus vite et ont de meilleures performances que mlp. Diplerning est également plus rapide, mais pas dans alglib.
L'essentiel est le rapport vitesse/qualité, à quoi bon attendre une semaine, voire un jour ou même une heure, pour ne jamais trouver la combinaison optimale). Le modèle prend quelques secondes à apprendre, puis vous pouvez utiliser la génétique pour l'autosimulation des paramètres ou des prédicteurs, alors c'est de l'IA pure, sinon c'est de la merde).