Comment faire pour déterminer le nombre de couches et les nœuds d'un réseau de neurones
Je suis actuellement à la construction d'un nn pour un dataset avec 387 fonctionnalités et de 3000 échantillons. Les sorties sont de 3 classes. J'ai configuré le réseau de la structure de la manière suivante:
input->200->{300->100}->50->sortie
Ai-je choisi le bon nombre de nœuds et de couches? Comment faire pour déterminer le nombre de nœuds de chaque couches(entrée,cachée et de sortie)? Est-il en règle?
Double Possible de multi-layer perceptron (MLP) l'architecture: les critères de choix du nombre de couches cachées et de la taille de la couche cachée?
alors, comment un grand nombre de noeuds devrait être là dans la couche d'entrée?
alors, comment un grand nombre de noeuds devrait être là dans la couche d'entrée?
OriginalL'auteur SimpleDreamful | 2016-02-20
Vous devez vous connecter pour publier un commentaire.
Règles? Autant que vous le souhaitez et aucun. Voici un extrait de la Réseau de neurones FAQ qui est une bonne page à consulter pour des questions de base:
Dans votre cas, cependant, on peut certainement dire que le réseau est beaucoup trop complexe (même si vous avez appliqué une forte régularisation). Pourquoi tant de couches cachées? Commencez avec une couche cachée -- en dépit de l'apprentissage en profondeur de l'euphorie, et avec un minimum de nœuds cachés. Augmenter le caché nombre de nœuds jusqu'à ce que vous obtenir une bonne performance. Seulement si non, je voudrais ajouter d'autres couches. En outre, l'utilisation de la croix de validation et de régularisation appropriée.
OriginalL'auteur davidhigh
Couches
Comme Yoshua Bengio, Chef de l'Institut de Montréal pour les Algorithmes d'Apprentissage remarques:
"Très simple. Suffit d'ajouter des couches jusqu'à ce que le test d'erreur ne s'améliore plus."
Une méthode recommandée par Geoff Hinton est d'ajouter des couches jusqu'à ce que vous commencez à overfit votre kit de formation. Ensuite, vous ajoutez d'abandon ou d'une autre méthode de régularisation.
Nœuds
Pour votre tâche:
L'entrée a 387 caractéristiques, ainsi la couche d'Entrée contient 387 nœuds, un nœud pour chaque fonctionnalité.
OriginalL'auteur andyandy
Comme ils l'ont dit, il n'y a pas de "magie" de la règle à calculer le nombre de couches cachées et les nœuds de Réseau de Neurones, mais il ya quelques conseils ou recommandations qui peuvent vous aide à trouver les meilleurs.
Le nombre de nœuds masqués est basée sur une relation entre:
À minimiser l'erreur et ont formé un réseau qui généralise bien, vous devez choisir un nombre optimal de couches cachées, ainsi que des nœuds dans chaque couche cachée.
Trop peu de nœuds de conduire à des erreurs de votre système en tant que facteurs prédictifs de risque d'être trop complexe pour un petit nombre de nœuds à capturer
Trop de nœuds overfit à vos données d'entraînement et de ne pas généraliser bien
Vous pouvez trouver certains conseils généraux sur cette page:
Section - Combien d'unités cachées dois-je utiliser?
Si vos données sont linéairement séparables, alors vous n'avez pas besoin de toutes les couches cachées. Sinon, il y a un consensus sur la différence de performances à partir de l'ajout de couches cachées: les situations dans lesquelles les performances s'améliorent avec une deuxième (ou troisième, etc.) couche cachée sont très petites. Par conséquent, une couche cachée est suffisant pour la grande majorité des problèmes.
Il y a quelques empiriques règles de pouce, à la de ces, le plus souvent invoqué est " la taille optimale de la couche cachée est généralement entre la taille de l'entrée et de la taille de la sortie des couches.
En somme, pour la plupart des problèmes, on pourrait sans doute obtenir des performances décentes par la définition de la couche cachée configuration à l'aide de seulement deux règles:
OriginalL'auteur omotto