L'étiquette du marché ou les bonnes manières dans un champ de mines - page 28

 
YDzh писал(а) >>

Réseau neuronal, 13 entrées, pas de couche cachée. Formation à l'algorithme génétique

Génial, YDzh!

Mes résultats sont beaucoup plus modestes. Vous devez le mettre sur une démo et voir où le réseau se coupe.

paralocus a écrit >>

Neutron, on dirait que tu avais raison à propos des 25 préparations... - :)

Quelque chose sur mon réseau n'apprend pas. Après 100 époques, les poids sont pratiquement les mêmes que ceux avec lesquels le réseau a été initialisé.

Sur une note connexe, une autre question stupide :

Le vecteur d'apprentissage est-il le même à chaque époque ou non ?

Quoi qu'il en soit, il s'avère que le rapport entre la correction accumulée et la correction accumulée au carré tend très rapidement vers zéro. C'est pourquoi, dès la 10e itération, l'apprentissage s'arrête pratiquement.

Il y a probablement une erreur dans le code. Je dois le chercher. C'est pour cette raison que j'ai d'abord couru la grille dans Matcadet, il est pratique de tracer toute la dynamique de l'apprentissage à n'importe quel niveau de détail et il est beaucoup plus facile de compiler des statistiques. Pour comparer les résultats de l'apprentissage, j'obtiens des statistiques indépendantes de 100 expériences (sur l'enseignabilité et la prédiction) et je ne compare que les moyennes d'état.

Quant au vecteur d'apprentissage, il est bien sûr différent pour chaque époque. Mais il est différent d'une manière particulière - le même, mais décalé vers la gauche à chaque fois d'un pas, et l'élément zéro prend la place d'un nouveau point de référence, etc.

P.S. J'étudie maintenant la répartition BP avec un pas uniforme, il s'avère que d'époque en époque, il est préférable de ré-randomiser tous les poids et de ré-entraîner complètement le maillage, plutôt que de conserver les connaissances acquises. Il s'agit peut-être d'une particularité des données d'entrée utilisées. Je tiens à souligner, paralocus, combien il est important d'autocontrôler tout ce qui se passe en combat - les poids augmentent-ils lentement ? - Il suffit de mettre un coefficient constant = 10 devant la somme calculée pour être sûr de ne pas se tromper !

 
Neutron >> :

Il doit y avoir une erreur dans le code. Nous devons le chercher. J'utilise d'abord Matcadet pour cette grille, il est pratique de retracer toute la dynamique de l'apprentissage avec tous les détails, et il est beaucoup plus facile de compiler des statistiques. Pour comparer les résultats de l'apprentissage, j'obtiens des statistiques indépendantes de 100 expériences (sur l'enseignabilité et la prédiction) et je ne compare que les moyennes d'état.

Quant au vecteur d'apprentissage, il est bien sûr différent pour chaque époque. Mais il en diffère d'une manière particulière : il s'agit du même vecteur, mais décalé vers la gauche d'un pas, et l'élément zéro est remplacé par une nouvelle donnée, etc.

Je creuse le code depuis hier. Il me semble avoir tout nettoyé, revérifié, réécrit en partie pour le simplifier. Maintenant, tout écrit et lit exactement comme il se doit.

Mais dois-je remettre à zéro le vecteur de correction après chaque époque ? Je pense que c'est la raison. Je comprends qu'il faut déplacer le vecteur d'un cran vers l'avant - c'est ce que je fais.

 

Bien sûr que oui !

Tous les compteurs sont remis à zéro au début de la nouvelle formation (époque).

 

Mathcad est-il difficile à apprendre ?

Même si j'en ai peur, je pense que je vais devoir m'y faire...

 
Neutron >> :

Je tiens à souligner, paralocus, combien il est important de tout vérifier soi-même en combat - les poids sont-ils lents à pousser ? - Mettez donc un coefficient constant = 10 devant la somme que vous obtenez et assurez-vous qu'ils ne se cassent pas !

La nécessité de l'autocontrôle me paraît évidente, bien que la croissance des poids dans cette mise en œuvre n'ait pas encore été observée. Pour ce qui est de l'endroit où mettre 10 - je n'ai pas encore compris.

D'ailleurs, si vous faites varier les poids au début de chaque époque, cela reviendrait à utiliser une seule époque. Elle est très proche de la vérité, puisque l'incrément du vecteur d'erreur devient négligeable pour N époques, et nous ne disposons pas des ressources supplémentaires d'un ordinateur personnel.

 
Neutron писал(а) >>

Cool, YDzh!

Mes résultats sont beaucoup plus modestes. Vous devez le mettre sur une démo et voir où le réseau se coupe.

J'ai un problème trivial avec ce système : je n'ai pas un ordinateur qui est toujours allumé... Je devrais essayer d'utiliser des délais plus courts, sinon l'analyse des erreurs prendra une demi-année :)

 
paralocus писал(а) >>

Mathcad est-il difficile à apprendre ?

...

le langage de programmation le plus simple, certaines personnes ne le considèrent même pas comme un langage. La plupart du temps, vous voyez une formule écrite dans un livre et vous l'écrivez dans Matcad.

la seule chose dont vous devez vous souvenir est que matcad est un langage matriciel. Même un nombre premier dans Matcad est une matrice. La seule chose à retenir est que même un nombre premier est une matrice.

 
Prival >> :

est le langage de programmation le plus simple, certaines personnes ne le considèrent même pas comme un langage. La plupart du temps, vous voyez une formule écrite dans un livre et vous l'écrivez dans Matcad.

La seule chose dont vous devez vous souvenir est que matcad est un langage matriciel. Même un nombre premier dans Matcad est une matrice. Je le considère (matcad) comme le sommet de l'évolution des langages de programmation.

Merci Prival !

>> : Content de vous voir ! - :)

 
paralocus писал(а) >>

Le vecteur d'apprentissage est-il le même à chaque époque ou non ?

J'ai mal répondu à votre question dans le post précédent - je faisais référence à la prévision de la nouvelle époque, et non à la nouvelle époque. Dans le cadre de l'entraînement sur un nouveau rebondissement, nous n'avons qu'un seul vecteur d'entraînement et une centaine d'époques d'entraînement avec correction des poids NS à chaque époque !

Un nouveau décompte est reçu - le vecteur d'apprentissage change et nous exécutons à nouveau une centaine d'époques d'apprentissage sur celui-ci, et ainsi de suite.

Désolé. Je suis déjà en train de m'embrouiller.

paralocus a écrit >>

Matcad est-il difficile à maîtriser ?

Même si ça me terrifie, mais je pense que je vais devoir trouver une solution...

Non, c'est facile. Procurez-vous un 2001i Pro.

 
paralocus писал(а) >>

Merci Prival!

C'est bon de vous voir ! - :)

Oui, je lis toujours très attentivement ce fil de discussion. Mais je ne comprends pas grand-chose à cause des termes. Synapses, époques ...etc.

Il faut du temps pour comprendre, il est préférable de le faire avec un professeur (ce sera plus rapide). Mais jusqu'à présent, je n'y suis pas parvenu. Je prépare des données pour la vérification de l'idée, je pense que son idée à vérifier par l'Assemblée nationale. Ensuite, le moment sera venu de comprendre ce qu'il faut programmer et comment le faire. Pour l'instant, je sais seulement (je pense savoir) de quelles données il doit être alimenté et sur quoi il doit être entraîné.

Je travaille avec Matkad 14 et il a des fonctionnalités plus pratiques que 2001i.