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

 

De plus, pourquoi introduit-on des dérivées d'une fonction pour résoudre des problèmes comme l'exemple ci-dessus ? pour rendre la surface de la fonction plus lisse.

Un autre exemple, assez proche de la pratique. il y a un problème avec 10 questions, le réseau doit répondre à 10 questions. comptons le nombre de réponses. le maximum dans ce cas sera 10. c'est-à-dire que la fonction de ce problème est discrète. avec beaucoup d'extrema locaux. pourquoi ? regardons ici :

Comptons les bonnes et les mauvaises réponses. 0 est faux, 1 est juste.

0 1 1 0 0 0 0 0 1 0 0 0 1 1 1 : 4 réponses correctes.

1 1 1 0 0 0 0 0 0 0 0 0 0 1 : 4 réponses correctes.

0 1 0 1 0 1 0 0 0 1 1 0 0 0 : 4 correct.

0 0 0 0 0 0 1 0 0 0 1 1 1 1 : 4 correct.

0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 : 4 correct.

.......................................

nous pouvons voir que le réseau donne des choix de réponses avec un score de 4. c'est un exemple de la façon dont le réseau est bloqué. il ne voit pas de croissance supplémentaire. mélanger les réponses ne permet pas de marquer plus de points.

Comment rendre le réseau plus efficace ? pour ce faire, la fonction de réponse originale est convertie en une fonction d'erreur. ainsi, en minimisant l'erreur totale sur toutes les réponses, le réseau trouvera toutes les bonnes réponses. dans ce cas, le problème est réduit à la minimisation de l'erreur, le minimum est le 0 global, la fonction a de nombreux extrema, mais elle est maintenant lisse, le jeu est réduit à froid, chaud, chaud, chaud, ce qui est beaucoup plus "lisse" qu'un simple oui ou un simple non.

Malheureusement, la fonction problématique ne peut pas toujours être transformée en une fonction lisse. les fonctions présentées dans les articles et doivent être considérées comme déjà transformées, alors que les fonctions originales ont une topographie beaucoup plus complexe. l'efficacité des algorithmes d'optimisation réside donc dans la capacité à trouver l'extremum de la dérivée de la fonction.

 

Si j'étais sur un autre site, rien d'étonnant, mais discuter d'extrêmes avec des personnes qui ont vu des millions de résultats de tests - il est impossible de trouver les mots. On peut penser qu'ils sont divorcés.

Encore une fois : il n'y a pas d'extrêmes ! Non, nous les voyons, même classés par profit ou autre, mais il n'y a pas d'extrêmes. Tout comme il n'y a pas d'aigle sur une pièce qui est tombée avec l'aigle vers le haut, parce que ce n'est pas un aigle, mais la probabilité d'un aigle. Tous vos extrêmes sont des probabilités d'extrêmes. On pourrait parler de la valeur d'un extremum au sens de l'espérance mathématique et de l'intervalle de confiance, mais il est impossible d'en parler, car il n'y a pas d'espérance mathématique puisque la valeur de l'extremum n'est pas stationnaire !


Vous l'avez vu un million de fois, lorsque vous optimisez un Expert Advisor sur un intervalle - vous obtenez un ensemble de paramètres avec un ensemble de résultats optimaux. Si vous prenez un autre intervalle, souvent en l'augmentant simplement, vous obtenez un autre ensemble de paramètres avec des résultats différents, et vous pouvez subir une perte. Vous n'avez jamais vu cela ? Et cela n'a rien à voir avec l'algorithme d'optimisation. Vous pouvez faire de la génétique, vous pouvez compléter le suréchantillonnage, ce qui peut améliorer la génétique, mais en dehors de l'échantillon d'optimisation, le résultat sera un, très probablement triste.

 
СанСаныч Фоменко #:

Vous l'avez vu un million de fois, lorsque vous optimisez un Expert Advisor sur un intervalle - vous obtenez un ensemble de paramètres avec un ensemble de résultats optimaux. Si vous prenez un autre intervalle, souvent en l'augmentant simplement, vous obtenez un autre ensemble de paramètres avec des résultats différents, et vous pouvez subir une perte. Vous n'avez jamais vu cela ? Et cela n'a rien à voir avec l'algorithme d'optimisation. Vous pouvez faire de la génétique, vous pouvez compléter le suréchantillonnage, ce qui peut améliorer la génétique, mais en dehors de l'échantillon d'optimisation, le résultat sera un, très probablement triste.

Il s'agit d'un exemple de la manière dont on peut faire des choses inutiles))), ce qui donne une idée erronée des extrema dont nous parlons.

