Comment évaluer concrètement la contribution d'une entrée "spécifique" au SN ? - page 2
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Quelle est la surprise ?
Eh bien, tout d'abord, j'ai immédiatement découvert une erreur persistante).
Deuxièmement, je pensais qu'en supprimant les entrées, je réduirais le caractère informatif des entrées, de sorte que l'efficacité du SN dans son ensemble serait réduite. Certains intrants se détérioreront beaucoup, d'autres un peu. Et peut-être que je trouverai de telles entrées, qui n'affectent rien du tout, et que je les supprimerai pour simplifier le réseau. Bien sûr, j'ai trouvé des entrées "vides", j'ai trouvé des entrées sans lesquelles le SN est incompétent, mais j'ai aussi trouvé des entrées, en supprimant lesquelles j'augmente le résultat du SN dans son ensemble. C'est une surprise pour moi, soit la formation est mauvaise, soit les entrées sont trop contradictoires et simplement nuisibles.
En somme, de quoi réfléchir pendant quelques jours.
Eh bien, tout d'abord, j'ai immédiatement découvert une erreur de longue date)
Deuxièmement, je pensais qu'en supprimant les entrées, je réduirais le caractère informatif des entrées, de sorte que l'efficacité du SN dans son ensemble serait réduite. Certains intrants se détérioreront beaucoup, d'autres un peu. Et peut-être que je trouverai de telles entrées, qui n'affectent rien du tout, et que je les supprimerai pour simplifier le réseau. Bien sûr, j'ai trouvé des entrées "vides", j'ai trouvé des entrées sans lesquelles le SN est incompétent, mais j'ai aussi trouvé des entrées, en supprimant lesquelles j'augmente le résultat du SN dans son ensemble. C'est une surprise pour moi, soit la formation est mauvaise, soit les entrées sont trop contradictoires et simplement nuisibles.
J'ai donc eu de quoi réfléchir pendant plusieurs jours.
il peut s'avérer que lors de la prochaine formation (sur un échantillon différent), ils seront nécessaires...
Pas tout à fait vendredi, mais ...
Il existe un NS, n'importe quel NS, il existe une entrée A={A1, A2, ....}. A20}. Formez le NS et obtenez un résultat satisfaisant. Comment évaluer concrètement la contribution de chaque élément de l'entrée A1, A2, ... ? A20 à ce résultat ?
Les options qui me viennent à l'esprit sont les suivantes :
1) D'une certaine manière, on additionne et on calcule tous les poids avec lesquels l'élément passe dans le réseau. Je ne sais pas trop comment faire, il faudrait que je me plonge dans le fonctionnement du réseau et que je calcule d'une manière ou d'une autre certains coefficients, etc.
2) Essayez de "mettre à zéro" d'une manière ou d'une autre, ou par exemple d'inverser un élément du vecteur d'entrée et voyez comment cela affecte le résultat final. Jusqu'à présent, je me suis contenté de cela.
Mais avant de réaliser cette deuxième variante, j'ai décidé de demander mon avis. Qui a peut-être réfléchi à ce sujet depuis plus longtemps que moi ? Peut-être quelqu'un peut-il conseiller un livre-article ?
Le degré d'influence de chaque entrée est pratiquement impossible à évaluer . Il existe toutes sortes de formules mathématiques, et des logiciels spécialisés peuvent calculer automatiquement le degré d'influence. Mais tous ces calculs ne sont qu'une valeur approximative, qui ne veut pas dire grand-chose, car elle peut avoir une grande marge d'erreur.
Oui, je suis généralement conscient de cela, il serait plus logique d'analyser les entrées dans la même statistique, mais il est associé à d'importants coûts de main-d'œuvre de transférer là en principe un système de travail. Je comprends aussi toute l'ambiguïté de l'interprétation de telles expériences. Mais il y a un avantage, c'est certain.
Il se peut que lors de la prochaine formation (sur un échantillon différent), ils soient nécessaires...
Je suppose que oui, mais il y a un NS, il est formé, il fonctionne, donc il peut se passer des entrées rejetées et il est logique de les rejeter pour simplifier le réseau, améliorer sa généralisabilité et améliorer la qualité de l'apprentissage à moindre coût.
Une méthode courante et efficace consiste à analyser les poids des NS après l'entraînement. Les poids sont initialisés de manière à ce que leurs valeurs ne soient pas significativement différentes de zéro, par exemple, moyenne 0, écart-type 0,1. Après l'entraînement, les poids relatifs aux entrées non significatives seront modulo proches de zéro, tandis que les poids relatifs aux entrées significatives seront très différents de zéro. Testé - il fonctionne sur des données synthétiques.
C'est en fait la première chose qui m'est venue à l'esprit, mais je n'arrivais pas à trouver comment mettre en œuvre cette analyse dans mon système de manière plus simple. C'est pourquoi j'ai utilisé la méthode inverse.
Maintenant, imaginez la situation. Vous avez trouvé 2 entrées qui ne permettent pas à la sortie nette d'avancer. Vous ajoutez une troisième entrée qui améliore considérablement le fonctionnement du réseau. Qu'en concluez-vous ? Que cet intrant a un impact élevé sur la production nette. En fait, la troisième entrée ne produira une perturbation à court terme qu'une ou deux fois pendant toute la période de négociation. Mais c'est cette perturbation qui sera décisive. Bien que le fait de la perturbation elle-même soit insignifiant. De même que la suppression d'une des deux premières entrées ne vous donnera pas un résultat satisfaisant. L'autre consiste à orienter le travail dans la direction suivante.
Lorsque vous entraînez un réseau, vous recherchez les minima locaux de la fonction. Pour être plus exact, nous recherchons le minimum global d'une erreur mais nous passons du minimum local au minimum global.
Je rencontre souvent une situation où un minimum local d'une fonction présente des résultats idéaux dans le futur.
La tâche est simple : sélectionner les entrées du réseau (nous ne devrons pas les changer plus tard) qui permettront au réseau d'avoir des minima locaux pendant l'apprentissage, ce qui les gagnera dans le futur.
Disons qu'au cours de la formation, vous obtenez en moyenne 10 à 20 minima locaux, et qu'au moins l'un d'entre eux est correct. Mais il est préférable de choisir autant de minimums locaux rentables que possible.......
Que pensez-vous de ce problème ? ? ???? Il s'agit plutôt de la réalité....
Notez ce que Leonid a écrit, et il a sacrément raison. Trouver l'influence des entrées sur la sortie du réseau est une tâche impossible. Oui, il est possible d'éliminer les éléments inutiles, j'en conviens, mais il est pratiquement impossible de déterminer l'influence de telle ou telle entrée sur la sortie.
Maintenant, imaginez la situation. Vous avez trouvé 2 entrées qui ne laissent pas la sortie nette se drainer. Vous ajoutez une troisième entrée qui améliore considérablement le fonctionnement du réseau. Qu'en concluez-vous ? Que cet intrant a un impact élevé sur la production nette. En fait, la troisième entrée ne produira une perturbation à court terme qu'une ou deux fois pendant toute la période de négociation. Mais c'est cette perturbation qui sera décisive. Bien que le fait de la perturbation elle-même soit insignifiant. De même que la suppression d'une des deux premières entrées ne vous donnera pas un résultat satisfaisant. L'autre chose est d'orienter le travail dans cette direction.
Maintenant, imaginez la situation. Vous avez trouvé 2 entrées qui ne permettent pas au réseau d'avancer. Vous ajoutez une troisième entrée qui vous aide beaucoup. Quelle conclusion en tirez-vous ? Que cet intrant a un impact élevé sur la production nette. En fait, la troisième entrée ne produira une perturbation à court terme qu'une ou deux fois pendant toute la période de négociation. Mais c'est cette perturbation qui sera décisive. Bien que le fait de la perturbation elle-même soit insignifiant. De même, si vous supprimez l'une des deux premières entrées, vous n'obtiendrez pas un résultat satisfaisant. L'autre chose est d'orienter le travail dans cette direction.
Il est clair que les entrées sont interconnectées et que l'interprétation des résultats de ces expériences est l'aspect le plus important. J'exclue les entrées non seulement une par une, mais aussi leurs différentes combinaisons de 1 à 5 (je pense que je vais étendre cette gamme à la moitié de toutes les entrées), de manière analogue à votre ajout d'une entrée supplémentaire et j'examine les changements dans la réponse de NS, tant au stade de l'entraînement qu'au stade avancé.
Lorsque vous entraînez un réseau, vous recherchez les minima locaux de la fonction. Pour être plus exact, nous recherchons le minimum global d'une erreur mais nous passons du minimum local au minimum global.
Il n'est pas rare, voire même fréquent, de rencontrer de tels cas où un minimum local d'une fonction donne des résultats idéaux dans le futur.
La tâche est simple : trouver de telles entrées au réseau (nous ne devrons pas les changer plus tard) qui permettraient au réseau pendant l'entraînement d'avoir des minima locaux qui rapportent des résultats dans le futur.
Disons qu'au cours de la formation, vous obtenez en moyenne 10 à 20 minima locaux, et qu'au moins l'un d'entre eux est correct. Mais il est préférable de choisir autant de minimums locaux rentables que possible.......
Que pensez-vous de ce problème ? ? ???? Il s'agit plutôt de la réalité....
Les réalités sont différentes pour tout le monde). En particulier, je ne cherche pas une erreur minimale, mais un profit maximal, un drawdown minimal, un PF satisfaisant, etc. En d'autres termes, j'ai des maxima locaux, mais cela ne change pas leur essence. Mon problème est résolu finement ou mal, mais depuis longtemps ...