IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Méthodes prédictives Discussion :

[Perceptron multicouche] Dimension d'une couche cachée avec validation croisée


Sujet :

Méthodes prédictives

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 33
    Points : 16
    Points
    16
    Par défaut [Perceptron multicouche] Dimension d'une couche cachée avec validation croisée
    Bonjour,

    Je cherche à comprendre comment déterminer le nombre de neurones cachées sur une couche cachée d'un perceptron multicouche à trois couches.

    Je pensais à la dimension de Vapnik mais apparemment cette méthode est plus difficile (si vous la connaissez et savez comment le faire, ce sera avec grand plaisir).

    Selon des sites sur Google, l'idéal serait de regarder l'erreur de validation croisée. Je ne comprends pas ce qu'est train ? Test ?

    Par exemple, j'ai 3 vecteurs d'entrées de taille de 200 et 4 vecteurs de sortie de taille 200. Avec la méthode de validation croisée K-fold (K=10, par exemple), j'ai deux ensembles, l'un (K-1 partitions) d'apprentissage dit "train" et l'autre de test (1 partition). Si je comprends bien, l'algorithme est le suivant :

    1) découper l'échantillon en K partitions
    2) Pour chaque choix du nombre de neurones cachés et pour k entre 1 et K, calculer l'erreur quadratique entre les sorties de test (donc de taille 20 = 200/K=200/10) et les sorties du réseau de neurones et la stocker
    3) Calculer la moyenne des erreurs pour chaque de nombres de taille de la couche intermédiaire
    4) Tracer le graphe et déterminer l'erreur minimale

    Question : que faire des "train" (de taille 180) ??

    Merci beaucoup

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    C'est une simple validation croisée (https://fr.wikipedia.org/wiki/Validation_croisée) de type k-fold. Le principe d'une validation croisée et de vérifier sur des données inconnues que tout se passe bien durant l'apprentissage. Dans le cas du k-fold :
    - diviser l'échantillon en K sous échantillons (K0, K1, ... Kn).
    - faire l'apprentissage sur K0, K1, Kn-1 et valider sur Kn, tout en sauvegardant les erreurs.
    - itérer cela pour les K sous-échantillons.
    - calculer la moyenne des erreurs.
    - vérifier que les erreurs lors des validations est très proche ce celles des apprentissages.

    Le seul souci, c'est qu'à chaque fois tous les éléments de l'échantillons sont utilisés. Il est donc courant d'ajouter un échantillon de Test, qui ne sera utilisé QUE pour vérifier que tout s'est vraiment bien passé lors de la validation.
    Donc au début, tu écartes un sous-échantillon Test. Puis tu fais ton K-fold sur les données restantes. Puis à la fin de ton k-fold, tu utilises toutes tes données du k-fold pour l'apprentissage et tu fais un test final sur l'échantillon Test. Et là encore, tu dois avoir des erreurs très proches, sinon attention aux surprises.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 33
    Points : 16
    Points
    16
    Par défaut
    Bonjour, Toto13

    Ton message m'aide pas trop.

    Je cherche à optimiser mon réseau de neurones.

    Merci

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 597
    Points
    188 597
    Par défaut
    Citation Envoyé par Juunii Voir le message
    Je cherche à optimiser mon réseau de neurones.
    Que cherches-tu à optimiser dans ton réseau ? Pour les poids dans un réseau, c'est l'objectif de la rétropropagation de gradient. Pour la structure, c'est l'objectif de la validation croisée.

    Niveau algorithmique, en fusionnant ce qui s'est dit avant :
    - diviser les données en deux paquets : un gros, qui sera utilisé par la suite (TS) ; un plus petit, qui sera utilisé tout à la fin (VS) ;
    - choisir une structure de réseau (nombre de neurones, de couches, liens entre les neurones) ;
    - calculer l'erreur par validation croisée :
    --- diviser l'ensemble des échantillons de TS en k morceaux,
    --- pour tout i de 1 à k,
    ----- entraîner le réseau avec la structure déterminée (rétropropagation de gradient) sur tous les morceaux de données sauf le i,
    ----- calculer l'erreur quadratique sur les données i,
    --- moyenner les erreurs obtenues pour évaluer la qualité de la structure de réseau ;
    - recommencer pour une nouvelle structure (pour construire un certain nombre de structures) ;
    - choisir la meilleure structure ;
    - effectuer l'apprentissage avec cette structure sur tout TS ;
    - vérifier la qualité du modèle obtenu en le testant sur VS (seule fois où il est utilisé). Cette erreur quadratique doit être proche de l'estimation précédente.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

Discussions similaires

  1. Ajout d'une couche Wms avec G2oportail 3d
    Par kylarione dans le forum IGN API Géoportail
    Réponses: 3
    Dernier message: 11/04/2013, 12h40
  2. affichage d'une couche postgis avec openlayers
    Par georex dans le forum SIG : Système d'information Géographique
    Réponses: 0
    Dernier message: 20/04/2012, 16h15
  3. Problème avec la dimension d'une fenêtre
    Par sfpx dans le forum Delphi
    Réponses: 2
    Dernier message: 01/05/2007, 18h39
  4. Faire une requete de requete en SQL <= pb avec analyse croisée
    Par capitaine dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/08/2006, 16h13
  5. valider une page html avec Dom
    Par harold63 dans le forum Langage
    Réponses: 3
    Dernier message: 02/06/2006, 08h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo