Presentation of SOMbrero

T
SOMbrero : Cartes auto-organisatrices stochastiques pour l’intégration
de données numériques et non numériques
Laura Bendhaïba1
, Madalina Olteanu1
& Nathalie Villa-Vialaneix1,2
1 2
Rencontres R, 28 juin 2013
1 / 21
Plan
1 Introduction
Définition
Principe
2 Implémentation
Description
Données vectorielles
Tableaux de contingence
3 Conclusion et perspectives
2 / 21
Introduction
Introduction
Cartes auto-organisatrices (aussi appelées “cartes de Kohonen”ou SOM)
Pour données vectorielles, [Kohonen, 2001]
Pour données qualitatives, séries temporelles et, de manière plus générale, données non
euclidiennes décrites par des tableaux de dissimilarités, [Kohohen and Somervuo, 1998],
[Cottrell et al., 2012], [Olteanu and Villa-Vialaneix, 2013]
Une version SAS existe déjà pour données vectorielles et données qualitatives, mais n’est plus
maintenue depuis deux ans :
http://samos.univ-paris1.fr/Programmes-bases-sur-l-algorithme
3 / 21
Introduction Définition
Contexte
Cartes auto-organisatrices : définition
Apprentissage > Méthodes neuronales > Cartes auto-organisatrices
Algorithme différent des méthodes de classification ordinaires : respect de la topologie des
données d’origine
Projection nonlinéaire et clustering (réduction de dimension)
Généralisation des centres mobiles (version stochastique)
Vocabulaire :
Neurones
Prototypes (vecteurs-code)
4 / 21
Introduction Définition
Principe
Cartes auto-organisatrices : définition
5 / 21
Introduction Définition
Principe
Cartes auto-organisatrices : définition
5 / 21
Introduction Principe
Notations
La carte est constituée de U neurones (symbolisés par les nœuds de la grille). A chaque neurone
u est associé un prototype pu (un objet dans le même espace que les données initiales; par
exemple, un vecteur numérique).
La structure de la carte induit une distance naturelle entre les neurones sur la grille : la distance
d(u, u ) entre les neurones u et u est définie comme la longueur du plus court chemin entre eux.
La grille possède également une fonction de voisinage ht
(d(u, u )) telle que ht
: R+ → R+,
ht
(0) = 1 et limx→+∞ ht
(x) = 0.
L’algorithme cherche à partitionner les données de manière à minimiser l’énergie (variance intra
étendue aux voisins)
E =
U
i=1
U
j=1
ht
(d(i, j))
x∈Γj
x − pi
2
,
où Γ1, ..., ΓU est la partition de Voronoï associée aux prototypes p1, ..., pU.
6 / 21
Introduction Principe
Notations
La carte est constituée de U neurones (symbolisés par les nœuds de la grille). A chaque neurone
u est associé un prototype pu (un objet dans le même espace que les données initiales; par
exemple, un vecteur numérique).
La structure de la carte induit une distance naturelle entre les neurones sur la grille : la distance
d(u, u ) entre les neurones u et u est définie comme la longueur du plus court chemin entre eux.
La grille possède également une fonction de voisinage ht
(d(u, u )) telle que ht
: R+ → R+,
ht
(0) = 1 et limx→+∞ ht
(x) = 0.
L’algorithme cherche à partitionner les données de manière à minimiser l’énergie (variance intra
étendue aux voisins)
E =
U
i=1
U
j=1
ht
(d(i, j))
x∈Γj
x − pi
2
,
où Γ1, ..., ΓU est la partition de Voronoï associée aux prototypes p1, ..., pU.
6 / 21
Introduction Principe
Notations
La carte est constituée de U neurones (symbolisés par les nœuds de la grille). A chaque neurone
u est associé un prototype pu (un objet dans le même espace que les données initiales; par
exemple, un vecteur numérique).
La structure de la carte induit une distance naturelle entre les neurones sur la grille : la distance
d(u, u ) entre les neurones u et u est définie comme la longueur du plus court chemin entre eux.
La grille possède également une fonction de voisinage ht
(d(u, u )) telle que ht
: R+ → R+,
ht
(0) = 1 et limx→+∞ ht
(x) = 0.
L’algorithme cherche à partitionner les données de manière à minimiser l’énergie (variance intra
étendue aux voisins)
E =
U
i=1
U
j=1
ht
(d(i, j))
x∈Γj
x − pi
2
,
où Γ1, ..., ΓU est la partition de Voronoï associée aux prototypes p1, ..., pU.
6 / 21
Introduction Principe
Notations
La carte est constituée de U neurones (symbolisés par les nœuds de la grille). A chaque neurone
u est associé un prototype pu (un objet dans le même espace que les données initiales; par
exemple, un vecteur numérique).
La structure de la carte induit une distance naturelle entre les neurones sur la grille : la distance
d(u, u ) entre les neurones u et u est définie comme la longueur du plus court chemin entre eux.
La grille possède également une fonction de voisinage ht
(d(u, u )) telle que ht
: R+ → R+,
ht
(0) = 1 et limx→+∞ ht
(x) = 0.
L’algorithme cherche à partitionner les données de manière à minimiser l’énergie (variance intra
étendue aux voisins)
E =
U
i=1
U
j=1
ht
(d(i, j))
x∈Γj
x − pi
2
,
où Γ1, ..., ΓU est la partition de Voronoï associée aux prototypes p1, ..., pU.
6 / 21
Introduction Principe
SOM - Comment ça marche?
Avant
7 / 21
Introduction Principe
SOM - Comment ça marche?
Avant
Après
7 / 21
Introduction Principe
SOM - l’algorithme de base
Données: x1, . . . , xn ∈ Rd
1: Initialisation: tirage aléatoire de p0
1
,...,p0
U
dans Rd
2: for t = 1 → T do
3: Choisir de manière aléatoire i ∈ {1, . . . , n}
4: Affectation
ft
(xi) ← arg min
u=1,...,U
xi − pt−1
u Rd
5: for all u = 1 → U do Mise à jour des prototypes
6: pt
u ← pt−1
u + µt ht
(d(ft
(xi), u)) xi − pt−1
u
7: end for
8: end for
où ht
décroit la taille du voisinage en fonction de t et µt est généralement égal à 1/t.
8 / 21
Implémentation Description
Version actuelle
Description
Version ONLINE 0.3 :
orientation objet de type “S3”
17 fonctions pour l’utilisateur
3 documentations utilisateur “user-friendly” avec des exemples sur des jeux de données réels
Implémentation complète du cas numérique, on-line avec fonctionnalités graphiques,
super-classification et critères de qualité
Implémentation complète du cas korresp, on-line pour traiter les tables de contingence
Le package est actuellement disponible sur
http://tuxette.nathalievilla.org/?p=1099&lang=en
9 / 21
Implémentation Données vectorielles
Données vectorielles
Exemple : données iris
4 variables numériques : Sepal.Length, Sepal.Width, Petal.Length et Petal.Width
Commande :
iris.som <- trainSOM(x.data=iris[,1:4], nb.save=10)
10 / 21
Implémentation Données vectorielles
Données vectorielles
Exemple : données iris
Hitmap :
plot(iris.som, what="obs", type="hitmap")
11 / 21
Implémentation Données vectorielles
Données vectorielles
Exemple : données iris
Niveau de valeur des prototypes pour une variable donnée :
plot(iris.som, what="prototypes", type="3d", variable="Sepal.Width", main="Sepal
Width")
12 / 21
Implémentation Données vectorielles
Données vectorielles
Exemple : données iris
Répartition des observations sur la carte :
plot(iris.som, what="obs", type="names", print.title=TRUE)
13 / 21
Implémentation Données vectorielles
Données vectorielles
Exemple : données iris
Graphiques circulaires sur la variable espèce :
plot(iris.som, what="add", type="pie", variable=iris$Species)
14 / 21
Implémentation Données vectorielles
Données vectorielles
Exemple : données iris
Distances entre les prototypes :
plot(iris.som, what="prototypes", type="smooth.dist")
15 / 21
Implémentation Données vectorielles
Données vectorielles
Exemple : données iris
sc <- superClass(my.som, k=3)
plot(sc)
16 / 21
Implémentation Données vectorielles
Données vectorielles
Exemple : données iris
plot(sc, type="hitmap", plot.legend=TRUE)
17 / 21
Implémentation Tableaux de contingence
Tableaux de contingence
Algorithme Korresp
Données initiales : tableau de contingence T ∈ Npxq
Données transformées : Tcorr
∈ R(p+q)x(q+p)
à chaque profil-ligne r(i) est associé le profil-colonne le plus probable sachant i : c(j(i)), 1 ≤ i ≤ p;
à chaque profil-colonne c(j) est associé le profil-ligne le plus probable sachant j : r(i(j)), 1 ≤ j ≤ q
L’algorithme SOM de base est appliqué aux données Tcorr
avec quelques changements,
[Cottrell et al., 1999] :
la distance de χ2
au lieu de la distance euclidienne
l’observation courante est tirée alternativement parmi les profils-ligne ou les profils-colonne
l’unité gagnante est calculée uniquement sur les q premières ou les p dernières composantes
18 / 21
Implémentation Tableaux de contingence
Tableaux de contingence
Exemple : présidentielles 2002
presi02 <- trainSOM(presidentielles2002, type="korresp", scaling="chi2")
Répartition sur la carte :
plot(presi02, what="obs", type="names")
19 / 21
Presentation of SOMbrero
Conclusion et perspectives
Conclusion et perspectives
Implémentation actuelle :
Données numériques
Tableaux de contingence
À venir :
Données décrites par une matrice de dissimilarités
Données décrites par des multi-noyaux (apprentissage adaptatif des poids)
20 / 21
Conclusion et perspectives
Conclusion et perspectives
Implémentation actuelle :
Données numériques
Tableaux de contingence
À venir :
Données décrites par une matrice de dissimilarités
Données décrites par des multi-noyaux (apprentissage adaptatif des poids)
20 / 21
Conclusion et perspectives
Merci de votre attention
21 / 21
Conclusion et perspectives
References
Cottrell, M., Gaubert, P., Letremy, P., Rousset, P., and de Paris I: Panthéon-Sorbonne. Maison des sciences économiques, U. (1999).
Analyzing and Representing Multidimensional Quantitative and Qualitative Data: Demographic Study of the Rhone Valley. The Domestic Consumption of the
Canadian Families.
Cahiers de la MSE. Universite de Paris I.
Cottrell, M., Olteanu, M., Rossi, F., Rynkiewicz, J., and Villa-Vialaneix, N. (2012).
Neural networks for complex data.
Künstliche Intelligenz, 26(2):1–8.
Kohohen, T. and Somervuo, P. (1998).
Self-organizing maps of symbol strings.
Neurocomputing, 21:19–30.
Kohonen, T. (2001).
Self-Organizing Maps, 3rd Edition, volume 30.
Springer, Berlin, Heidelberg, New York.
Olteanu, M. and Villa-Vialaneix, N. (2013).
Online dissimilarity som.
Submitted for publication.
21 / 21
1 sur 29

Recommandé

Rapport MOGPL par
Rapport MOGPLRapport MOGPL
Rapport MOGPLBelkacem KAID
286 vues9 diapositives
Chap IV : Théorie des graphes par
Chap IV : Théorie des graphesChap IV : Théorie des graphes
Chap IV : Théorie des graphesMohammed TAMALI
3.9K vues12 diapositives
Carte de Kohonen par noyau et application a la classification de sommets de g... par
Carte de Kohonen par noyau et application a la classification de sommets de g...Carte de Kohonen par noyau et application a la classification de sommets de g...
Carte de Kohonen par noyau et application a la classification de sommets de g...tuxette
1.1K vues62 diapositives
Rapport - Partie th‚orique par
Rapport - Partie th‚oriqueRapport - Partie th‚orique
Rapport - Partie th‚oriqueBelkacem KAID
255 vues5 diapositives
Analyse Numérique – TP par
Analyse Numérique – TP Analyse Numérique – TP
Analyse Numérique – TP Mohammed TAMALI
1.1K vues6 diapositives
Théo inf par
Théo infThéo inf
Théo infKais Bahrouni
901 vues56 diapositives

Contenu connexe

Tendances

La complexité des algorithmes récursives Géométrie algorithmique par
La complexité des algorithmes récursivesGéométrie algorithmiqueLa complexité des algorithmes récursivesGéométrie algorithmique
La complexité des algorithmes récursives Géométrie algorithmiqueHajer Trabelsi
2.3K vues23 diapositives
Convex Multi-Task Feature Learning par
Convex Multi-Task Feature LearningConvex Multi-Task Feature Learning
Convex Multi-Task Feature LearningSakher BELOUADAH
82 vues12 diapositives
Formation traitement d_images par
Formation traitement d_imagesFormation traitement d_images
Formation traitement d_imagesCynapsys It Hotspot
4.9K vues25 diapositives
Diviser Pour Régner par
Diviser Pour RégnerDiviser Pour Régner
Diviser Pour RégnerMestari-Mohammed
2.3K vues51 diapositives
Algorithme knn par
Algorithme knnAlgorithme knn
Algorithme knnWassim Lahbibi
22.6K vues14 diapositives
Chap9 : Systèmes non linéaires par
Chap9 : Systèmes non linéairesChap9 : Systèmes non linéaires
Chap9 : Systèmes non linéairesMohammed TAMALI
3.6K vues17 diapositives

Tendances(20)

La complexité des algorithmes récursives Géométrie algorithmique par Hajer Trabelsi
La complexité des algorithmes récursivesGéométrie algorithmiqueLa complexité des algorithmes récursivesGéométrie algorithmique
La complexité des algorithmes récursives Géométrie algorithmique
Hajer Trabelsi2.3K vues
Théorie de l’apprentissage et SVM : présentation rapide et premières idées da... par tuxette
Théorie de l’apprentissage et SVM : présentation rapide et premières idées da...Théorie de l’apprentissage et SVM : présentation rapide et premières idées da...
Théorie de l’apprentissage et SVM : présentation rapide et premières idées da...
tuxette1.2K vues
Quelques avancées dans le débruitage d'images par patch par I MT
Quelques avancées dans le débruitage d'images par patch Quelques avancées dans le débruitage d'images par patch
Quelques avancées dans le débruitage d'images par patch
I MT692 vues
Chapitre 2 complexité par Sana Aroussi
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
Sana Aroussi7.4K vues
Cours algorithmique et complexite complet par Chahrawoods Dmz
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
Chahrawoods Dmz58.3K vues
CHAPITRE VIII : Systèmes linéaires Modélisation & Simulation par Mohammed TAMALI
CHAPITRE VIII :  Systèmes linéaires Modélisation & SimulationCHAPITRE VIII :  Systèmes linéaires Modélisation & Simulation
CHAPITRE VIII : Systèmes linéaires Modélisation & Simulation
Mohammed TAMALI2.5K vues
Modèles numériques coûteux : de la quantification des incertitudes la planifi... par Julien Bect
Modèles numériques coûteux : de la quantification des incertitudes la planifi...Modèles numériques coûteux : de la quantification des incertitudes la planifi...
Modèles numériques coûteux : de la quantification des incertitudes la planifi...
Julien Bect604 vues
LA TESSELATION DE VORONOÏ : Diagramme de Voronoï à germes pondérés par Anas EL MALEKI
LA TESSELATION DE VORONOÏ : Diagramme de Voronoï à germes pondérésLA TESSELATION DE VORONOÏ : Diagramme de Voronoï à germes pondérés
LA TESSELATION DE VORONOÏ : Diagramme de Voronoï à germes pondérés
Anas EL MALEKI858 vues
Diagramme de VORONOÏ et Triangulation Delaunay par Ahmed EL ATARI
Diagramme de VORONOÏ et Triangulation Delaunay  Diagramme de VORONOÏ et Triangulation Delaunay
Diagramme de VORONOÏ et Triangulation Delaunay
Ahmed EL ATARI2K vues
Chapitre ii complexité et optimalité par Sana Aroussi
Chapitre ii complexité et optimalitéChapitre ii complexité et optimalité
Chapitre ii complexité et optimalité
Sana Aroussi3.7K vues
Analyse de données fonctionnelles par Machines à Vecteurs de Support (SVM) par tuxette
Analyse de données fonctionnelles par Machines à Vecteurs de Support (SVM) Analyse de données fonctionnelles par Machines à Vecteurs de Support (SVM)
Analyse de données fonctionnelles par Machines à Vecteurs de Support (SVM)
tuxette1.7K vues

Similaire à Presentation of SOMbrero

Analyse en Composantes Principales par
Analyse en Composantes PrincipalesAnalyse en Composantes Principales
Analyse en Composantes PrincipalesJaouad Dabounou
1.5K vues68 diapositives
Chapitre 3 NP-complétude par
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétudeSana Aroussi
4K vues84 diapositives
1 entropie-capacite theorie de l'information par
1 entropie-capacite theorie de l'information1 entropie-capacite theorie de l'information
1 entropie-capacite theorie de l'informationAbdou Obado
996 vues11 diapositives
Ponts castillo1 statistique par
Ponts castillo1 statistiquePonts castillo1 statistique
Ponts castillo1 statistiqueAli BEN MANSOUR
1K vues44 diapositives
Analyse factorielle des_correspondances-afc par
Analyse factorielle des_correspondances-afcAnalyse factorielle des_correspondances-afc
Analyse factorielle des_correspondances-afcRémi Bachelet
1.5K vues46 diapositives
SIG ET ANALYSE SPATIALE, SESSION 1 par
SIG ET ANALYSE SPATIALE, SESSION 1SIG ET ANALYSE SPATIALE, SESSION 1
SIG ET ANALYSE SPATIALE, SESSION 1YOUSSOUPHA MBODJI
2.9K vues29 diapositives

Similaire à Presentation of SOMbrero(20)

Analyse en Composantes Principales par Jaouad Dabounou
Analyse en Composantes PrincipalesAnalyse en Composantes Principales
Analyse en Composantes Principales
Jaouad Dabounou1.5K vues
1 entropie-capacite theorie de l'information par Abdou Obado
1 entropie-capacite theorie de l'information1 entropie-capacite theorie de l'information
1 entropie-capacite theorie de l'information
Abdou Obado996 vues
Analyse factorielle des_correspondances-afc par Rémi Bachelet
Analyse factorielle des_correspondances-afcAnalyse factorielle des_correspondances-afc
Analyse factorielle des_correspondances-afc
Rémi Bachelet1.5K vues
Cours algorithmique et complexite par Saddem Chikh
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite
Saddem Chikh1.4K vues
Cours algorithmique et complexite complet par Chahrawoods Dmz
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
Chahrawoods Dmz5.3K vues
Hitting time for bessel processes and WOMS algorithm par Victor Bontemps
Hitting time for bessel processes and WOMS algorithmHitting time for bessel processes and WOMS algorithm
Hitting time for bessel processes and WOMS algorithm
Victor Bontemps43 vues
Fouille de données pour de grands graphes. Recherche de communautés et organi... par tuxette
Fouille de données pour de grands graphes. Recherche de communautés et organi...Fouille de données pour de grands graphes. Recherche de communautés et organi...
Fouille de données pour de grands graphes. Recherche de communautés et organi...
tuxette885 vues
Cours rep etat par Lin Pepin
Cours rep etatCours rep etat
Cours rep etat
Lin Pepin456 vues
M2 An 1986 20 3 371 0 par guest8b8369
M2 An 1986  20 3 371 0M2 An 1986  20 3 371 0
M2 An 1986 20 3 371 0
guest8b8369515 vues
Traitement des données massives (INF442, A4) par Frank Nielsen
Traitement des données massives (INF442, A4)Traitement des données massives (INF442, A4)
Traitement des données massives (INF442, A4)
Frank Nielsen178 vues

Plus de tuxette

Projets autour de l'Hi-C par
Projets autour de l'Hi-CProjets autour de l'Hi-C
Projets autour de l'Hi-Ctuxette
83 vues18 diapositives
Can deep learning learn chromatin structure from sequence? par
Can deep learning learn chromatin structure from sequence?Can deep learning learn chromatin structure from sequence?
Can deep learning learn chromatin structure from sequence?tuxette
110 vues33 diapositives
Multi-omics data integration methods: kernel and other machine learning appro... par
Multi-omics data integration methods: kernel and other machine learning appro...Multi-omics data integration methods: kernel and other machine learning appro...
Multi-omics data integration methods: kernel and other machine learning appro...tuxette
337 vues54 diapositives
ASTERICS : une application pour intégrer des données omiques par
ASTERICS : une application pour intégrer des données omiquesASTERICS : une application pour intégrer des données omiques
ASTERICS : une application pour intégrer des données omiquestuxette
75 vues26 diapositives
Autour des projets Idefics et MetaboWean par
Autour des projets Idefics et MetaboWeanAutour des projets Idefics et MetaboWean
Autour des projets Idefics et MetaboWeantuxette
75 vues16 diapositives
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ... par
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...tuxette
115 vues16 diapositives

Plus de tuxette(20)

Projets autour de l'Hi-C par tuxette
Projets autour de l'Hi-CProjets autour de l'Hi-C
Projets autour de l'Hi-C
tuxette83 vues
Can deep learning learn chromatin structure from sequence? par tuxette
Can deep learning learn chromatin structure from sequence?Can deep learning learn chromatin structure from sequence?
Can deep learning learn chromatin structure from sequence?
tuxette110 vues
Multi-omics data integration methods: kernel and other machine learning appro... par tuxette
Multi-omics data integration methods: kernel and other machine learning appro...Multi-omics data integration methods: kernel and other machine learning appro...
Multi-omics data integration methods: kernel and other machine learning appro...
tuxette337 vues
ASTERICS : une application pour intégrer des données omiques par tuxette
ASTERICS : une application pour intégrer des données omiquesASTERICS : une application pour intégrer des données omiques
ASTERICS : une application pour intégrer des données omiques
tuxette75 vues
Autour des projets Idefics et MetaboWean par tuxette
Autour des projets Idefics et MetaboWeanAutour des projets Idefics et MetaboWean
Autour des projets Idefics et MetaboWean
tuxette75 vues
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ... par tuxette
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...
Rserve, renv, flask, Vue.js dans un docker pour intégrer des données omiques ...
tuxette115 vues
Apprentissage pour la biologie moléculaire et l’analyse de données omiques par tuxette
Apprentissage pour la biologie moléculaire et l’analyse de données omiquesApprentissage pour la biologie moléculaire et l’analyse de données omiques
Apprentissage pour la biologie moléculaire et l’analyse de données omiques
tuxette123 vues
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r... par tuxette
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...
Quelques résultats préliminaires de l'évaluation de méthodes d'inférence de r...
tuxette121 vues
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap... par tuxette
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...
Intégration de données omiques multi-échelles : méthodes à noyau et autres ap...
tuxette208 vues
Journal club: Validation of cluster analysis results on validation data par tuxette
Journal club: Validation of cluster analysis results on validation dataJournal club: Validation of cluster analysis results on validation data
Journal club: Validation of cluster analysis results on validation data
tuxette228 vues
Overfitting or overparametrization? par tuxette
Overfitting or overparametrization?Overfitting or overparametrization?
Overfitting or overparametrization?
tuxette233 vues
Selective inference and single-cell differential analysis par tuxette
Selective inference and single-cell differential analysisSelective inference and single-cell differential analysis
Selective inference and single-cell differential analysis
tuxette301 vues
Graph Neural Network for Phenotype Prediction par tuxette
Graph Neural Network for Phenotype PredictionGraph Neural Network for Phenotype Prediction
Graph Neural Network for Phenotype Prediction
tuxette1K vues
A short and naive introduction to using network in prediction models par tuxette
A short and naive introduction to using network in prediction modelsA short and naive introduction to using network in prediction models
A short and naive introduction to using network in prediction models
tuxette57 vues
Explanable models for time series with random forest par tuxette
Explanable models for time series with random forestExplanable models for time series with random forest
Explanable models for time series with random forest
tuxette210 vues
Présentation du projet ASTERICS par tuxette
Présentation du projet ASTERICSPrésentation du projet ASTERICS
Présentation du projet ASTERICS
tuxette241 vues
Présentation du projet ASTERICS par tuxette
Présentation du projet ASTERICSPrésentation du projet ASTERICS
Présentation du projet ASTERICS
tuxette236 vues
Kernel methods and variable selection for exploratory analysis and multi-omic... par tuxette
Kernel methods and variable selection for exploratory analysis and multi-omic...Kernel methods and variable selection for exploratory analysis and multi-omic...
Kernel methods and variable selection for exploratory analysis and multi-omic...
tuxette198 vues
A review on structure learning in GNN par tuxette
A review on structure learning in GNNA review on structure learning in GNN
A review on structure learning in GNN
tuxette311 vues
La statistique et le machine learning pour l'intégration de données de la bio... par tuxette
La statistique et le machine learning pour l'intégration de données de la bio...La statistique et le machine learning pour l'intégration de données de la bio...
La statistique et le machine learning pour l'intégration de données de la bio...
tuxette402 vues

Presentation of SOMbrero

  • 1. SOMbrero : Cartes auto-organisatrices stochastiques pour l’intégration de données numériques et non numériques Laura Bendhaïba1 , Madalina Olteanu1 & Nathalie Villa-Vialaneix1,2 1 2 Rencontres R, 28 juin 2013 1 / 21
  • 2. Plan 1 Introduction Définition Principe 2 Implémentation Description Données vectorielles Tableaux de contingence 3 Conclusion et perspectives 2 / 21
  • 3. Introduction Introduction Cartes auto-organisatrices (aussi appelées “cartes de Kohonen”ou SOM) Pour données vectorielles, [Kohonen, 2001] Pour données qualitatives, séries temporelles et, de manière plus générale, données non euclidiennes décrites par des tableaux de dissimilarités, [Kohohen and Somervuo, 1998], [Cottrell et al., 2012], [Olteanu and Villa-Vialaneix, 2013] Une version SAS existe déjà pour données vectorielles et données qualitatives, mais n’est plus maintenue depuis deux ans : http://samos.univ-paris1.fr/Programmes-bases-sur-l-algorithme 3 / 21
  • 4. Introduction Définition Contexte Cartes auto-organisatrices : définition Apprentissage > Méthodes neuronales > Cartes auto-organisatrices Algorithme différent des méthodes de classification ordinaires : respect de la topologie des données d’origine Projection nonlinéaire et clustering (réduction de dimension) Généralisation des centres mobiles (version stochastique) Vocabulaire : Neurones Prototypes (vecteurs-code) 4 / 21
  • 7. Introduction Principe Notations La carte est constituée de U neurones (symbolisés par les nœuds de la grille). A chaque neurone u est associé un prototype pu (un objet dans le même espace que les données initiales; par exemple, un vecteur numérique). La structure de la carte induit une distance naturelle entre les neurones sur la grille : la distance d(u, u ) entre les neurones u et u est définie comme la longueur du plus court chemin entre eux. La grille possède également une fonction de voisinage ht (d(u, u )) telle que ht : R+ → R+, ht (0) = 1 et limx→+∞ ht (x) = 0. L’algorithme cherche à partitionner les données de manière à minimiser l’énergie (variance intra étendue aux voisins) E = U i=1 U j=1 ht (d(i, j)) x∈Γj x − pi 2 , où Γ1, ..., ΓU est la partition de Voronoï associée aux prototypes p1, ..., pU. 6 / 21
  • 8. Introduction Principe Notations La carte est constituée de U neurones (symbolisés par les nœuds de la grille). A chaque neurone u est associé un prototype pu (un objet dans le même espace que les données initiales; par exemple, un vecteur numérique). La structure de la carte induit une distance naturelle entre les neurones sur la grille : la distance d(u, u ) entre les neurones u et u est définie comme la longueur du plus court chemin entre eux. La grille possède également une fonction de voisinage ht (d(u, u )) telle que ht : R+ → R+, ht (0) = 1 et limx→+∞ ht (x) = 0. L’algorithme cherche à partitionner les données de manière à minimiser l’énergie (variance intra étendue aux voisins) E = U i=1 U j=1 ht (d(i, j)) x∈Γj x − pi 2 , où Γ1, ..., ΓU est la partition de Voronoï associée aux prototypes p1, ..., pU. 6 / 21
  • 9. Introduction Principe Notations La carte est constituée de U neurones (symbolisés par les nœuds de la grille). A chaque neurone u est associé un prototype pu (un objet dans le même espace que les données initiales; par exemple, un vecteur numérique). La structure de la carte induit une distance naturelle entre les neurones sur la grille : la distance d(u, u ) entre les neurones u et u est définie comme la longueur du plus court chemin entre eux. La grille possède également une fonction de voisinage ht (d(u, u )) telle que ht : R+ → R+, ht (0) = 1 et limx→+∞ ht (x) = 0. L’algorithme cherche à partitionner les données de manière à minimiser l’énergie (variance intra étendue aux voisins) E = U i=1 U j=1 ht (d(i, j)) x∈Γj x − pi 2 , où Γ1, ..., ΓU est la partition de Voronoï associée aux prototypes p1, ..., pU. 6 / 21
  • 10. Introduction Principe Notations La carte est constituée de U neurones (symbolisés par les nœuds de la grille). A chaque neurone u est associé un prototype pu (un objet dans le même espace que les données initiales; par exemple, un vecteur numérique). La structure de la carte induit une distance naturelle entre les neurones sur la grille : la distance d(u, u ) entre les neurones u et u est définie comme la longueur du plus court chemin entre eux. La grille possède également une fonction de voisinage ht (d(u, u )) telle que ht : R+ → R+, ht (0) = 1 et limx→+∞ ht (x) = 0. L’algorithme cherche à partitionner les données de manière à minimiser l’énergie (variance intra étendue aux voisins) E = U i=1 U j=1 ht (d(i, j)) x∈Γj x − pi 2 , où Γ1, ..., ΓU est la partition de Voronoï associée aux prototypes p1, ..., pU. 6 / 21
  • 11. Introduction Principe SOM - Comment ça marche? Avant 7 / 21
  • 12. Introduction Principe SOM - Comment ça marche? Avant Après 7 / 21
  • 13. Introduction Principe SOM - l’algorithme de base Données: x1, . . . , xn ∈ Rd 1: Initialisation: tirage aléatoire de p0 1 ,...,p0 U dans Rd 2: for t = 1 → T do 3: Choisir de manière aléatoire i ∈ {1, . . . , n} 4: Affectation ft (xi) ← arg min u=1,...,U xi − pt−1 u Rd 5: for all u = 1 → U do Mise à jour des prototypes 6: pt u ← pt−1 u + µt ht (d(ft (xi), u)) xi − pt−1 u 7: end for 8: end for où ht décroit la taille du voisinage en fonction de t et µt est généralement égal à 1/t. 8 / 21
  • 14. Implémentation Description Version actuelle Description Version ONLINE 0.3 : orientation objet de type “S3” 17 fonctions pour l’utilisateur 3 documentations utilisateur “user-friendly” avec des exemples sur des jeux de données réels Implémentation complète du cas numérique, on-line avec fonctionnalités graphiques, super-classification et critères de qualité Implémentation complète du cas korresp, on-line pour traiter les tables de contingence Le package est actuellement disponible sur http://tuxette.nathalievilla.org/?p=1099&lang=en 9 / 21
  • 15. Implémentation Données vectorielles Données vectorielles Exemple : données iris 4 variables numériques : Sepal.Length, Sepal.Width, Petal.Length et Petal.Width Commande : iris.som <- trainSOM(x.data=iris[,1:4], nb.save=10) 10 / 21
  • 16. Implémentation Données vectorielles Données vectorielles Exemple : données iris Hitmap : plot(iris.som, what="obs", type="hitmap") 11 / 21
  • 17. Implémentation Données vectorielles Données vectorielles Exemple : données iris Niveau de valeur des prototypes pour une variable donnée : plot(iris.som, what="prototypes", type="3d", variable="Sepal.Width", main="Sepal Width") 12 / 21
  • 18. Implémentation Données vectorielles Données vectorielles Exemple : données iris Répartition des observations sur la carte : plot(iris.som, what="obs", type="names", print.title=TRUE) 13 / 21
  • 19. Implémentation Données vectorielles Données vectorielles Exemple : données iris Graphiques circulaires sur la variable espèce : plot(iris.som, what="add", type="pie", variable=iris$Species) 14 / 21
  • 20. Implémentation Données vectorielles Données vectorielles Exemple : données iris Distances entre les prototypes : plot(iris.som, what="prototypes", type="smooth.dist") 15 / 21
  • 21. Implémentation Données vectorielles Données vectorielles Exemple : données iris sc <- superClass(my.som, k=3) plot(sc) 16 / 21
  • 22. Implémentation Données vectorielles Données vectorielles Exemple : données iris plot(sc, type="hitmap", plot.legend=TRUE) 17 / 21
  • 23. Implémentation Tableaux de contingence Tableaux de contingence Algorithme Korresp Données initiales : tableau de contingence T ∈ Npxq Données transformées : Tcorr ∈ R(p+q)x(q+p) à chaque profil-ligne r(i) est associé le profil-colonne le plus probable sachant i : c(j(i)), 1 ≤ i ≤ p; à chaque profil-colonne c(j) est associé le profil-ligne le plus probable sachant j : r(i(j)), 1 ≤ j ≤ q L’algorithme SOM de base est appliqué aux données Tcorr avec quelques changements, [Cottrell et al., 1999] : la distance de χ2 au lieu de la distance euclidienne l’observation courante est tirée alternativement parmi les profils-ligne ou les profils-colonne l’unité gagnante est calculée uniquement sur les q premières ou les p dernières composantes 18 / 21
  • 24. Implémentation Tableaux de contingence Tableaux de contingence Exemple : présidentielles 2002 presi02 <- trainSOM(presidentielles2002, type="korresp", scaling="chi2") Répartition sur la carte : plot(presi02, what="obs", type="names") 19 / 21
  • 26. Conclusion et perspectives Conclusion et perspectives Implémentation actuelle : Données numériques Tableaux de contingence À venir : Données décrites par une matrice de dissimilarités Données décrites par des multi-noyaux (apprentissage adaptatif des poids) 20 / 21
  • 27. Conclusion et perspectives Conclusion et perspectives Implémentation actuelle : Données numériques Tableaux de contingence À venir : Données décrites par une matrice de dissimilarités Données décrites par des multi-noyaux (apprentissage adaptatif des poids) 20 / 21
  • 28. Conclusion et perspectives Merci de votre attention 21 / 21
  • 29. Conclusion et perspectives References Cottrell, M., Gaubert, P., Letremy, P., Rousset, P., and de Paris I: Panthéon-Sorbonne. Maison des sciences économiques, U. (1999). Analyzing and Representing Multidimensional Quantitative and Qualitative Data: Demographic Study of the Rhone Valley. The Domestic Consumption of the Canadian Families. Cahiers de la MSE. Universite de Paris I. Cottrell, M., Olteanu, M., Rossi, F., Rynkiewicz, J., and Villa-Vialaneix, N. (2012). Neural networks for complex data. Künstliche Intelligenz, 26(2):1–8. Kohohen, T. and Somervuo, P. (1998). Self-organizing maps of symbol strings. Neurocomputing, 21:19–30. Kohonen, T. (2001). Self-Organizing Maps, 3rd Edition, volume 30. Springer, Berlin, Heidelberg, New York. Olteanu, M. and Villa-Vialaneix, N. (2013). Online dissimilarity som. Submitted for publication. 21 / 21