Table des matières

Liste (par ordre alphabétique) de tous les programmes C++ disponibles en ligne de commande :



Certains de ces programmes sont des utilitaires : genrules, fislinks, perf, readdata, sample. Les autres sont des programmes d'apprentissage.

Le programme fis est destiné aux développeurs de nouveaux modules de FisPro. Il correspond au programme source testfis.cpp, situé dans le répertoire cpp/base de fispro, et donne des exemples d'appel de fonctions de fispro (voir les commentaires du source pour plus de détails).




Note valable pour tous les programmes C++ de FisPro :

Appel du programme sans argument : affiche les arguments possibles et leur usage.

Les différentes étapes de la démarche sont dans un premier temps brièvement décrites, puis l'ensemble de la procédure est illustré sur un jeu de données. Pour chacun des programmes sont indiqués les arguments de la ligne de commande (C++) ainsi que l'accès à l'option correspondante par l'interface (Java). La documentation de l'utilisateur décrit plus en détail leur fonctionnement.

Les fichiers mentionnés dans les lignes de commande sont livrés dans le répertoire EXEMPLES.


Notations :


  \fbox{SIF=système d'inférence floue }


  \fbox{SEF=sous-ensemble flou }


  1. Partitionnement

    Les partitions induites par FisPro sont des partitions floues fortes (voir glossaire) pour garantir qu'à chacun des sous-ensembles flous correspond un label linguistique. Une seule exception : les partitions de gaussiennes générées par l'OLS avec l'algorithme original de Hohensohn et Mendel.

    Trois types de partitions sont disponibles : hfp, k-means, regular.

    Le menu Apprentissage propose deux options pour générer les partitions : Générer un SIF sans règles, et HFP SEF.

    La méthode la plus simple est l'option Générer un SIF sans règles, disponible aussi dans le menu SIF et dans l'OLS. Dans cette option, il faut préciser le nombre de sous-ensembles flous par variable d'entrée ou de sortie, et le type de la partition.

    L'option HFP SEF permet de choisir automatiquement le nombre de SEF par partitions en fonction des données. Cette option est constituée d'une séquence d'étapes décrites en détail dans la section 1.

  2. Induction des règles

    Plusieurs méthodes sont disponibles dans FisPro pour induire automatiquement les règles d'un SIF :

    Les trois premières méthodes utilisent à la fois un fichier de configuration SIF, qui sert à définir les partitions, et un fichier de données.

    La méthode HFP SIF travaille uniquement à partir des données, elle a besoin de 2 fichiers particuliers : un fichier HFP et un fichier de sommets, décrits dans la section 1, et permet de générer les règles correspondant à l'option HFP SEF du menu Apprentissage/Partitionnement. L'algorithme consiste, en partant de la configuration la plus simple, à la complexifier en ajoutant à chaque fois un SEF à la partition d'une variable, et à rechercher la configuration la plus performante parmi les plus compactes. Le nombre de sous-ensembles flous par variable n'est pas spécifié a priori.

  3. Génération de partitions et induction de règles par OLS

    La méthode OLS peut travailler uniquement à partir des données, elle génère alors les partitions, soit des partitions floues fortes formées de triangles et de trapèzes, soit des partitions formées de gaussiennes, puis les règles. Elle peut aussi prendre en compte un fichier de configuration SIF, elle conserve alors ses partitions, et génère uniquement les règles.

  4. Optimisation

    L'option optimisation du menu Apprentissage permet d'ajuster la position des sous-ensembles flous des entrées ou des sorties, ou encore d'optimiser la conclusion des règles.

  5. Simplification

    Enfin, l'option simplification va tenter de simplifier le système en regroupant des règles entre elles ou en supprimant les règles les moins utiles.

  6. Réduction du vocabulaire de sortie

    Le vocabulaire de sortie désigne les conclusions distinctes des règles dans un SIF. Les procédures d'apprentissage engendrent souvent des règles avec des conclusions toutes différentes, tirées d'un ensemble d'exemples. Pour plus d'interprétabilité, on peut modifier légèrement ces conclusions en limitant leur nombre.

  7. Liens

    Le calcul des liens règles-exemples permet d'exprimer quantitativement le degré d'activation des règles par les exemples d'un fichier de données, de connaître les règles activées par chaque exemple, et réciproquement les exemples activant chaque règle.

  8. Echantillonnage

    L'option Générer échantillons du menu Données permet de générer des échantillons à partir d'un fichier de données, afin de créer des jeux d'apprentissage/test.

  9. Performance et données

    Ce programme, ou cette option, permet de mesurer la performance d'un SIF sur un jeu de données.

    Nous proposons deux jeux de données de test. Le premier est un exemple de classification, les iris, tandis que le second, le riz, est un problème de régression : la sortie est une valeur continue.

    Les iris (Fisher, 1936) sont des données formées de quatre variables d'entrée : longueur et largeur des sépales, longueur et largeur des pétales. La sortie est une des trois espèces suivantes : Setosa, Virginica ou Versicolor. L'échantillon est constitué de 50 individus de chacune des classes.

    Le jeu de données 'rice' (Ishibuchi, 1994) contient des appréciations sensorielles collectées sur plusieurs variétés de riz par un panel d'experts. L'échantillon est constitué de 105 individus. Les cinq caractéristiques d'entrée sont : l'arôme, l'apparence, le goût, le collant, la dureté. La sortie est une évaluation globale. La procédure est illustrée avec l'exemple des iris. Tous les fichiers manipulés sont au format texte et peuvent être modifiés par un éditeur quelconque.

  10. Vérification des données

    Le programme readdata permet de vérifier que la lecture des données : nombre de lignes, de colonnes, en-tête, séparateur, est conforme à ce qui est attendu.

  11. Fichier résultats de l'apprentissage

    Chaque procédure d'apprentissage crée un certain nombre de fichiers de résultats, dont 2 ont un format commun à toutes les procédures, et sont présentés en détail dans la section 11.