Title: MIXMOD
1MIXMOD
- Fiche didentité
- Comment utiliser Mixmod ?
- Fonctionnalités
- Perspectives
2MIXMOD
- Fiche didentité
- Comment utiliser Mixmod ?
- Fonctionnalités
- Perspectives
3Fiche didentité
- Partenariat
- Laboratoire Paul Painlevé (Lille) C. Biernacki
- Inria (projet Select) G. Celeux
- Laboratoire Heudiasyc (Compiègne) G. Govaert
- Laboratoire de Mathématiques de Besançon F.
Langrognet - Historique
- Début du projet janvier 2001
- Mixmod 1.7.1 juin 2006
- Mixmod 2.0 fin 2006
4Fiche didentité
- Distribution
- Logiciel libre (licence GPL)
- Site web www-math.univ-fcomte.fr/mixmod/
- 600 visites par mois
- 200 téléchargements par mois
5Fiche didentité
- Aspects informatiques
- Noyau en C (50 classes / 20 000 lignes)
- Interfacé avec Scilab, Matlab (et bientôt R)
- Plateformes Windows / Linux
- Cadre de travail
- Modèle de mélanges (gaussiens et multinomiaux)
- Problématiques traitées
- Estimation de densité
- Classification automatique
- Analyse discriminante
6MIXMOD
- Fiche didentité
- Comment utiliser Mixmod ?
- Fonctionnalités
- Perspectives
7Comment utiliser Mixmod ?
- Modes dutilisation
- En tant que bibliothèque de calcul
- Interfaces graphiques pour Scilab, Matlab
- Fonctions pour Scilab et Matlab
8Comment utiliser Mixmod ?
- Fonctions pour Scilab, Matlab
-
9Comment utiliser Mixmod ?
- Fonction Mixmod pour Scilab, Matlab
-
- out mixmod(data, nbCluster ,criterion, model,
strategy, weight, knownPartition) - Exemples
- out mixmod(data, 3)
- out mixmod(data, 23)
- out mixmod(data, 23, ICL,
Gaussian_pk_L_I, wgt)
10Comment utiliser Mixmod ?
- Fonction Mixmodview pour Scilab, Matlab
-
- mixmodView(out ,axis, marker, density,
isoDensity, boundary) - axis les axes sur lesquels seront visualisés
les résultats - Ex 1, 1 2 3, pca2D,
- marker la façon dafficher les individus
- point, class, number, classNumber
-
- density la ou les densité(s) à afficher
- densityComponent, densityMixture,
bothDensity - isoDensity la ou les isoDensité(s) à afficher
- isoDensityComponent, isoDensityMixture,
bothIsoDensity - boundary les frontières de classification
- border, zone, bothLimit
11Comment utiliser Mixmod ?
mixmodView(out, list(1), bothDensity)
mixmodView(out, list(pca3D), class)
12Comment utiliser Mixmod ?
mixmodView(out, list(1 2), classNumber)
mixmodView(out, list(1 2), class,zone,
isoDensityComponent)
13Comment utiliser Mixmod ?
mixmodView(out, list(1 2), zone,point,
densityMixture)
mixmodView(out, list1 2), class,zone,
isoDensityMixture)
14MIXMOD
- Fiche didentité
- Comment utiliser Mixmod ?
- Fonctionnalités
- Perspectives
15Fonctionnalités Initialisation /Algorithmes/
Stratégies
- Problème n1
- Hypothèse
- On connaît le nombre de classes (3)
- On connaît le modèle gaussien sous-jacent
(proportions libres, matrices de covariance de
même orientation et volumes libres) - Objectifs
- Donner le label de chaque individu
- Donner une description des classes
-
Données (2D)
16Fonctionnalités Initialisation /Algorithmes/
Stratégies
Code scilab
- - classification (labels)
- zone de classifications
- caractérisation des classes (variance)
17Fonctionnalités Initialisation /Algorithmes/
Stratégies
- Comment obtient-on ces résultats ?
- Utilisation des options par défaut
- - algorithme EM
- - initialisation Random
- - modèle gaussien par défaut
- Convergence rapide (10 itérations)
-
18Fonctionnalités Initialisation /Algorithmes/
Stratégies
- La convergence dépend de linitialisation de
lalgorithme -
Initialisation 1
10 itérations
Initialisation 2
60 itérations
19Fonctionnalités Initialisation /Algorithmes/
Stratégies
- La convergence dépend de linitialisation de
lalgorithme -
Initialisation 1
10 itérations
Initialisation 2
60 itérations
20Fonctionnalités Initialisation /Algorithmes/
Stratégies
- La convergence dépend de linitialisation de
lalgorithme -
Initialisation 1
10 itérations
Initialisation 2
60 itérations
21Fonctionnalités Initialisation /Algorithmes/
Stratégies
- La convergence dépend de linitialisation de
lalgorithme -
Initialisation 1
Initialisation 2
22Fonctionnalités Initialisation /Algorithmes/
Stratégies
- La convergence dépend de linitialisation de
lalgorithme -
Initialisation 3
Vraisemblance -1820
23Fonctionnalités Initialisation /Algorithmes/
Stratégies
- Initialisations dans Mixmod
- Random
- la meilleure initialisation parmi n tirages au
hasard (n5) - Small_EM
- la meilleure configuration parmi n tirages au
hasard suivis de m itérations de EM (mlt10 et
nombre total de EM50) - User
- on donne des valeurs des paramètres du mélange
(proportions, moyennes, variances) - User_Partition
- on donne une partition (éventuellement
incomplète) - CEM
- la meilleure configuration parmi n
initialisations Random suivies de m itérations
de CEM (n10, m50) - SEM_MAX
- la meilleure étape de n itérations de SEM
(initialisé par Random) (n500)
24Fonctionnalités Initialisation /Algorithmes/
Stratégies
- Définition dune stratégie dalgorithmes dans
Mixmod - Une Stratégie est définie par
- Une méthode dinitialisation
- Une succession dalgorithmes
- Pour chaque algorithme, on définit un critère
darrêt - Apres un nombre ditérations
- Après stagnation de la vraisemblance (ou
vraisemblance complétée) - Ou dès que lun de ces critères a été atteint
- Exemple
- Initialisation Small_EM
- 100 itérations de SEM
- EM jusquà ce que la variation de vraisemblance
entre 2 itérations soit lt 10-4 (initialisé avec
le meilleur paramètre des itérations de SEM)
25FonctionnalitésChoix de modèle
- Problème n2
- Contexte
- On connaît le nombre de classes (3)
- On ne connaît pas le modèle gaussien sous-jacent
- Objectifs
- Choisir le meilleur modèle
- Pour ce modèle
- Donner le label de chaque individu
- Donner une description des classes
-
Données (2D)
26FonctionnalitésChoix de modèle
- 28 modèles gaussiens
- 14 modèles définissant les contraintes sur les
matrices de covariance - Proportions libres ou égales
27FonctionnalitésChoix de modèle
Modèle P_L_I
Modèle Pk_Lk_I
28FonctionnalitésChoix de modèle
Comment choisir le meilleur modèle ?
29FonctionnalitésChoix de modèle
Comment choisir le meilleur modèle ?
Idée choisir le modèle le plus simple parmi
ceux qui donnent de bons résultats (maximisant la
vraisemblance)
Critère BIC pénalisation de la vraisemblance
par un terme qui tient compte de la complexité du
modèle (nombre de paramètres libres à estimer)
Exemple Modèle pk_Lk_B nombre de
paramètres libres kd d-1 k k-1
30FonctionnalitésChoix de modèle
Comment choisir le meilleur modèle ?
Critère BIC
31FonctionnalitésChoix de modèle
- Problème n3
- Contexte
- On ne connaît pas le nombre de classes
- On ne connaît pas le modèle gaussien sous-jacent
- Objectif
- Choisir le meilleur modèle
- (nombre de classes et type de modèle)
-
Données (2D)
32FonctionnalitésChoix de modèle
Critère NEC
BIC
NEC Privilégie les modèles pour lesquels les
classes sont bien séparées
33FonctionnalitésAnalyse Discriminante
- Problème n4 analyse discriminante
-
- Contexte
- Echantillon dapprentissage (avec les labels)
- Objectif
- Classer de nouveaux individus
34FonctionnalitésAnalyse Discriminante
- Analyse discriminante étape 1
-
35FonctionnalitésAnalyse Discriminante
- Analyse discriminante étape 2
-
Nouveaux individus classés
Partition et probabilités
36MIXMOD
- Fiche didentité
- Comment utiliser Mixmod ?
- Fonctionnalités
- Perspectives
37Perspectives
- Données qualitatives (modèles multinomiaux)
- Sortie prévue dans les prochaines semaines
-
38Perspectives
- Interface avec R
- Intégration de nouveaux modèles pour lanalyse
discriminante de Haute Dimension (HDDA) (travaux
de C. Bouveyron) - Classification semi-supervisée
- Autres données mixtes, données bruitées,
amélioration des performances, -
39MIXMOD
FIN
http//www-math.univ-fcomte.fr/mixmod/
40Annexes
- Conditions dutilisation valeurs par défaut
- Modèle pk_Lk_C
- Critère BIC
- Stratégies initialisation au hasard puis EM
(100 itérations ou variation de la vraisemblance
inférieure à 10-4)