2012-09-21 11 views
3

J'ai un réseau qui a 3 entrées, 2 couches cachées (6 neurones chacun, fonction d'activation sigmoïde) et un neurone en sortie. Je m'attends à ce que mon réseau soit continu, car je ne regarde pas un réseau de classification (espoir qui a du sens). Mes entrées représentent les jours dans une année (plage 0-365). En fait, je les normalise à 0-1 (à cause du sigmoïde).Entraînement de réseau neuronal. Seulement quelques résultats

Mon problème est le suivant: peu importe l'erreur d'entraînement, les valeurs réelles lors de la réutilisation de l'ensemble d'apprentissage ne sont pas correctes. Selon le nombre d'époques que j'exécute, j'obtiens des résultats différents.

Si je forme mon réseau plus de quelques milliers de fois, je n'ai que deux résultats possibles. Si je l'entraîne moins, j'obtiens plus de résultats possibles, mais les valeurs sont loin d'être à la hauteur de mes attentes.

J'ai lu que pour un réseau continu, il vaut mieux utiliser deux couches cachées.

Je ne suis pas sûr de ce que je fais mal. Si vous pouvez être utile, ce serait formidable. Faites-moi savoir si vous avez besoin de plus de détails.

Merci

MISE À JOUR 1

I réduit le nombre d'éléments dans l'ensemble de la formation. Cette fois, le réseau a convergé dans un petit nombre d'époques. Voici les erreurs de formation:


Réseau de formation


Iteration # 1. Erreur: 0,0011177179783950614

Itération n ° 2. Erreur: 0,14650660686728395

Itération n ° 3. Erreur: 0,0011177179783950614

Itération n ° 4. Erreur: 0,023927628368006597

Itération n ° 5. Erreur: 0,0011177179783950614

Itération n ° 6. Erreur: 0,0034446569367911364

Itération n ° 7. Erreur: 0,0011177179783950614

Itération n ° 8. Erreur: 8.800816244191594E-4


Erreur finale: 0,0011177179783950614


+0

Pouvez-vous fournir plus de détails ... peut-être une table du nombre de époques et la précision? –

+0

J'ai ajouté l'erreur d'entraînement dans le message original. Est-ce ce que vous attendiez? Merci –

Répondre

5

Votre neurone de sortie doit avoir une fonction d'activation linéaire (au lieu de sigmoïde). Une sortie de fonction d'activation linéaire est juste la somme pondérée de toutes les entrées.

Si vous utilisez une fonction d'activation linéaire sur la couche de sortie, vous n'avez plus besoin de redimensionner les valeurs cibles de sortie entre 0 et 1.

Sur le nombre de couches ...Une couche cachée est généralement suffisante pour la plupart des problèmes, mais elle varie selon le problème et vous devez simplement essayer différentes structures réseau pour voir ce qui fonctionne le mieux.

+0

J'ai changé la fonction d'activation de sortie pour être linéaire. Maintenant, j'ai toujours une valeur de sortie de 0. –

+0

De quel type d'informations avez-vous besoin pour avoir un meilleur aperçu de mon problème? Merci –