2010-03-24 8 views
0

Je prévois d'utiliser neurodotnet pour ma thèse de doctorat, mais avant cela, je veux juste construire quelques petites solutions pour s'habituer à la structure dll. Le premier problème que je veux modéliser en utilisant la propagation vers l'arrière est le rapport hauteur-poids. J'ai quelques données de taille et de poids, je veux former mon NN de sorte que si je mets un peu de poids alors je devrais obtenir la bonne taille comme sortie. J'ai 1 entrée 1 cachée et 1 couche de sortie. Maintenant, voici le premier de beaucoup de choses que je ne peux pas contourner :) 1. mes données de taille est sous la forme de 1.422, 1.5422 ... etc et les données de poids correspondant est 90 95, mais le NN prend l'entrée comme 0/1 ou -1/1 et donné la sortie dans la même plage. comment résoudre ce problèmeRéseau de neurones artificiels Problème de taille et de poids

+0

Vous pourriez vouloir accepter la réponse de charlieb comme la meilleure réponse. –

Répondre

2

Vous devez normaliser les données. Si vous ne savez pas quelles seront les plages pour les entrées du monde réel, choisissez une fourchette raisonnable qui couvrira toutes les entrées raisonnables. Si le NN ne voit jamais les entrées < 0.1 et> 0.9 je ne pense pas que ce sera un problème.

+0

Merci pour votre réponse, en normalisant vous voulez dire que mes entrées et sorties doivent être dans la plage (0.0-1.0)? Je l'ai fait en modifiant une application XOR échantillon qui vient avec neurodotnet, et ce que j'ai compris de la sortie que si la sortie> 0.5 il est considéré comme vrai et si moins de 0.5 il est pris comme faux qui est clair pas le cas dans mon problème car j'ai besoin de valeurs discrètes – user300937

+0

Oui normalisation signifie le mappage de toutes les valeurs dans la gamme 0.0-1.0. Vous avez besoin de la valeur maximale pour le jeu de données et la valeur minimale. Ensuite, vous pouvez appliquer le mapping en faisant (val-min)/(max - min) pour chaque val dans votre ensemble de données. Oui, si vous recherchez une sortie binaire> 0.5 est considérée comme vraie et <0.5 comme fausse, les réseaux de neurones sont capables de fournir des sorties significatives en virgule flottante. Le cas XOR simple utilise simplement binaire. Vous dites que vous avez besoin de valeurs discrètes. Vous pouvez créer une correspondance où, par exemple, 0,0-0,25 = 1, 0,25-0,5 = 2, 0,5-0,75 = 3, 0,75-1,0 = 4 ou tout ce dont vous avez besoin. – charlieb

+0

Merci beaucoup pour votre aide, l'application fonctionne bien maintenant, et maintenant je suis à la modélisation problème plus complexe, encore une fois merci pour votre aide, vous avez donné la poussée nécessaire :) – user300937

Questions connexes