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 :

[Réseaux de neurones] Approcher une fonction


Sujet :

Méthodes prédictives

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2012
    Messages : 35
    Par défaut [Réseaux de neurones] Approcher une fonction
    Bonsoir,

    Je suis extrêmement intéressé par les réseaux de neurones et j'ai lu par ci par là qu'ils sont très utilisé pour approcher des fonctions, grâce à l'apprentissage. Mais j'ai du mal à imaginer comment le fait que des neurones soit ou pas activés peut arriver à ce résultat. J'ai déjà lu le cours de Alp et quelques pages wikipédia sur le sujet mais ça reste une zone d'ombre ...
    J'ai compris le principe de l'apprentissage, c'est pas un problème, mais comment utiliser les RdN pour approcher une fonction ?

    Merci,

  2. #2
    Membre confirmé

    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2012
    Messages : 35
    Par défaut
    Bonsoir,

    J'ai continué mes recherches et j'affine un peu ma question Donc, pour un MLP par exemple, comment utiliser les sorties (comprises entre 0 et 1 donc) de la couche de sortie pour obtenir l'image de X par l'approximation de la fonction ?
    J'ai pensé à un système binaire pur et dure (donc les sorties seraient la forme binaire de l'image) mais ça me semble difficilement applicable, spécialement pour les flottants ...

    Merci,

  3. #3
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut
    Bonsoir,

    Citation Envoyé par Darkemal Voir le message
    pour un MLP par exemple, comment utiliser les sorties (comprises entre 0 et 1 donc) de la couche de sortie pour obtenir l'image de X par l'approximation de la fonction ?
    Il s'agit juste d'une question d'échelle. Imaginons que tu cherches à prédire des valeurs contenues dans un segment [a,b], avec a<b. Alors, tu peux "transformer" [a,b] en le segment [0,1] et réciproquement à l'aide d'une fonction affine.

    Par exemple, la fonction affine f:[0,1]->[a,b] s'écrit f(x)=mx+p pour tout x compris entre 0 et 1. Pour déterminer les coefficients m et p, on utilise les relations f(0)=a et f(1)=b, c'est-à-dire p=a et m+p=b respectivement. On en déduit m=b-a et f(x)=(b-a)x+a. La fonction réciproque g:[a,b]->[0,1] s'écrit g(x)=(x-a)/(b-a) pour tout x compris entre a et b.

    Ensuite, tu as plusieurs approches possibles. Soit tu modifies ta fonction d'activation H pour qu'elle prenne des valeurs dans [a,b] et non pas dans [0,1]. Dans ce cas, il suffit de prendre la composée "f o H" définie par f(H(x)). Soit tu transformes la variable cible Y correspondant aux valeurs à prédire en une nouvelle variable Y' dont les valeurs sont comprises entre 0 et 1. Dans ce cas, tu poses Y'(x) = g(Y(x)).

    J'espère que c'est assez clair. J'ai essayé de faire au plus simple comme tu sembles être au lycée.

  4. #4
    Membre confirmé

    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2012
    Messages : 35
    Par défaut
    Effectivement je suis en Terminale.
    Je comprends effectivement, mais dans ce cas je suis obligé d'avoir des bornes ? Si je veux que mon intervalle d'arrivée soit ]-inf; +inf[, comment je peux faire ? J'avais pensé à diviser par exp(x) pour avoir la correspondance dans [0; 1] d'une sortie dans ]-inf; +inf[, étant donné que la fonction exponentielle est plus "forte" qu'un polynôme de degré x, non ? Est-ce que ça n'empêcherait pas le système de généraliser ?

    Merci,

    PS : SI tu veux utiliser des termes techniques vas-y, je chercherai sur google et je te demanderai en dernier recours

  5. #5
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut
    Citation Envoyé par Darkemal Voir le message
    Effectivement je suis en Terminale.
    Je comprends effectivement, mais dans ce cas je suis obligé d'avoir des bornes ?
    Des bornes tu en as, les valeurs minimales et maximales dans ta base d'apprentissage, la question est surtout de savoir si ce sont les bornes de ta population. Mais il s'agit d'un problème d'échantillonnage : l'échantillon d'apprentissage est-il représentatif de ta population? Rien ne t'empêche de prendre d'autres bornes que celles données par ta base d'apprentissage, par exemple la droite des réels, mais rien n'indique que tes résultats seront meilleurs tant que tu ne sauras pas définir ta population.

    Citation Envoyé par Darkemal Voir le message
    Si je veux que mon intervalle d'arrivée soit ]-inf; +inf[, comment je peux faire ?
    Tu peux prendre une fonction d'activation comprise entre -inf et +inf ou transformer ta variable cible avec une fonction adéquate (non affine).

    Citation Envoyé par Darkemal Voir le message
    J'avais pensé à diviser par exp(x) pour avoir la correspondance dans [0; 1] d'une sortie dans ]-inf; +inf[, étant donné que la fonction exponentielle est plus "forte" qu'un polynôme de degré x, non ?
    Effectivement, la fonction exponentielle croît plus vite que les polynômes, mais je ne vois pas comment tu passes de [0,1] à tout R avec cette simple fonction.

    Citation Envoyé par Darkemal Voir le message
    Est-ce que ça n'empêcherait pas le système de généraliser ?
    Généraliser à quoi? Dans la nature, on ne trouve pas de quantité physique non bornée; dans quelle application concrète a-t-on des mesures dans tout R? Tu n'auras besoin de ce genre de choses que dans des problèmes académiques qui peuvent avoir un intérêt théorique mais qui à ma connaissance n'admettent pas d'équivalent pratique.

  6. #6
    Membre confirmé

    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2012
    Messages : 35
    Par défaut
    Quelque chose que je n'ai pas précisé : je fais ça dans le but d'en apprendre plus sur les RdN, avec mes maigres connaissances en maths (ça vole pas haut la Term ...). C'est juste de la théorie que je veux faire, genre représenter la fonction x² ou exp(x) "pour le fun" (eh oui les maths ça m'amuse).

    Pour passer de R à [0, 1] on divise par exp(x) avec x l'entrée donné au RdnN (pour ce que je veux modéliser, il n'y a logiquement qu'une seule entrée), et pour passer de [0, 1] à R, on a donc juste à multiplier par exp(x). Je me demandais justement si l'utilisation de l'entrée donné au RdN pour déterminer la sortie n'allait pas l'empêcher de généraliser la fonction, mais c'est contradictoire ce que je dit en fait

    Tu n'auras besoin de ce genre de choses que dans des problèmes académiques qui peuvent avoir un intérêt théorique mais qui à ma connaissance n'admettent pas d'équivalent pratique.
    La prochaine étape est moins académique J'hésite en reconnaissance de la langue d'un texte et reconnaissance d'écriture (dactylo d'abord puis pourquoi pas manuscrite) vu que c'est plus ou moins la même chose).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Réseaux de neurones] Fonction d'activation
    Par rahma_gea dans le forum Méthodes prédictives
    Réponses: 0
    Dernier message: 11/12/2012, 11h52
  2. Réponses: 1
    Dernier message: 01/05/2010, 20h08
  3. Réponses: 1
    Dernier message: 12/12/2008, 13h42
  4. Approcher une fonction réelle à plusieurs variables.
    Par kindyroot dans le forum Intelligence artificielle
    Réponses: 22
    Dernier message: 21/07/2008, 21h06

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