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 :

Décodage des règles de Fuzzy Logic


Sujet :

Intelligence artificielle

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Décodage des règles de Fuzzy Logic
    Bonjour,

    Je suis nouveau sur le forum.
    Je suis autodidacte en math, curieux, et viens de découvrir un peu de Fuzzy Logic. Avant de me lancer plus en avant j’aimerais si possible quelques réponses :

    J’ai les résultats d’un processus basé sur de la fuzzy logic avec calcul d’un signal a partir de 3 inputs. Il y un fichier d’analyse qui me donne :

    Input A : [0,100] avec 5 fuzzy sets (voir miniature)
    Input B : [0,100] avec 8 fuzzy sets
    Input C : [-50,50] avec 3 fuzzy sets

    Règle 1 : IF (Input A = FS1 AND Input B = FS1 AND Input C = FS2 ) THEN = -0,1746
    Règle 2 : IF (Input A = FS1 AND Input B = FS2 AND Input C = FS2) THEN = -2.5032
    Etc…

    Exemples de données de la règle 1 dans ce fichier analyse :

    Input A // Input B // Input C // SIGNAL
    ------------------------------------------
    14.336 // 8.251 // -5.245 // -0.282
    7.168 // 4.125 // -7.168 // -0.370
    3.584 // 2.063 // -3.584 // -0.298
    ... Etc.

    Ce qui m’intéresse c’est le Signal calculé.
    Je n’ai pas les règles qui ont permis de déterminer ces signaux, juste ces résultats.

    Question : comment déterminer le signal à partir des inputs sans la fuzzy-logic précise ??? Est-ce possible ??
    Si j’ai Input A = 2 / Input B = 4 / Input C = 3 par exemple quel est le signal ???
    Est-ce que Matlab par exemple pourrait reconstruire les règles "à l'envers" puisqu’il connait les inputs et les IF …THEN ???

    En observant les données j’ai pu parvenir à une équation approximative (erreur de 0.001 parfois) et je calcule le signal par régression linéaire et matrice dans Excel à partir des plages d’inputs et signaux. Mais cela reste approximatif. Et impossible au delà de 3 inputs.

    signal = a*(InputA*InputB) + b*(InputB*InputC) + c*(InputA*InputC) + d*InputA + e*InputB + f*InputC + g

    Merci par avance
    Images attachées Images attachées  

  2. #2
    Membre émérite
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Points : 2 464
    Points
    2 464
    Par défaut
    as-tu regardé du côté de http://en.wikipedia.org/wiki/Neuro-fuzzy?
    MATLAB l'implémente dans ANFIS

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse.
    Oui il s'agit plutot de neuro-fuzzy... donc les choses se compliquent ! J'espérais une procédure plus simple avec Matlab. Je vais allez voir ton lien et plonger un peu les mains dans le cambouis.

  4. #4
    Membre émérite
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Points : 2 464
    Points
    2 464
    Par défaut
    en fait on peut imaginer beaucoup de modalités d'apprentissage pour un système flou. J'ai par exemple croisé des travaux mêlant algorithmes évolutionnistes et logique flous. Néanmoins, à ma connaissance, le plus courant est le neurofuzzy. J'ai utilisé cela dans un de mes projets de recherche : http://francky.me/publications.php#fuzzyDSS2011 (chapitre 4.3.4 Systemes neuro-fuzzy)
    MATLAB rend la chose aisée à utiliser (regarde la commande anfisedit), néanmoins les fonctions d'apprentissage d'un système flou dans ANFIS de MATLAB sont à l'heure actuelle assez limitées.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je suis allé voir ton travail : très interessant !

    Je suis parvenu à créer un .Fis type Sugeno dans Matlab. Mais je me posais une question dont je ne parviens pas a trouver la solution : comment calcule-t-on l'output selon Sugeno puisque c'est beaucoup plus simple qu'avec Mangani ???

    J'ai une rule qui affirme par exemple :

    IF input1 and input2 and input3 THEN = 2
    Le résultat est donc une constante.

    Si Y1 = 0.6 / Y2 = 0.3// Y3 = 0.9

    0.6 + 0.3 + 0.9 ..... ?????

    J'ai bien compris que l'Output complet sera la moyenne pondérée de toutes les rules mises en jeu, mais à quoi correspond W1 et W2 dans le graphique Sugeno mis en annexe ?

    Merci par avance
    Images attachées Images attachées   

  6. #6
    Membre émérite
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Points : 2 464
    Points
    2 464
    Par défaut
    cf première page de la pièce jointe, le paragraphe au centre.
    Images attachées Images attachées

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour la reponse.
    Dans mon exemple il fallait pour cette seule rule : y1*y2*y3 =w1
    Et pour toutes les rules concernees : resultat final = (w1*2 + .... ) / (w1 + ....)
    Ça marche nickel !

Discussions similaires

  1. Liste des règles à respecter
    Par Community Management dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/02/2013, 22h19
  2. [IMPORTANT] Rappel des règles
    Par Community Management dans le forum C++
    Réponses: 4
    Dernier message: 11/12/2006, 23h11
  3. [IMPORTANT] Rappel des règles
    Par Geronimo dans le forum Outils pour C & C++
    Réponses: 3
    Dernier message: 21/08/2005, 09h05

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