L'exemple ci-dessus est un exemple avec des réponses en grille. Réduisez le problème d'optimisation non pas à la réponse résumée "solde maximum", mais par exemple à l'écart quadratique de la différence directe des soldes sur chaque transaction. C'est un exemple de la façon de convertir le problème original en une dérivée. Le résultat sera une fonction lisse, pas une fonction discrète en termes de solde.

 
Andrey Dik groupe de variantes de chemin avec des caractéristiques similaires d'angle*longueur satisfaisant aux exigences de sécurité.

C'est ainsi, d'une manière générale. Tous les algorithmes ne sont pas capables de trouver une route "sûre". Les propriétés de recherche, la convergence et la vitesse de convergence sont toutes deux importantes.

Dans le cas le plus simple, il s'agira d'une courbe en spirale autour de la montagne jusqu'au sommet. il est évident que, la montagne n'étant pas lisse, il existe au moins plusieurs variantes de construction de la route - il s'agit d'un plateau de solutions satisfaisant certains critères, et non d'un plateau sous la forme d'une zone située quelque part à la surface de la montagne. un plateau sur la montagne n'est pas une solution optimale. un plateau de solutions est une solution optimale.

Soit dit en passant, tester a un critère d'optimisation complexe, il s'agit d'une fonction plus souple que l'équilibre, le facteur de profit et d'autres critères séparément.

 

https://habr.com/ru/post/318970/

Plus les algorithmes spécifiques pour l'apprentissage des réseaux sont différents des algorithmes généraux, plus il sera intéressant de faire des tests comparatifs des deux types d'algorithmes.
Методы оптимизации нейронных сетей
Методы оптимизации нейронных сетей
  • 2017.01.04
  • habr.com
В подавляющем большинстве источников информации о нейронных сетях под «а теперь давайте обучим нашу сеть» понимается «скормим целевую функцию оптимизатору» лишь с минимальной настройкой скорости обучения. Иногда говорится, что обновлять веса сети можно не только стохастическим градиентным спуском, но безо всякого объяснения, чем же...
 
Le critère de complexité a été supprimé dans les dernières versions pour une raison quelconque :)
 
СанСаныч Фоменко #:

Encore une fois : les extrema n'ont aucune valeur : un point instable, qui d'ailleurs n'existe pas, puisqu'il s'agit de processus aléatoires, non stationnaires de surcroît.

Il faut chercher un plateau, même celui de la figure, tant qu'il est rentable, même s'il est au-dessus du minimum local et global. Un tel plateau montrera théoriquement la limite supérieure de la rentabilité de la TS. Et les extrema trouvés ne sont rien du tout - ils ne sont certainement pas dans le futur, mais il y a de l'espoir pour un plateau

C'estexactement ce que j'essaie de comprendre, mais à un niveau plus technique....

Au lieu d'un plateau, j'ai un vrai signal, au lieu d'un extremum, j'ai du bruit...

Si nous tenons pour acquis que la surface d'optimisation est bruyante, nous devons éviter le bruit et rechercher les véritables extrema, qui devraient être beaucoup plus robustes aux nouvelles données.... Parce que logiquement, un signal lent change plus lentement dans le temps qu'un bruit rapide.

 
Maxim Dmitrievsky #:
Le critère complexe a été supprimé pour une raison quelconque dans les dernières versions :)

il semble être là)))


 
Evgeni Gavrilovi #:

Enfin, il dispose de sa propre fonction de perte, la dérivée étant représentée comme un produit de Sharpe, d'erreur et de poids.

is_max_optimal=False indique que la valeur est décroissante, mais comme j'ai aussi multiplié par -1, c'est le contraire qui est vrai.

Existe-t-il un moyen d'introduire l'équilibre ou autre chose à travers le gradient dans l'algorithme boost..... ?


Voici le schéma :

nous marquons le graphique avec des transactions parfaites (à l'extremum vers le bas nous achetons, à l'extremum vers le haut nous vendons) nous créons une fausse transaction parfaite.

Je l'appellerai un équilibre parfait


Ensuite, nous calculons la balance commerciale à partir de l'impulsion

puis, dans la fonction objective, nous calculons simplement l'erreur de la balance commerciale de l'impulsion par rapport à la balance idéale.

sqrt(sum((баланс буста - идеальный баланс) ^ 2)

Nous obtenons ainsi un ajustement à la balance idéale, c'est-à-dire qu'il ne s'agit pas d'une recherche d'un maximum de profit abstrait, mais d'un ajustement au commerce idéal exprimé dans la balance des profits.


Le bleu est l'équilibre idéal, le noir est une trace et un test de modèle.

 
Andrey Dik #:

Je pense que oui.)

Ah, maintenant ça ressemble à ça
Raison: