Propriétés pour la construction d'un réseau de neurones en utilisant Multilayer Perceptron Keras?

datascience.stackexchange https://datascience.stackexchange.com/questions/9502

  •  16-10-2019
  •  | 
  •  

Question

Je suis en train de construire et de former un réseau de neurones Perceptron multicouches qui prédit correctement ce won président dans ce comté pour la première fois. Je les informations suivantes pour les données de formation.

Population totale Âge médian de% BachelorsDeg ou supérieur Taux de chômage revenu par habitant Total des ménages Taille moyenne du ménage% des propriétaires occupants% Locataire logements occupés% logements vacants valeur de la maison médiane La croissance démographique Maison croissance de maintien croissance du revenu par habitant Gagnant

C'est 14 colonnes de données de formation et de la colonne 15 est ce que la sortie devrait être.

Je suis en train d'utiliser Keras pour construire un réseau de neurones Perceptron multi-couches, mais j'ai besoin d'aide pour comprendre quelques propriétés et les avantages de choisir les inconvénients de différentes options pour ces propriétés.

  1. FONCTION ACTIVATION

Je sais que ma première étape consiste à trouver une fonction d'activation. J'ai toujours étudié les réseaux de neurones utilisés fonctions d'activation sigmoïde. Est une fonction d'activation sigmoïde le meilleur? Comment savez-vous que l'on à utiliser? Keras donne en outre les possibilités d'utilisation d'un softmax, softplus, relu, tanh, linéaire, ou d'une fonction d'activation hard_sigmoid. Je suis d'accord avec l'utilisation que ce soit, mais je veux juste être en mesure de comprendre pourquoi et les avantages et les inconvénients.

  1. INITIALIZAIONS PROBABILITÉ

je sais initialisations définissent la distribution de probabilité utilisée pour définir les poids aléatoires initiaux de couches Keras. Les options Keras donne sont uniformes lecun_uniform, l'identité normale, orthogonal, zéro, glorot_normal, glorot_uniform, he_normal et he_uniform. Comment ma sélection d'impact ici mon résultat final ou d'un modèle? Ça ne devrait pas pas d'importance parce que nous sommes « formation » quel que soit le modèle aléatoire et nous commençons par trouver une pondération plus optimale des couches de toute façon?

Était-ce utile?

La solution

1) L'activation est un choix d'architecture, ce qui se résume à un choix de hyperparam'etre. Vous pouvez faire un argument théorique pour l'utilisation des fonctions, mais la meilleure façon de le savoir est d'essayer plusieurs et d'évaluer un ensemble de validation. Il est également important de se rappeler que vous pouvez mélanger et assortir les activations de différentes couches.

2) En théorie oui, beaucoup initialisations au hasard serait le même si vos données ont été extrêmement bien comportés et votre idéal réseau. Mais dans la pratique initialisations cherchent à assurer le gradient commence raisonnable et le signal peut être backpropagated correctement. Probablement dans ce cas, l'un de ces initialisations exécuteraient même, mais la meilleure approche est de les essayer, de commutation si vous obtenez des résultats indésirables.

Licencié sous: CC-BY-SA avec attribution
scroll top