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 :

Apprentissage d'un perceptron multicouche sans exemple


Sujet :

Méthodes prédictives

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Apprentissage d'un perceptron multicouche sans exemple
    Bonjour !

    J'ai récemment commencé à étudier les réseaux de neurones, et je cherche à faire un apprentissage sans exemple.

    En gros, le réseau a des entrées initiales, des sorties et une fonction me permet de dire si oui ou si non les sorties aboutissent à une solution valide (sans dire explicitement pourquoi ça a ou ça n'a pas marché).

    Seulement, c'est que je vois pas comment m'y prendre pour modifier les poids dans mon réseau, j'ai essayé un espèce de système de récompense (un peu foireux), du style : lorsque l'essai a raté je baisse les poids inférieur à un seuil ou je les augmente, mais forcément ça ne marche pas

    Ma fonction pour vérifier est simple (c'est une simulation,le réseau est à 2 entrées, 2 sorties et une couche cachée de 3 neurones) :

    Elle prend A & B comme entrée initiales (qui sont, entre autre, les entrées du réseau), et sA et sB (Valeurs de sorties du réseau) et suit cette table (table bidon pour essayer) :

    A B sA sB S
    0 0 1 1 1
    0 1 0 1 1
    1 0 1 1 1
    1 1 1 1 1

    (S est la valeur renvoyée par la fonction, toutes les autres combinaisons de A,B sA & sB sont fausses)

    Le réseau est tout à fait capable de reproduire cette table si je lui donne les exemples.

    Merci pour votre aide, en espérant que ce que je cherche est possible

  2. #2
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Regarde du côté du Q-learning et des dérivés, ça peut te donner d'autres pistes.

    Après, pour ton affaire, tu as une entrée, tu fais ton truc pour déterminer un score qui te dit si oui ou non la solution est viable et tu utilises ce score pour mettre à jour ton réseau.

    En gros : Etat, Action -> score.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci bien, je vais regarder du côté du QLearning.
    Donc si j'ai bien compris, via le QLearning je fais un système de score par rapport à des actions répondant à des états, et je me sers de ce score pour mettre à jour mon réseau ?
    Mais comment je m'y prend dans ce cas pour gérer les poids de mon réseau ? Je prend le meilleur score (S,A) et je lance l'algo d'apprentissage sur A ?

  4. #4
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Non. Le Q-learning est une approche différente et plus simple que les réseaux de neurones. J'ai seulement dit que tu devais t'en inspirer.

    En gros, quand ton système se retrouve dans un état, tu dois avoir une fonction qui évalue si ta solution est satisfaisante ou non.
    Si tu n'as pas de critère de préférence sur un genre de solution plutôt qu'un autre, alors ta fonction qui évalue est une fonction de E dans {satisfaisant, non-satisfaisant}, E étant l'ensemble des valeurs possibles que peut prendre ton état (en fait, les entrées de ton réseau de neurones).

    Pour propager les poids dans ton réseau, tu fais du backprop. Cherche sur google, tu as plein de résultats en 1ère page.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Oui mais pour faire le backprop, il me faut la valeur désirée de la sortie, pour calculer son taux d'erreur, or là je ne l'ai pas, tout ce que je sais c'est si oui ou non la combinaison des sorties est validée, du coups j'avais pensé à superviser mon réseau via le QLearning, qui dirait quelles sorties sont OKs (sauf que du coups, ça prendrait énormément de temps..)

    Ou alors il y a une autre technique ?

Discussions similaires

  1. Perceptron multicouche (newff)
    Par Minoucha2006 dans le forum Méthodes prédictives
    Réponses: 1
    Dernier message: 26/11/2009, 10h55
  2. Apprentissage d'un perceptron multicouches
    Par Hypnocrate dans le forum Méthodes prédictives
    Réponses: 3
    Dernier message: 18/03/2009, 18h05
  3. Eclaircissements sur les perceptrons multicouches
    Par tnarol dans le forum Méthodes prédictives
    Réponses: 3
    Dernier message: 02/08/2008, 19h34
  4. Dur à expliquer sans exemple de code
    Par pelloq1 dans le forum Requêtes
    Réponses: 2
    Dernier message: 23/05/2008, 10h19
  5. Reconnaissance des entiers par perceptron multicouche ?
    Par ballo dans le forum Méthodes prédictives
    Réponses: 3
    Dernier message: 16/05/2007, 01h33

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