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

Intelligence artificielle Discussion :

Approcher une fonction réelle à plusieurs variables.


Sujet :

Intelligence artificielle

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 24
    Points : 10
    Points
    10
    Par défaut Approcher une fonction réelle à plusieurs variables.
    Je cherche une configuration de réseaux de neauronnes pour réaliser un approximateur de fonctions réelles à plusieurs variables, je suis ouvert à toutes les propositions mais je ne vous cache pas que je préfère la simplicité en toute chose, si je peux éviter la rétro-propagation de gradient ou autre méthode mathématique ça serait une très bonne chose, ... j'attend vos propositions.
    merci.

  2. #2
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Citation Envoyé par kindyroot Voir le message
    Je cherche une configuration de réseaux de neauronnes pour réaliser un approximateur de fonctions réelles à plusieurs variables, je suis ouvert à toutes les propositions mais je ne vous cache pas que je préfère la simplicité en toute chose, si je peux éviter la rétro-propagation de gradient ou autre méthode mathématique ça serait une très bonne chose, ... j'attend vos propositions.
    merci.
    Hélas, pour une fonction de plusieurs variables à valeurs réelles, tu n'as pas trop le choix mais ça marche très bien...

    Un peu de lecture :
    http://alp.developpez.com/tutoriels/...eurones/#LVIII
    http://blog.mestan.fr/2008/06/25/the...ural-networks/

    Vouloir de la simplicité et utiliser les réseaux de neurones c'est "contradictoire" tout de même

    C'est une petite boîte noire. Dans pleins de langages tu as une bibliothèque toute prête en général

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par kindyroot Voir le message
    [...]ou autre méthode mathématique[...]
    merci.
    Tu vas avoir du mal à ne pas utiliser une méthode mathématique pour un problème d'analyse numérique -_-

    Faut se faire une raison : vous voulez faire de l'informatique à haut niveau ? faites des maths en même temps.

    Sinon, comme Alp, je te conseillerais d'utiliser les bibliothèques de calcul numérique existant plutôt que de chercher à réinventer la roue (car souvent on l'a fait plus hexagonale que ronde... voir carré parfois )

    Quel est le langage que tu utilises ?

  4. #4
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Citation Envoyé par Garulfo Voir le message
    Faut se faire une raison : vous voulez faire de l'informatique à haut niveau ? faites des maths en même temps.
    Tout à fait d'accord.

    En particulier, l'IA c'est énormément de maths.

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    oui je suis d'accord mais quand j'ai parlé de méthode pas trop mathématique, je voulais en fait dire pas trop "calculatoire" voilà le terme car on se perd souvent au codage et ça peut ne pas aboutir à cause de ça (mauvaise expérience à l'appui ) je voulais dire une méthode non-deterministe ou statistique ou quelque chose de ce genre, mais j'ai pas de problèmes en particulier avec les maths (quand on passe par les classes préparatoires, ... ), voilà, je suis entrain de suivre les liens proposés, je vais aussi chercher une roue sur sorceforge, merci bcp

  6. #6
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Il y a des modules en C++, Java, Python et bien d'autres langages pour programmer des réseaux de neurones et ils te machent beaucoup le travai... Généralement, tu dois juste donner la structure (nombre d'informations en entrée, nombres de couches cachées et neurones dans les couches cachées, nombre de neurones sur la couche de sortie), les exemples qui constituent la base d'apprentissage et voilà. Tu as ensuite si la structure est bonne et la base d'apprentissage assez variée, un réseau de neurones qui te donnera des résultats généralement corrects sur un assez gros ensemble d'exemples.

  7. #7
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    Je suis entrain de chercher tout de suite sur sourceforge, mais ce problème en particulier me fascine énormément, je voudrais bien faire un peu de recherche là-dessus quand même pour voir si une méthode non-deterministe performante existe.
    PS: Alp il ya un lien cassé dans ta signature (mes articles, ...).

  8. #8
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Citation Envoyé par kindyroot Voir le message
    PS: Alp il ya un lien cassé dans ta signature (mes articles, ...).
    Effectivement. Merci je corrige ça


    Sinon, lis mon article pour commencer, et ensuite essaye de jeter un oeil à la théorie du "Machine Learning" qui englobe les RdN

  9. #9
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par kindyroot Voir le message
    [...]si une méthode non-deterministe performante existe.[...]
    En informatique, tout est déterministe, y compris le hasard.

  10. #10
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Garulfo Voir le message
    En informatique, tout est déterministe, y compris le hasard.
    oui je te comprend mais bon, tu peux me dire à l'avance si un algorithme génétique va converger vers l'optimum global ou il va s'égarer ailleurs? on peut pas dire que tout est détérministe, enfin, je ne suis pas d'accord avec cette affirmation.
    Pour ce qui est des approximateurs de fonctions réeles à plusieurs variables réelles j'ai lu (si j'ai bien compris) que ça se faisait uniquement par PMC avec des fonctions sigmoide, je peux comprendre ça pour un problème de classification mais là je comprend vraiment pas pourquoi on utilise ces fonctions sigmoides, ..., en parallèle je cherche à coder un algorithme d'apprentissage de mon cru qui se base sur des techniques évolutionistes pour résoudre ce problème.

  11. #11
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par kindyroot Voir le message
    oui je te comprend mais bon, tu peux me dire à l'avance si un algorithme génétique va converger vers l'optimum global ou il va s'égarer ailleurs? on peut pas dire que tout est détérministe, enfin, je ne suis pas d'accord avec cette affirmation.
    Ce n'est pas une question de déterminisme ça. Avec exactement les mêmes entrées, l'algorithme convergera ou non. Et ça, ça veut dire que c'est déterministe.

    Si des fonctions du type random interviennent (qui sont totalement déterministes mais que l'on tente en général d'initialiser avec un paramètre extérieur comme le temps), si ces fonctions sont initialisées de la même manière à deux tentatives, ça donnera le même résultat.

    Je pense qu'il y a juste un problème de vocabulaire
    Je ne répondrai à aucune question technique en privé

  12. #12
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Citation Envoyé par kindyroot Voir le message
    Pour ce qui est des approximateurs de fonctions réeles à plusieurs variables réelles j'ai lu (si j'ai bien compris) que ça se faisait uniquement par PMC avec des fonctions sigmoide, je peux comprendre ça pour un problème de classification mais là je comprend vraiment pas pourquoi on utilise ces fonctions sigmoides, ..., en parallèle je cherche à coder un algorithme d'apprentissage de mon cru qui se base sur des techniques évolutionistes pour résoudre ce problème.
    La réponse à ce que tu ne comprends pas : http://en.wikipedia.org/wiki/Cybenko_Theorem

    Ce qui est intéressant avec ce théorème, c'est qu'une fonction qui vérifie les besoins peut de manière sûre être approchée par un PMC... il ne reste plus qu'à trouver les hyperparamètres

  13. #13
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par kindyroot Voir le message
    oui je te comprend mais bon, tu peux me dire à l'avance si un algorithme génétique va converger vers l'optimum global ou il va s'égarer ailleurs? on peut pas dire que tout est détérministe, enfin, je ne suis pas d'accord avec cette affirmation.

    Citation Envoyé par millie Voir le message
    Ce n'est pas une question de déterminisme ça. Avec exactement les mêmes entrées, l'algorithme convergera ou non. Et ça, ça veut dire que c'est déterministe.
    @kindyroot
    Oui je peux te dire avec du temps et une connaissance de comment sont implémenté les suites semi-aléatoires, ainsi que l'environnement d'éxecution. Sauf que je ne veux pas le prendre, d'où le fait que j'exécute un programme.
    Tu peux ne pas être d'accord. Mais tu as tort à ce moment. Dans l'état actuel des choses, le non déterminisme n'existe pas en informatique. On ne fait que simuler son comportement autant que possible. En fait, il n'est pas sûr que le non déterminisme existe tout court dans le monde réel.

    @millie
    C'est exactement ça : un problème de vocabulaire. Kindyroot ne sais pas ce qu'est le déterminisme en fait.

  14. #14
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Pour la philosophie du déterminisme... ça se passe ici : http://en.wikipedia.org/wiki/Determinism

    L'auteur a-t-il eu les réponses qu'il attendait ?

  15. #15
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par Garulfo Voir le message
    @kindyroot
    Oui je peux te dire avec du temps et une connaissance de comment sont implémenté les suites semi-aléatoires, ainsi que l'environnement d'éxecution. Sauf que je ne veux pas le prendre, d'où le fait que j'exécute un programme.

    Je conseille le cours ci sur l'algorithmique probabiliste qui est vraiment très bien : http://algo.developpez.com/cours/alg.../introduction/
    Je ne répondrai à aucune question technique en privé

  16. #16
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Garulfo Voir le message
    Kindyroot ne sais pas ce qu'est le déterminisme en fait.
    Merci d'écarter cette façon de dialoguer, peut être que tu n'en sais pas plus que quelqu'un qui en fait sa spécialité.

    Il y a certainement un problème de vocabulaire, certain confondent ce dont on parle avec les résultats des théories du chaos, le chaos (entropie infinie?) n'existe pas, les nombres aléatoires au sens exacte du terme n'éxistent pas dans ce monde, et je suis au fait des pratiques courantes pour améliorer la qualité des suite pseudo aléatoires, là on est d'accord, quand au non-déterminisme au sens technique du terme tel qu'on l'utilise (tout le monde) en algorithmique ça qualifie tout simplement les évènements don't on ne sais pas les causes
    c'est éxactement une question d' "ignorance", ça veut pas dire que c'est un évènement qui n'a pas de cause, mais qui est tout à fait causé par une suite de causalités qui sont tellement compliquées qu'on ne peut/(ne veut?) calculer, c'est peut être claire maintenant mais je me permet quand même de me repetter (car c'est pas la première fois que je tombe sur ce faux-débat), un évènement est non-détérministe quand on ne comprend pas comment ça se passe, voilà tout.
    Le théorème de Cybenko est un classique en réseau de neuronnes, moi je cherchais une éxplication de l'utilité de la fonction sigmoide (appart l'évidence qu'elle est infiniment dérivable) comparée par éxemple à la rampe y=x (x appartenant à ]-1 ..1[ (oui c'est pas dériable en -1 et 1) mais bon je m'en tappe si ça résout mon problème sur le reste de l'intervalle.

  17. #17
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    En quoi l'utilisation de la fonction sigmoïde te gêne ?

  18. #18
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    c'est pas que ça me gêne c'est juste que j'aimerais connaitre le pourquoi, j'aime pas faire les choses bêtement sans comprendre, si je fais aller je ne serais pas sûre de bien comprendre le mécanisme et je ne serais pas capable de l'améliorer au besoin. là j'ai bien mis au point un prototype d'algorithme d'apprentissage en utilisant des stratégies évolutionistes (meilleure fléxibilité et adaptabilité à des topologies complexes) mais j'ai toujours des ambiguités quand au pourquoi mathématique de la fonction sigmoide.

  19. #19
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    La fonction sigmoïde est indéfiniment dérivable et sa dérivée f' vérifie f' = f(1-f).
    Ceci facilite largement l'écriture de la delta rule pour l'apprentissage.

  20. #20
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    aaah et bien en voilà une réponse satisfaisante , et dire que j'allais passer à coté de cela si je ne m'étais pas posé la question , mais alors ça veut dire que si je n'utilise pas la rétro propagation du gradient il n'est plus la peine d'utiliser ces fonctions sigmoides? je pense qu'il n'y a pas de raisons particulières pour que les sorties soient comprises entre 0 et 1 (sauf si j'ai raté un autre épisode), je te remércie Alp de m'avoir éclairé là-dessus, tu m'as beaucoup aidé.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/09/2011, 14h03
  2. Réponses: 10
    Dernier message: 03/09/2011, 13h50
  3. Appel d'une fonction avec plusieurs variables
    Par midoparis dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/05/2008, 11h53
  4. Réponses: 2
    Dernier message: 23/11/2007, 11h33
  5. Réponses: 16
    Dernier message: 14/05/2007, 16h33

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