2015-10-10 1 views
2

Je suis nouveau dans Neural Network Toolbox (nntool) dans Matlab. J'ai formé deux réseaux en utilisant le même ensemble de données. Un de ces réseaux contient un plus grand nombre de neurones que l'autre.Comparaison de deux réseaux de neurones (nntool dans Matlab)

Maintenant, je me demande: comment puis-je comparer ces réseaux? Comment puis-je dire que le réseau A est meilleur que le réseau B?

S'agit-il du nombre de motifs correctement classés dans mon test? Disons que les deux réseaux ont montré le même ensemble de test et que le réseau A a classé correctement plus de modèles. Puis-je dire que le réseau A est (en général) meilleur que le réseau B? Ou devrais-je également regarder la performance en fonction de ma fonction de performance? Y at-il d'autres mesures pour comparer deux réseaux formés avec des paramètres différents?

Répondre

1

Cela dépend principalement de ce qui vous intéresse. Comme je le vois, dans la plupart des cas, l'analyse des étiquettes prédites, ou la précision des réseaux, peut conduire à une bonne décision, surtout si vos réseaux ont des architectures peu profondes, mais il y a des problèmes secondaires qui peuvent devenir plus importants. voir les filets avec des yeux plus larges.

  • Par exemple, dans la phase d'apprentissage, en ajoutant encore une unité cachée de la première couche cachée arrive avec l'insertion d (dimension de la couche d'entrée) des paramètres libres (poids) au modèle qui doit être estimée. D'autre part, plus de paramètres libres de votre modèle, plus de données d'entraînement sont nécessaires pour arriver à un modèle fiable. Par conséquent, les réseaux plus importants sont acceptés tant que vous disposez de suffisamment de données pour compenser les paramètres gratuits ajoutés. En règle générale, l'insertion de paramètres plus libres augmente le risque de surajustement qui a été un problème vital dans les réseaux neuronaux profonds et de nombreux efforts ont été déployés pour le résoudre.
  • Un autre cas qui est moins important dans les réseaux peu profonds, est le coût de calcul imposé par des nœuds supplémentaires cachés. Puisque nous regardons avec de grands yeux, mentionner cette question est quelque peu nécessaire. Dans les cas où votre réseau devient plus profond, ce coût de calcul devient plus difficile. Le coût de calcul en phase d'apprentissage est également un problème important lorsque vous utilisez la rétropropagation pour mettre à jour les paramètres.
  • Une autre chose que vous pouvez voir principalement dans les réseaux de neurones profonds est les besoins en mémoire. Au fur et à mesure que le nombre de couches ou de neurones augmente, le nombre de paramètres libres augmente considérablement de sorte que dans les réseaux profonds, vous pouvez voir des millions de paramètres. Il est clair que le chargement de cette quantité de paramètres demande des exigences matérielles suffisantes.

espérons que cela aide.