web-dev-qa-db-fra.com

Python scikit apprend MLPClassifier "hidden_layer_sizes"

Je suis perdu dans le manuel d'utilisation de la version 0.18 ( de http://scikit-learn.org/dev/modules/generated/sklearn.neural_network.MLPClassifier.html#sklearn.neural_network.MLPClassifier ):

   hidden_layer_sizes : Tuple, length = n_layers - 2, default (100,)
   The ith element represents the number of neurons in the ith hidden layer.

Si je recherche seulement 1 couche cachée et 7 unités cachées dans mon modèle, devrais-je mettre comme ceci? Merci!

    hidden_layer_sizes=(7, 1)
37
Chubaka

hidden_layer_sizes=(7,) si vous voulez seulement un calque caché avec 7 unités cachées.

length = n_layers - 2 est parce que vous avez 1 couche d’entrée et 1 couche de sortie.

41
Farseer

Je sais que je suis en retard pour répondre, toujours en train de partager ...

Dans le document

hidden_layer_sizes: Tuple, length = n_layers - 2, par défaut (100,)

signifie: hidden_layer_sizes est un tuple de taille (n_layers -2)

n_layers signifie pas de couches que nous voulons selon l'architecture.

La valeur 2 est soustraite de n_layers car deux couches (entrée et sortie) ne font pas partie des couches masquées et ne font donc pas partie du nombre.

default (100,) signifie que si aucune valeur n’est fournie pour hidden_layer_sizes, l’architecture par défaut aura un calque d’entrée, un calque caché de 100 unités et un calque de sortie.

Ligne

L'élément ième représente le nombre de neurones dans la ième couche cachée.

signifie que chaque entrée dans Tuple appartient à la couche cachée correspondante.

Exemple :

  1. Pour l'architecture 56: 25: 11: 7: 5: 3: 1, les couches masquées en entrée 56 et 1 en sortie seront (25: 11: 7: 5: 3). Alors Tuple hidden_layer_sizes = (25,11,7,5,3,)

  2. Pour l'architecture 3: 45: 2: 11: 2 avec l'entrée 3 et la sortie, les couches cachées seront (45: 2: 11). Alors Tuple hidden_layer_sizes = (45,2,11,)

J'espère que cela répond à votre requête dans son intégralité.

18
shantanu pathak