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 :

Les differents elements des reseaux neuronaux


Sujet :

Méthodes prédictives

  1. #21
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Une couche cachée suffit pour 99.9% des problèmes.
    Pour le problème de la réduction de dimensionalité, il en faut 3 dont la centrale qui donne la projection.
    C'est encore mieux que ça : le théorème de Cybenko (si on le traduit en réseaux de neurones) dit qu'on peut approcher toute fonction continue de I^n dans R (où I est un intervalle compact comme [0,1]) avec toute la précision voulue, avec une couche d'entrée à n noeuds, une couche cachée de taille finie et un neurone de sortie (modèle du perceptron multi-couche avec une sigmoïde comme fonction de seuil).

    Evidemment c'est un théorème d'existence, très général, qui ne donne ni les poids, ni les biais, ni le nombre de neurones dans la couche cachée.

  2. #22
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Points : 631
    Points
    631
    Par défaut
    Citation Envoyé par acx01b Voir le message
    .. les boucles ..
    On va faire simple : quand il y a des cycles (on dit comme ça) c'est un réseau récurrent, et c'est plus du tout la 'base' des réseaux de neurones.

    Dans la pratique, le nombre de couches, le nombre de noeuds dans chaque couche etc, tous ces critères donc, sont déterminés de manière expérimentale.

    La théorie, et tous les calculs, donnent un ordre d'idée, mais la valeur exacte dépend à chaque fois fortement du problème en question.

    Comme l'a fait remarquer Eusebius, on peut faire converger un réseau avec une seule couche cachée, et un nombre fini de noeuds sur cette couche, mais de la à savoir comment trouver le réseau le plus performant..

    Enfin, les réseaux de neurones, c'est une appellation générale, qui regroupe un nombre impressionnant de variantes : perceptron, kohonen, rbf, ART, pour n'en citer que qquns.


    Pour en finir avec les réseaux récurrents : c'est deja costaud a piger quand tu connais ton sujet, donc laisse ça de coté pour après.
    Venez partager vos expériences au sein d'un projet sur slicesofit, agile & amélioration continue

  3. #23
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bref au niveau de l'apprentissage, on couple souvent aux rdn un algorithme génétique. J'ai bossé un peu sur un algorithme génétique pour faire un programme capable de trouver un chemin entre deux points dans une zone carrée sans passer par des obstacle disposer aléatoirement...

    L'apprentissage se passe en plusieurs point :

    Premièrement il faut une population de base :
    -dans mon programme on tire 100 trajets au hasard (des trajets divisée en 100 segment)
    -pour un rdn on prend les différentes combinaisons de poids et neurones... (je n'ai jamais fait de rdn)

    Ensuite 4 phase se repetent en boucle durant l'apprentissage :

    1. Donner une note à l'individu (c'est la partie la plus importante de l'ag) :
    -dans mon cas, j'utilisais pour juger de la qualité d'un trajet des critères suivants : longueur total du trajet, longueur au moment de la première collision avec un obstacle, y a t-il collision ou non, distance par rapport au point de sortie...

    On peut prendre les critères que l'on veut... pour un rdn je dirais qu'il est meilleurs lorsqu'il fait moins d'erreur par exemple

    2. Croisement des meilleur
    -cette phase consiste a prendre les meilleurs individus d'une population et à les croiser entre eux... (c'est difficile de l'expliquer pour paraitre crédible)

    -dans mon cas pour croiser les différent chemin c'était simple : les chemins sont divisé en 100 segments. On prend a chaque fois le point qui se trouve entre les deux ( un enfant est une moyenne des deux parent )

    pour un rdn je ne sais pas comment se passe cette étape.

    3. Mutation
    Si on se contente du croisement on se rend compte bien vite que l'on s amuse simplement à établir des moyennes de notre population de base. La mutation introduit des individu qui on muté au hasard et qui aurons une chance d'être meilleur. Cette étape est indispensable dans l apprentissage car sinon tout est trop basé sur la population de départ.

    Donc a partir de notre population de base de 100 individus :

    -on garde les 10 meilleurs
    -on génère 100 enfant avec les 10 parents en les croisant
    -on génère 100 enfant muté
    -on garde les dix meilleurs sur 200 et on recommence

    Voici les base de l'apprentissage par algorithme génétique et je ne l'ai pas fait mais je sais que cette méthodes est souvent couplée aux réseaux de neurone

  4. #24
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Faiche Voir le message
    On va faire simple : quand il y a des cycles (on dit comme ça) c'est un réseau récurrent, et c'est plus du tout la 'base' des réseaux de neurones.

    ....

    Pour en finir avec les réseaux récurrents : c'est deja costaud a piger quand tu connais ton sujet, donc laisse ça de coté pour après.
    Les réseaux récurrents sont utilisés pour modéliser des données temporelles
    (on imagine que ce qui s'est passé à l'instant t influence ce qui va se
    passer à l'instant t+1).

    Ca ne sert à rien pour reconnaitre des champignons !!

  5. #25
    Membre régulier

    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Points : 105
    Points
    105
    Par défaut
    Je me permet de préciser que dans l'absolue la meilleur des classifications prendrais un nombre infinie de neurone dans la couche cachée. En fait, un nombre finie devrais suffire (les autres avec un poids de 0), nombre dépendant de l'application.

    Ça c'est dans l'absolue, dans le cas parfais ou l'on possède un nombre infinie d'exemple pour entrainer notre réseau. Ce qui n'est évidement pas le cas dans la réalité. Alors pourquoi est-ce que l'on ne prend pas simplement le maximum de neurones dans la couche cachée ?
    Tout simplement parce que cela provoquerait un sur-apprentissage ! Notre système serait extrêmement performant sur l'ensemble d'apprentissage, mais aurais une très mauvaise capacité de généralisation. Hors c'est justement la capacité de généralisation que l'on cherche à entrainer, pas le reste !

    Le nombre de neurones dans la (les) couche(s) cachée(s) est donc déterminé empiriquement[*], grâce à des tests effectué sur un ensemble de validation (différent de celui d'apprentissage donc).

    [*] Il y a de la recherche active en cours pour avoir des méthodes mathématique afin déterminer/s'approcher du nombre optimal dépendamment du nombre d'exemple que l'on possède.
    "The worst errors I've ever seen do not came from no knowledge, but from having just the the right amount of it, too small to really understand what you're doing, but enough to think you did. That amount of knowledge, is evil."

Discussions similaires

  1. les differents reseaux virtuels securisés.
    Par la boussole ekra dans le forum Protocoles
    Réponses: 4
    Dernier message: 17/07/2013, 22h28
  2. HQL - Restriction sur les elements des collections
    Par 17mounir dans le forum Hibernate
    Réponses: 1
    Dernier message: 04/02/2009, 18h22
  3. Tester si des listes contiennent les memes elements
    Par metalcoyote dans le forum Langage
    Réponses: 7
    Dernier message: 11/03/2008, 19h40
  4. Compter les differents element d'une table
    Par FlyByck dans le forum SQL
    Réponses: 1
    Dernier message: 10/12/2007, 09h17
  5. differents elements les 1 en dessous des autres
    Par hysah dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 07/01/2006, 14h38

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