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 :

Fonction Sigmoide d'un percetron ?


Sujet :

Méthodes prédictives

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 39
    Par défaut Fonction Sigmoide d'un percetron ?
    bonjour à tous

    j'utilise les classes de OpenCv sur les MLP

    je fais apprendre mon MLP à 3 couches en donnant des entrés diverses (réelles) et en forçant la sortie a 0.9

    pour l'apprentissage y a pas de problème .

    mais quand je mets des inputs dans mon réseaux, j'ai des valeurs > 1 alors que je veux pas en avoir

    j'ai lu le tuto et ce que je ne comprend pas c'est comment un perceptron a fonction sigmoïde peut donner des valeurs >1 .

    f(x)=β*(1-e-αx)/(1+e-αx), c'est la fonction seuil qu'utilise opencv

    merci de m'aider

  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 : 46
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    une "input", c'est une entrée... donc il faut forcément en donner à un perceptron comme à toutes méthodes de classement

    Qu'est ce que les nouvelles valeurs que tu mets en entrée de ton mlp ont de différent avec celles utilisées lors de l'apprentissage ?

    PS : trois couches cachées c'est assez important, surtout selon la taille du vecteur caractéristique. Tu risques d'être confronté à de l'apprentissage par cœur.
    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
    Alp
    Alp est déconnecté
    Expert confirmé

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Surtout qu'il se peut que 3 couches soient superflues.
    Peux-tu justifier ton choix ?

    Sinon, effectivement la fonction sigmoïde ne donne pas de valeurs supérieures à 1, de par sa définition.

    Il doit y avoir une petite erreur qui s'est glissée quelque part

  4. #4
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut
    Citation Envoyé par faroukus Voir le message
    bonjour à tous

    j'utilise les classes de OpenCv sur les MLP

    je fais apprendre mon MLP à 3 couches en donnant des entrés diverses (réelles) et en forçant la sortie a 0.9

    pour l'apprentissage y a pas de problème .

    mais quand je mets des inputs dans mon réseaux, j'ai des valeurs > 1 alors que je veux pas en avoir

    j'ai lu le tuto et ce que je ne comprend pas c'est comment un perceptron a fonction sigmoïde peut donner des valeurs >1 .

    f(x)=β*(1-e-αx)/(1+e-αx), c'est la fonction seuil qu'utilise opencv

    merci de m'aider
    Bonjour,

    la fonction sigmoide généralement utilisée dans les MLP est celle ci:

    f(x)=1/1+e^(-ax) pour tout réel x et une constante réelle a. Son image est dans l'intervalle [0,1].

    Pour la fonction f(x)=(1-e-αx)/(1+e-αx), l'image est dans l'intervalle [-1,1]

    Maintenant si β est une constante réelle, alors l'intervalle sera [-β,β].

    Il est facile de voir ceci en utilisant un "fonction plotter".

    Par conséquent ne soit pas surpris si tu utilise un β > 1 ou β < -1 que tu obtienne des nombres supérieurs à 1.

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Fonction API
    Par margilb dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/07/2002, 11h11
  3. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 16h19
  4. fonction printf
    Par ydeleage dans le forum C
    Réponses: 7
    Dernier message: 30/05/2002, 11h24
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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