Question


J'utilise un réseau de neurones alimentation Foward en python utilisant la mise en œuvre pybrain . Pour la formation, je vais utiliser l'algorithme de rétro-propagation. Je sais que les neurones-réseaux, nous devons avoir juste la bonne quantité de données afin de ne pas sous / sur-former le réseau. Je pourrais obtenir environ 1200 modèles différents de données de formation pour les ensembles de données.
Voici donc la question suivante:
Comment puis-je calculer le montant optimal des données pour ma formation?
Depuis que je l'ai essayé avec 500 articles dans l'ensemble de données et il a fallu plusieurs heures pour Converge, je préférerais ne pas avoir à essayer de tailles trop. Les résultats nous sommes bons résultats avec ce dernier taille mais je voudrais trouver le montant optimal. Le réseau de neurones a environ sept entrées, 3 noeuds cachés et une sortie.

Était-ce utile?

La solution

  

Comment calculer le montant optimal   des données pour ma formation?

Il est complètement dépendante de la solution. Il y a aussi un peu d'art avec la science. La seule façon de savoir si vous êtes en territoire overfitting doit être tester régulièrement votre réseau contre un ensemble de données de validation (qui est des données que vous faites pas train avec). Lorsque la performance sur cet ensemble de données commence à baisser, vous avez sans doute trop loin formé -. Retour du rouleau à la dernière itération

  

Les résultats ont été bons résultats avec ce   dernière taille mais je voudrais trouver la   quantité optimale.

"Optimal" est pas forcément possible; cela dépend aussi de votre définition. Qu'est-ce que vous cherchez généralement un haut degré de confiance qu'un ensemble donné de poids se produira « bien » sur des données invisibles. Voilà l'idée derrière un ensemble de validation.

Autres conseils

La diversité de l'ensemble de données est beaucoup plus importante que la quantité d'échantillons que vous nourrissez au réseau.

Vous devez personnaliser votre ensemble de données pour inclure et renforcer les données que vous souhaitez que le réseau d'apprendre.

Une fois que vous avez conçu cet ensemble de données personnalisé vous devez commencer à jouer avec la quantité d'échantillons, car il est complètement dépendant de votre problème.

Par exemple: Si vous construisez un réseau de neurones pour détecter les pics d'un signal particulier, il serait tout à fait inutile de former votre réseau avec des échantillons zillion de signaux qui ne sont pas des pics. Il réside l'importance de la personnalisation de votre ensemble de données de formation, peu importe le nombre d'échantillons que vous avez.

Sur le plan technique, dans le cas général, et en supposant que tous les exemples sont corrects, alors plus d'exemples sont toujours mieux. La question est vraiment, ce qui est l'amélioration marginale (dérivée première de la qualité de réponse)?

Vous pouvez tester en elle la formation avec 10 exemples, vérification de la qualité (disons 95%), puis 20, et ainsi de suite, pour obtenir une table comme:

10 95%
20 96%
30 96.5%
40 96.55%
50 96.56%

vous pouvez voir clairement vos gains marginaux, et prendre votre décision en conséquence.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top