Notre but principal dans ce stage est de développer une mesure de co-similarité en se basant sur des marches aléatoires d'un graphe_ biparti pour classifier des données textuelles Mots-
Trang 1Institut de la Francophonie
pour |'Informatique
Mémoire de fin d’études
Option Systemes Intelligents & Multimédia
Sujet : Définissions de co-similarité,
a partir des marches aléatoires d’un graphe biparti
Réalisé par
DAO Van-Sang (Promotion 16 — IFI)
Sous la direction de
Thomas BURGER
(CEA Grenoble) Gilles BISSON
(Laboratoire LIG , Grenoble)
Grenoble, Octobre 2013
Trang 2"Petit à petit, Ï'oiseau fait son nid"
Dịc Académie de 1835
Trang 3TABLE DES MATIÈRES
REMERCIEMENT
LISTE DES FIGURES
LISTE DES TABLEA\
CHAPITRE Il- ETAT DE L’ART
2.1 Représentation des données
2.1.1 Représentation par une matrice des co-occurrences
2.1.2 Représentation par un graphe biparti
2.2 Classification ascendante hiérarchique (CAH)
2.3 Evaluation
2.3.1 Matrice de confusion
2.3.2 Probléme d’affectation et I'algorithme Hongrois
2.4 Notions de base du graphe
2.4.1 Définition de graphe :
3.4.2 Graphe biparti " TH
2.5 Marches aléatoires et Commute-Time Distance d'un graph
2.5.1 Matrice des degrés
2.6.2 Lamesure SNOS, 2004 = CE liöiStz6688800,
2.6.3 L’algorithme SIMRANK, 2001 ste ce - - “ 23
2.6.4 L’analyse sémantique latente (L.SA), 1990 seo 24) 2.6.5 Le noyau du temps d’aller-retour, 2007 229220218 28)
CHAPITRE HI— CO — SIMILARITE À PARTIR DES MARCHES ALÉATOIRES
3.1 Premiére approche : marches aléatoires d’un graphe biparti
3.2 Deuxiéme approche : nouvelle normalisation pour 7-Sim de base
3.3 Troisiéme approche : marches aléatoires et nouvelle normalisation
3.4 Quatrième approche : noyau du temps đ'aller-retour đun graphe
Trang 5REMERCIEMENT
Je tiens ả remercier tout parieulirement M Thomas BURGER, mon superviseur de stage au laboratoire EDyP au CEA de Grenoble, et M Gilles BISSON, mon co-superviseur de stage au laboratoire LIG Ils ont su m°orienter đans mon travail dans les bonnes directions tout en me laissant une large autonomie Je les remercie également pour leur gros travail pour corriger ce rapport de stage
Mes remerciements s’adressent également a M Syed Fawad Hussain qui m’a
envoyé son code MATLAB de sa thése, et M Clément Grimal qui a extrait les jeux de données que j’ai utilisé pour tester mon algorithme en ce stage Mon travail bénéficie
aussi ses travaux de these de la mesure co-similarité pour classifier des données
Je tiens a remercier également tous les membres du laboratoire EDyP qui mont accueilli et ont créé un environnement idéal dans lequel j’ai travaillé pendant cing mois et demi de stage
Je voudrais aussi adresser mes remerciements a tous les professeurs de PIFI qui m’ont donné des connaissances et des expériences efficaces pendant ma scolarité a TIFT
Merci également a tous ceux que j’oublie mais qui d’une maniére ou d’autre
maniére m’ont permis de bien terminer mon stage
DAO Van-Sang Grenoble, France, Octobre 2013
Trang 6LISTE DES FIGURES
Figure 1: Le but de la classification des données 1
Figure 3: Comparaison des mesures classiques de similarité avec I'approche de 9-Sim 00.00.02
7
8
Figure 4: Représentation des données par graphe biparti (sans poids)
Figure 5: Dendrogramme s'affiche des clusters différents de 5 document:
Figure 6: Le probléme d’ affectation
Figure 7 : La matrice de confusion de m$_8 de NG20-SMI
Figure 8 : La solution de probléme daffectation (le coñt maximal)
Figure 9: Un graphe simple, non-orienté de 5 sommets
Figure 10: Marches alẻatoires d'un graphe
Figure 11: Schéma de Valgorithme X-SIM de base (2008
Figure 12: Ilustration de la décomposition en valeurs singuliéres pour I'analyse sémantique latente 24 Figure 13: Ilustration de co-occurrences d’ordres supérieurs dans un corpus simple, représenté sous la
Figure 15: Schéma de la deuxième approche ee
Figure 16: Schéma de la troisiéme apptoche se costes BE Figure 17: Schéma de la quatriéme approche
Figure 18: Diagramme des résultats de M10 avec y-Sim 2008 et lap premiére se 2
Figure 19: Diagramme des résultats de NG2 avec 7-Sim 2008 et la premiére approche
Figure 20: Diagramme des résultats de X-SIM 2008, leme approche et 2eme approche
Figure 24: Diagramme des résultats de NG1 de X-SIM 2008, XSIM 2010, leme approche et 2eme
Figure 25: Diagramme des résultats de NG2 de X-SIM 2008, XSIM 2010, leme approche et 2eme
Figure 26: Diagramme des résultats de NG3 de X-SIM 2008, XSIM 2010, leme approche et 2eme
Figure 27: Comparaison les résultats de la troisiéme approche et la deuxiéme approche 48 Figure 28: Comparaison les résultats de la deuxiéme approche et la quatriéme approche 49 Figure 29: Comparaison les résultats de l'algorithme X-SIM 2010 et la quatrième approche 49
Trang 7LISTE DES TABLEAUX
Tableau 1: Un exemple de données à classifier
Tableau 2: Un exemple de représentation par matrice
Tablean 3: La matrice de confusion
Tablean 4: Matrice đìađjacences
Tablean 5: Matrice des degrés du graphe
Tablean 6: Matrice Laplacienne
Tableau 7: Matrice Laplacienne normalisée
Tableau 8: Matrice Pseudo-inverse de Moore-Penrose
Tableau 9: Matrice Commute-Temps Distance du graphe
Tableau 10 : Les noms des groupes de la base de données 20Newsgroup
Tableau 11: Les jeux de données extraites de la collection 20Newsgroups
Tableau 12: Liste des packages R utilisés
Tablean 13: Matrice SR en MATLAB aprés la boucle de V'échantillon m5_1
Tablean 14: Matrice SR en R aprés la boucle đe léchantillon mŠ _1
Tableau 15: Résultats dans l'article publié en 2010 par Gilles et al
Tableau 16: Résultats avec la base de đonnées NG20-SMI
Tableau 17; Résultats avec la base de đonnẻes NG20-PAM eeeseoeooooe đĐ
Trang 8RÉSUMÉ
La classification de données (apprentissage non-supervisé) a pour but de
regrouper un ensemble dobservations sous la forme de classes homogénes et
contrastées Les notions de distances et de similarités sont souvent utilisées dans le
domaine d’apprentissage automatique, en particulier des méthodes de classification
La plupart des mesures classiques ne sont pas adaptées pour les bases de données
réelles En effet, lorsque l'on applique ces méthodes a des données réelles, la grande
taille de ces données et leur aspect creux rendent le plus souvent ces mesures
inappropriées C'est en partie afin de mieux prendre en compte ces propriétés des
données réelles, que des approches de co-classification ont été développées Ces
approches classifient simultanément les attributs d’objets décrits par les données,
permettant d’obtenir de bonnes performances, méme lorsque celles-ci sont trés
creuses Récemment, quelques méthodes co-classification ont étés inventées par des
chercheurs dans le monde Notre but principal dans ce stage est de développer une
mesure de co-similarité en se basant sur des marches aléatoires d'un graphe_ biparti
pour classifier des données textuelles
Mots-Clés: Co-similarité, marches aléatoires, graphe biparti, co-classification, co-
clustering, apprentissage automatique, fouille de texte
vil
Trang 9ABSTRACT
Clustering is the unsupervised classification of patterns (observations, data
items, or feature vectors) into groups in the homogeneous form and contrary classes
The concepts of distance and similarity are often used in the machine for learning, especially in classification methods Most of conventional measures are not suitable
for real databases Indeed, when these methods are applied to real data, the large size
of these data and their hollow appearance often make these inappropriate actions This
is partly in order to better take into account the properties of real data, as co-clustering
approaches have been developed These approaches simultaneously classify attributes
of objects described by the data, to obtain good performance, even when there are
hollow Recently, some methods have summers co- classification invented by researchers in the world Our main goal in this internship is to develop a measure of co
-similarity based ona random walk of a bipartite graph to classify the data textual
Keyword: random walk, bipartite graph, co-clustering, co-similarity, machine learning, text mining
VIII
Trang 10CHAPITRE I - INTRODUCTION
1.1Problématique et motivation
Lobjectif principal des méthodes de classification automatique (apprentissage
non-supervisé) est de répartir les éléments d'un ensemble en groupes, ¢’est-a-dire
d’établir une partition de cet ensemble, & condition que, chaque groupe doit étre le plus
homogéne possible, et les groupes doivent étre les plus différents possibles entre eux
Les notions de distances et de similarités sont souvent utilisées dans le domaine
d’apprentissage automatique, en particulier des méthodes de classification Avec les
méthodes de classification classique, par exemple, nous deyons classifier des documents textuels Au début, on va représenter ces documents dans le modéle
vectoriel C’est-a-dire que l'on va créer une matrice numérique Les lignes sont
considérées comme des documents Les colonnes sont considérées comme des mots
qui apparaissent dans ces documents Chaque document sera un vecteur de plusieurs
dimensions Maintenant, pour calculer la similarité entre documents, on peut utiliser
les similarités Cosinus', les distances Euclidiennes, les distances Minkowski’, etc De
telles mesures de similarité sont fondées sur le nombre de mots qui sont partagés
entre les deux documents Ici, la similarité dépend beaucoup des mots communs entre
des documents Enfin, on va utiliser des algorithmes dans le domaine d’apprentissage
automatique pour regrouper des documents On peut citer quelques algorithmes
traditionnels : K-Mean’, Clustering Ascendante Hiérarchique — CAH (voir Sec 2.2)
Ces étapes peuvent étre illustrées dans la figure suivante
Figure 1: Le but de Ia classification des données
Les étapes d’une classification sont comme les suivantes
L’étape (1) consiste a pré-traiter les données brutes, afin de les mettre sous une
forme (matrice, graphe, etc.) Dans la tache de classification de documents, il s’agira
de créer la matrice de co-occurrences avec les mots qui les composent
Le sit
* Le site:
` Le site : http://fr.wikipedia.org/wiki/Algorithme_des_k-moyennes
Trang 11
L’étape (2) est le calcul des similarités ou de distances entre les objets que l'on cherche a classifier II existe d’ailleurs différentes fonctions permettant de transformer une similarité en distance et inversement Classiquement, on peut représenter ces
valeurs dans une matrice carrée et symétrique
L’étape (3) consiste a créer les classes d’ objets a partir de leurs similarités
L’étape (4) consiste alors a comparer les classes prédites aux classes réelles,
grace a des mesures d’évaluation objectives On peut considérer cette étape comme la
Figure 2: Le processus de classification complet
Comme nous avons mentionné ci-dessus, la méthode de classification classique, les notions de distances et de similarités sont souvent utilisées dans le domaine
d'apprentissage automatique Mais, la plupart des mesures classiques ne sont pas
adaptées pour les bases de données réelles En effet, lorsque l'on applique ces
méthodes @ des données réelles, la grande taille de ces données et leur aspect creux
rendent le plus souvent ces mesures inappropriées C'est en partie afin de mieux
prendre en compte ces propriétés des données réelles, que des approches de co-
classification ont été développées
La figure ci-dessous illustre la différence entre la mesure de similarité classique
et la mesure de co-similarité y-Sim (voir Sec 2.6.1)
(a) Mesure de similarité classique (b) Apprache x-8i
Figure 3: Comparaison des mesures classiques de similarité avec approche de x:Sim
(Réutilisation avec permission de Clément{1])
Pour la notion de co-classification, on ne fait pas exactement comme la méthode
de classification classique Ici, l'idée fondamentale est deux documents n'ont pas
nécessairement besoin d’avow des mots en communs, mais peut-étre ils ont des mots
2
Trang 12similaires Autrement dit, P'idée est donc de ne pas seulement prendre en compte les
mots communs, mais également toutes les paires de mots similaires qui y apparaissent
Respectivement, deux mots sont similaires s’ils apparaissent dans des documents sumilaires On remarque immédiatement la dualité entre les documents et les mots, et
la symétrie dans leur relation Le probleme qui se dégage immédiatement de cette idée
de départ est que les similarités entre documents dépendent des similarités entre mots,
et vice versa z-Sim est une approche de co-similarité comme cela Il est proposé par
Gilles BISSON et al [2]
Ce stage s'appuie sur cette idée de base de y-Sim, mais ici, on va développer
dune autre maniére, en se basant le théorique graphe Plus précisément, ce sont des
marches aléatoires d’un graphe biparti En fait, on peut complétement représenter la
relation entre des documents et des mots par un graphe biparti Pour l’instant, des
chercheurs ont développé leurs algorithmes en se basant sur des marches aléatoires
pour classifier des données (clustering), on peut citer des articles [3] [4] [5] [6]
Quelques auteurs ont utilisé des marches aléatoires dans le domaine de segmentation
d'images [7] Des marches aléatoires sont le coeur de la classification de spectre trés
connu [8] (de l'anglais, spectral clustering), particuliérement utilisées dans des articles
de auteur Luh Yen et al [9] [10] [11] [12] [13] [14] Dans ce stage, on va utiliser des marches aléatoires (voir See 2.5.3) pour définir co-similarité
1,2Méthode de travail
En 2008, Gilles et son étudiant a développé une mesure de co-similarité pour
classifier des données Leur méthode donne le bon résultat avec les jeux de données de
test Cette méthode s’appelle y-Sim [2] Ensuite, ils ont créé une nouvelle version de
Palgorithme z-Sim en 2010 Au début, nous faison une bibliographie C’est-a-dire
qu’on étudie des méthodes đe co-similarité présentées par des chercheurs du monde
Nous nous concentrons sur la mesure de co-similarité y-Sim publiée par Gilles et al
Ensuite, nous étudions des notions de base du graphe, surtout des marches aléatoires,
le noyau du temps d’aller-retour (de l'anglais, Commute — Time Kernel) (voir Sec
2.6.5) du graphe
Ainsi, les travaux concrets a réaliser dans le cadre du stage sont les suivants :
« Aspects théoriques
© Drétudier et synthétiser ce que sont les méthodes de co-similarité, de
co-clustering et ainsi que les approches existantes ;
© D’étudier en bref la description du graphe biparti et des connaissances
concernant des marches aléatoires d’un graphe ;
© De proposer des solutions de co-similarité pour classifier des données Productions d’applications :
o D’implémenter des solutions proposées en langage R ;
© De tester avec des jeux de données réels
1.3Environnement de travail
Trang 13Le stage est réalisé au laboratoire Etude de la Dynamique des Protéomes (EDyP)' L'équipe EDyP développe un ensemble d’approches protéomiques dans le cadre de projets biologiques de grande envergure Il a consolidé une expertise dans le domaine de l’analyse protéomique d’échantillons biologiques complexes et de
quantification des protéines par spectrométrie de masse Ce savoir-faire est mis en
ceuvre pour répondre a des problématiques variées en biologie cellulaire, biologie végétale et dans le domaine biomédical
L'équipe EDyP fait partie du Laboratoire de Biologie grande Echelle (BGE), au
sein de I'Institut de la vie Division des sciences Technologies / Vie (iRTSV / DSV) de
lẻtablissement frangais Commissariat a I'Energie Atomique et aux énergies
alternatives (CEA) Le laboratoire est situé dans la soi-disant capitale des Alpes
frangaises, Grenoble
1.4Plan de ce mémoire
© Chapitre II - Etat de art : ce chapitre présentera des fagons pour représenter des jeux de données aux approches d’apprentissage automatiques, les méthodes
de classifications classiques, des notions de base concernant le graphe, par
exemple: des marches aléatoires, Commute-Time Distance, la matrice de
Laplacienne d’un graphe Dans cette partie, nous allons décrire la méthode
d’évaluation, ainsi que des méthodes qui concernent la co-classification
¢ Chapitre IM — Co-similarité 4 partir des marches aléatoires d'un graphe :
ce chapitre décrira les jeux de données que I’on va utiliser dans ce stage pour
tester nos algorithmes De plus, nous allons proposons 4 approches co-similarité
qui concernent des connaissances présentées dans le chapitre dernier
© Chapitre IV - Expérimentations: ce chapitre exposera l'environnement
d’implémentation, la méthode d’implémentation nos algorithmes, ainsi que les
résultats et des discussions sur ces résultats
Chapitre V - Conclusion et Perspective : Ce chapitre donnera des conclusions
sur les travaux ayant été réalisés et des perspectives de ces travaux dans
Tavenir
` Le site web du laboratoire EDyP au CEA de Grenoble : httg://edyp.fr/
Trang 14CHAPITRE Il - ETAT DE L’ART
Dans ce chapitre, nous allons parler de la méthode de représentation des données dans le domaine d’apprentissage automatique Ensuite, la classification ascendante higrarchique ~ CAH (voir Sec_2.2) sera décrite C'est l’algorithme que l'on
va utiliser pour classifier des données de test Nous présenterons la méthode d’évaluation, des notions de base du graphe concernant des marches aléatoires, le noyau du temps d’aller-retour d’un graphe Enfin, quelques méthodes de co- classification existantes qui se basent des co-similarités seront présentées
2.1 Représentation des données
Les données que nous considérerons dans l'ensemble de ce stage décrivent des
relations entre deux types d’objets Ces types d’objets pourront représenter aussi bien
des documents, des mots Dans ce stage, on s‘intéresse seulement a des jeux de données de documents textuels Chaque document comporte plusieurs mots En fait, il
existe différentes fagons de modéliser de telles données, mais, ici, nous allons voir
quelles sont les deux principales dans les sections suivantes: représentation des
données par une matrice et par un graphe biparti En ce stage, on s’intéressera a ces deux représentations
2.1.1 Représentation par une matrice des co-occurrences
Sans perte de généralité, nous supposons que l'on a N documents Xj (i: 1-N), et
chaque documents comporte m, mots Nous introduisons la notation suivante : wyest le
nombre d’occurrences du mot i (mj)dans le document j (Xj) A partir de cela, on peut
créer une matrice des co-occurrences M
mị
En effet, nous pouvons considérer cette représentation des données qui est
dorigine du modéle vectoriel : chaque document sera un vecteur, qui se compose des
mots En pratique, nous wutilisons pas tous les mots des documents, on va
sélectionner des mots les plus utiles Deux méthode de choix des mots peuvent étre
citées: Supervised Mutual Information preprocessing (SMI)[15] et Partitioning
Around Medoids preprocessing (PAM)[16] La pondération TF-IDF (de l'anglais,
Term Frequency - Inverse Document Frequency)[\7] a aussi été utilisée dans la
littérature Un exemple’ de représentation des données par une matrice, en utilisant le
nombre d’ occurrences
° Cet exemple est extrait & partir de I'article[18] : "Learning Similarity Measures in Non-orthogonal Space" , par Ning Liu et al - 2004
Trang 15Human machine interface for Lab ABC computer applications
A survey of user opinion of computer system response time
The intersection graph of paths in trees
‘The generation of random, binary, unordered rrees
Graph minors IV: Widths of trees and well-quasi-ordering
Tableau 1: Un exemple de données & classifier
human 1 interface 1 computer 1
system 0 response 0
EPS survey 0 trees: 0 graph 0
Tableau 2: Un exemple de représentation par matrice
Dans ce stage, nous utiliserons le deuxiéme modéle
2.1.2 Représentation par un graphe biparti
Dans ce modéle de représentation, on parle de la représentation des données
textuelles par un graphe Chaque instance d’ objets est représentée par un sommet d’un graphe Dans notre cas, le graphe sera plus précisément biparti Un ensemble des
sommets de ce graphe est celui des documents, l’autre est celui des mots Les liens
entre un mot et les documents sont connectés si ce mot apparait dans les documents Si
Je mot i n’apparait pas dans Je document j, alors, il n'y a pas d’aréte entre le sommet i
et le sommet j Les poids des arétes sont le nombre d’occurrences des mots dans les
documents
Trang 16L Documents
L Mots:
Figure 4: Représentation des données par graphe biparti (sans poids)
2.2 Classification ascendante hiérarchique (CAH)
En fait, il existe plusieurs techniques de classification En ce stage, on
s'intéressera juste à la classification ascendante hiérarchique (CAH) L'objectif de
cette méthode (CAH) est de classer des individus en groupes ayant un comportement
similaire sur un ensemble de variables, On commence par agréger les 2 individus les
plus proches Puis, on continue en agrégeant les éléments (individus ou groupes
diindividus) les plus semblables Ces agrégations sont effectuées 2 a 2
Lalgorithme continue jusqu'a ce que l'ensemble des individus se retrouve dans une unique classe Les individus sont done regroupés de fagon hiếrarchique
C'est parce que cette technique part du particulier pour remonter au général qu’elle est
dite «ascendante», Chaque classe d'une partition est incluse dans une classe de la
partition suivante Le principal probleme de cette méthode hiérarchique consiste a
définir le bon critére de regroupement de deux classes, c'est-ả-dire trouver une bonne
méthode de calcul des distances entre classes
Algorithme CAH:
Initialisation les classes initiales sont les m individus Calculer la matrice de leurs distances deux a dewx
© Repérer les deux étapes suivantes jusqu’a l’agrégation en une seule classe :
V Regrouper les deux éléments (classes) les plus proches au sens de la
distance entre groupes choisie
¥ Mettre a jour le tableau de distances en remplagant les deux classes
regroupées par la nouvelle et en calculant sa distance avec chacune
des autres classes
© Nécessité de définir une distance entre groupes d’individus (appelé stratégie
dagrégation)
e Nécessite de choisir le nombre de classes 4 retenir
Trang 17Dans la méthode CAH, pour calculer les distances entre deux individus, nous pouvons utiliser la Distance Euclidienne ; la Distance de Manhattan, la Distance de
Minkowski , la Distance de Tchebychev' Ensuite, pour choisir un indice d'agrégation
(Autrement dit, c’est une "distance" entre classes A et B), les choix proposés sont les
suivants (des phofographis de cette section sont pris du _ site
wmns/t
- Single linkage (distance minimum): la distance minimum entre toutes les
distances entres les points de A et ceux de B
D(A,B)=minmind(1.J)
a đạ»a= my (4 )
Wes
- Complete linkage (distance maxinnum) Dans cette méthode, les distances entre
classes sont déterminées par la plus grande distance existant entre deux objets
de classes différentes (c'est-d-dire les "Voisins les plus éloignés")
D{A,B)=maxmax d(I,J) A Je
- Moyenne non pondérée des groupes associés, Ici, la distance entre deux classes est calculée comme la moyenne des distances entre tous les objets pris dans Vune et J'autre des deux classes différentes
A gaa = average (2;)
yee
- Ceniroide: Le centroide d'une classe est le point moyen d'un espace
multidimensionnel, défini par les dimensions Dans cette méthode, la distance
entre deux classes est déterminée par la distance entre les centroides respectifs
“Le site : http://fr.wikipedia.org/wiki/Distance_(math%C3%A9matiques|
Trang 18tailles des classes (c'est-a-dire le nombre d'objets contenu dans chacune),
- Méthode de Ward (19) Cette méthode tente de minimiser la somme des carrés
de tous les couples (hypothétiques) de classes pouvant étre formés chaque
étape Les indices d'agrégation sont recalculés a chaque étape a l'aide de la régle
suivante : sĩ une classe M est obtenue en regroupant les classes K et L, sa
distance a la classe J est donnée par
Trang 19
dans le livre « Algorithms for clustering data » [21], écrit en 1988 par Anil K, Jain et Richard C Dubes
Nous allons utiliser cette méthode de classification dans tous nos algorithmes de classifications proposées Dans le logiciel R, on a besoin d’utiliser la fonction hiclust
2.3 Evaluation
En fait, il existe de nombreuses mesures d’évaluation de classification Dans ce
stage, nous allons utiliser deux methodes classiques comme suivantes : la matrice de
confusion et la précision micro-moyennée a l'aide de l’algorithme Hongrois
2.3.1 Matrice de confusion
La matrice de confusion est un outil servant 4 mesurer la qualité d'un systéme
de classification dans Ƒapprentissage supervisẻ (pas apprentissage non-supervisé)
Dans ces systémes, les classes ont été bien étiquetées Généralement, soit K le nombre
đe classes notẻes /, /„ On note la matrice de confusion C de taille KxK pour une
classification des objets en K classes Les lignes de C représentent les classes réelles et
les colonnes de C représentent les classes prédites Le terme c, de C est égal au nombre
d objets appartenant a la classe /, et ayant été classifiés a la classe J, Sur la diagonale, on
trouve done les valeurs bien classées, hors de la diagonale les éléments mal classés
Tableau 3: La matrice de confusion
2.3.2 Probléme d’ affectation et l’algorithme Hongrois
Tout d’abord, le probleme d’ affectation (de l'anglais, the assignment problem)
est celui de déterminer un couplage maximum (de l'anglais, @ maximum weight
matching) dans un graphe biparti ayant des poids
©- -®
'Graph G =(U,V,E) Assignment G'=(U,V,E))
Figure 6: Le probléme daffectation
Nous pouvons mentionner un exemple de ce probléme est comme le suivant
10
Trang 20ona nemployés et n taches Chaque employé ne peut étre affecté qu’a une seule tache
et chaque couple (tache, employé), qui a un coơt Le but est de minimiser le colit total
d’exécution des taches L’algorithme Hongrois[22] (de l’anglais, The Hungarian
method) est un algorithme spécialisé permettant de résoudre le probléme affectation,
Normalement, l’algorithme Hongrois sert a déterminer le coiit minimal, mais on peut
transférer un peu pour faciliter trouver le coat maximal Pour le probléme de
maximisation, on doit ajouter une étape initiale C'est de choisir le plus grand nombre
et trouver I’écart de tous les éléments restants par rapport a ce nombre pour trouver la
matrice des pénalités Le probléme initial est alors équivalent au probleme de
minimiser les pénalités
Dans un contexte d’apprentissage non-supervisé (autrement dit, c’est clustering Crest le cas dans ce sujet de stage), les classes que l’on obtient ne sont pas étiquetées,
c'est a dire que lors de la comparaison avec les classes attendues des objets, on ne
connait pas le couplage entre classes prédites et classes réelles On ne peut pas garantir
que la classe prédite i correspond au classe réel /,, Done, on cherche une association :
chaque classe prédite ả une certaine « meilleurey classe réelle Ce probleme est alors
équivalent au probléme d’affectation de maximisation, et il peut étre résolu par
Valgorithme Hongrois [22] Le but est maintenant de trouver le cotit maximal Par
exemple, on a une matrice de cót comme le suivant :
Nous pouvons considérer cette matrice comme une matrice de cotit Nous allons
déterminer le cotit maximal Le résultat est comme suit ©
Figure 8 : La solution de probléme d’alfectation (le coiit maximal)
Maintenant, pour calculer l’exactitude de l’algorithme clustering (de l'anglais,
accuracy), nous prenons la somme des valeurs dans les positions ayant le numéro 1
(Elles sont encadrées par un rectangle rouge), qui correspondent aux valeurs dans les
mémes places dans la matrice de confusion au-dessus Nous divisons cette somme sur
le nombre de tous éléments au début Si le résultat de cette division est égal a 1, c’est-
* Pour obtenir ce résultat, on exécute le code R de X-SIM en 2008, avec le nombre d’itérations est de 3 Le jeu
de données m5_8.txt de NG20-SMI, qui peut étre téléchargé sur le site de Clément http://membres-
\ig.imag.fr/grimal/data html
11
Trang 21a-dire que l’algorithme a pu faire clustering 100% la base de données Nous
récupérons souvent les résultats qui sont moins dun, Dans cet exemple, la somme est
de 479 Tous les éléments au début sont de 500 (c’est le nombre des éléments pour
chaque exemplaire de la base de données M5 de NG20 - SMI) Done, nous avons
accuracy,,s s= 479/500 = 0.958
Cette valeur qui est calculée de maniére au-dessus, est considérée comme la précision micro-moyenne de V’algorithme de clustering Dans le logiciel R, nous pouvons utiliser la fonction Ip.assign(), avec la paramétre direction = « max », dans le package /pSolve"’
# http:/ /hosho.ees.hoktidai.ac.jp/~kubo /Rdoc /library /IpSolve /html/Ip.assign htm!
#On peut voir la solution en utilisant la commande: Ip.assign #(matrix confusion, direction = "max" )$solution
max{z] = Ip.assign(matrix_confusion, direction="max")$objval;
Accurary[z] = max[z]/(length(t(act))[1]);
2.4 Notions de base du graphe
2.4.1 Définition de graphe
On appelle graphe G = (X, A) la donnée d’un ensemble X dont les éléments
sont appelés sommets et d'une partie de A symeétrique ((x, y) € A = (y, x) € A) dont
les éléments sont appelés arétes En présence d'une aréte @ = (x, y) qui peut étre notée
simplement xy, on dit que x et y sont les extrémités de a, que a est incidente en x et en
y, et que y est un successeur ou voisin de x (et vice versa) On dit qu'un graphe est
sans boucle si A ne contient pas d’aréte de la forme (x, x), c’est-a-dire joignant un
sommet 4 lui-méme En dessous, c’est un graphe de 5 sommets : P,Q, S, Ret T
Figure 9: Un graphe simple, non-orlenté de 5 sommets
Un graphe ne posséde pas de boucle ni d'arétes paralleles (deux arétes distinctes
joignant la méme paire de sommets) est appelée graphe simple ou 1-graphe Dans un graphe, on peut assigner un chiffre non-négatif pour chaque aréte du graphe II
* Le site ; http://cran.t-project.org/web/packages/IpSolve/index htm!
12
Trang 22s'appelle le poids de l'aréte Ce graphe est appelé le graphe du poids (de l'anglais,
weighted graph), au contraire, on ’appelle le graphe sans poids
Remarque 1: Dans ce stage, nous ne considérons que des graphes simples
non-orientés, sans boucle et sans arétes paralléles Done, toutes les définitions en bas
Matrice d’adjacence d’un graphe: il existe plusieurs méthodes pour représenter d'un graphe, une entre eux est la matrice d'adjacence
Définition : Considérons un graphe G = (X; A) comportant n sommets La
matrice d'adjacence de G est égale a la matrice U = (u¡) de dimension n x n telle que
— ƒ 1 si(i.j) € A (Cest-iedire (i, j) est une aréte)
“210 sinon Pour les graphes du poids, les valeurs des cases de la matrice d’adjacences sont
des poids de chaque aréte correspondante La matrice d’adjacence du graphe dans la
Fig 9 est
Remarque 2: Dans ce stage, nous aurons une mattice co-occurrences
cuments-mots A partir de cette matrice, on va créer une matrice carrées qui va
onsidérer comme une matrice d’adjacences d’un graphe (biparti) du poids
Un graphe biparti permet notamment de représenter une relation binaire C'est
le cas dans ce stage, quand on classifie des données textuelles qui comportent des
mots
La matrice d’adjacence A d'un graphe biparti de r et s sommets est sous forme
“= \Br a.)
Ou: Best la matrice de rx s, et 0 représente la matrice zéro
2.5 Marches aléatoires et Commute-Time Distance d’un graph
Dans cette partie, nous allons présenter des marches aléatoires (de l'anglais,
random walk) et Commute-Time Distance d’un graphe
13
Trang 232.5.1 Matrice des degrés
En théorie des graphes, la matrice des degrés est une matrice qui contient des
informations sur le degré de chaque sommet d'un graphe La matrice des degrés est
une matrice diagonale Elle est utilisée en conjonction avec la matrice d'adjacence pour
construire la matrice Laplacienne d'un graphe
Définition* : Etant donné un graphe G = (V, E) contenant n sommets, la
matrice des degrés J) de G est la matrice carrée » x n définie par :
¬ ‘cn sit=j
dị
Pour le graphe du poids, on va remplacer le degré par poids
4ur0ov e je je fe |3 Tableau 5; Matrice des degrés du graphe
2.5.2 Matrice Laplacienne
Définition (selon Wikipédia)*; La matrice Laplacienne d'un graphe G non
orienté et non réflexif est définie par: Mi = Ma — Maou Mg est 1a matrice des
degrés de G et Mala matrice d'adjacence de G Plus formellement, soit un graphe non
orienté et non réflexif G= (S, 4) an sommets, pondéré par la fonction poids qui a toute aréte (Sis $j) associe son poids P( Sis $5)
La matrice Laplacienne de G vérifie :
™ accessible le site : http://en.wikipedia.org/wiki/Degree_matrix
® Accessible le site : http://en.wikipedia.org/wiki/Laplacian_matrix
*© accessible le site : http://en.wikipedia.org/wiki/Kirchhoff's theorem
14
Trang 24basant la dégrée des sommets du graphe, Ä = D — A, ou: M est la matrice
Laplacienne, D est la matrice des degrés, A est la matrice d’adjacences, comme
suivant” (deg(v,): le degré du sommet i)
deg(v;) sit =7
(M)¡¿= 4 —1 sit j etU; Uj sontvoisins
La matrice Laplacienne d'un graphe pondeéré par des poids positifs est positive
La matrice Laplacienne est utilisée pour calculer le nombre d'arbres couvrants d'un
graphe, L'analyse des vecteurs propres de la matrice Laplacienne du graphe dans ce
que l'on appelle la méthode spectrale[23], permet de trouver une partition du graphe
Cette méthode a des applications dans des domaines aussi divers que la répartition de taches en calcul paralléle, la segmentation d'image, la résolution de systémes linéaires,
etc Elle est aussi utilisée pour calculer la matrice Commute-Temps Distance d'un graphe Dans ce stage, on a besoin de calculer la matrice Commute-Temps Distance
dun graphe
Matrice Laplacienne normalisée
Soit une matrice Laplacienne, on obtient sa forme normalisée [’ par
UU=D !?LD”!?=T— D 24D”? oà Jest lamatrice identité, ou on
peut aussi l'obtenir directement par chacun de ses éléments
Trang 25
Matrice P'adjacences
P[8 [i ye TT TT oịi fe [a |1 |1
RịỊ9 1 9 1 9 sia 1 1 @ 1 Tipz 1 6 1 9
Matrice des degrés
P Q R s T
Pị3 ]Je ]e ]e |e ole |4 fe |s fe rf@ |8 |2 |5 |8 sje jo |2 |4 |e tle [fe je fe |3
Tableau 6: Matrice Laplacienne
La matrice Laplacienne normalisée du graphe dans la Fig 9
G=(V,E) est un graphe non-orienté sur les sommets V d'arétes E Dans ce cas,
le degré sortant et le degré entrant sont égaux On appelle deg(u) le degré d’un sommet
u Une marches aléatoire est un déplacement aléatoire sur les sommets V de G en suivant les arétes E de G, tel que la probabilité de déplacement entre deux sommets u
et v diune aréte est Pr [u>v] = 1/deg(u)
16
Trang 26Matrice de transition :
On considere la loi de probabilité de X,, appelée probabilité de transition La
matrice de transition d'une marche aléatoire est la matrice carrée dont le coefficient
situé sur la ligne et la colonne est la probabilité de transition du sommet j vers le
sommet i La somme des coefficients d'une méme colonne d'une matrice de transition est égale a 1 La matrice colonne des états de la marche aléatoire aprés n étapes est la
matrice colonne dont les coefficients sont les probabilités d'arrivée en chaque sommet
aprés n étapes On note P, la matrice colonne des états de la marche aléatoire aprés n
étapes On considére une marche aléatoire de matrice de transition M (au début) et dont la matrice colonne des états a I'étape n estP, Pour tout entier naturel n, on a :
P.,=MP, et:P,=M,
Pour le graphe du poids, on remplace la probabilité de déplacement par poids
2.5.4 Commute-Time Distance
En anglais, c’est Commute-Time Distance ou Resistance-Distance Matrix{24]
En fait, Commute-Time Distance a une interprétation électrique[25]
Fondamentalement, ils sont équivalents, jusqu'a un facteur de mise a I'échelle, a la
résistance effective entre les nceuds d'un réseau électrique derive
** accessible le sit http://www liafa.jussieu.fr/~magniez/teaching/quantum-X07-6.pdf
Trang 27Consideérer des marches aléatoires sur un graphe G, chaque ẻtape, le marcheur
déplace a un sommet d’adjacences, 4 partir d'un sommet courant, aléatoirement avec
une probabilité de transition Le hitting time H (u, v), du sommet u au sommet vy, est
caleulé par le nombre d'étapes pour une marche aléatoire sur le graphe G, part du
sommet u et arrive au sommet v la premiére fois C'est zéro si u = v Le commute time
C (u, v) du sommet u au sommet v est défini par C (u, v) = H(u, v) + H(y, u)
© ABest une matrice symétrique, (soit Hermitian)
© BA est une matrice symétrique (soit Hermitian)
La matrice Pseudo-inverse de Moore-Penrose d’une matrice réelle est unique
La matrice Pseudo-inverse de Moore-Penrose d'une matrice A peut se calculer en
utilisant la décomposition en valeurs singuliéres UDV" de la matrice A (U: une
matrice unitaire, D > une matrice dont les coefficients diagonaux sont des réels positifs
ou nuls et tous les autres sont nuls — la matrice diagonale positive décroissante, V" : la
matrice adjointe 4 V matrice umitaire) La matrice Laplacienne du graphe dans la Fig
10 est comme suivante
Tableau 8; Matrice Pseudo-inverse de Moore-Penrose
Calcul de la matrice Commute-Temps Distance
Dans larticle [4], les auteurs ont montré que le Commute time C(u,v) peut se
calculer en se basant sur la matrice Pseudo-inverse de Moore-Penrose de la matrice
Laplacienne du graphe Concrétement, si G est un graphe connexe avec l'ensemble des
sommets {vị vạ} Alors,
CÓ, vị) = 2m (12 +Í—21; )
Ou
- mest le nombre des arétes du graphe, ou, le poids du graphe
-T est les valeurs de la matrice Pseudo-inverse de Moore-Penrose de la matrice
Laplacienne du graphe
ittp://www.cse.unr.edu/~bebis/CS791E/Notes/SVD.pdf ttp://www.Isv.ens-cachan fr/~picaro/COURS/OPTIONC/TEXTES/pseudo_inverse.pdf
18
Trang 28La matrice Commute-Temps Distance du graphe dans la Fig 10 est (sans le
facteur 2m):
2.6 Méthodes de co-similarité existantes
Dans cette partie, nous allons présenter quelques méthodes de co-classification
en se basant des co-similarités
2.6.1 L’algorithme y-Sim, 2008
L’algorithme y-Sim est inventé par Gilles BISSON” et al Dans cette section,
nous allons présenter sa premiére version en 2008[2] et sa nouvelle version en
2010[26]
Notions utilisées
Nous considérons que la matrice M est une matrice de co-occurrences
documents-mots, et on veut calculer la matrice de similarité entre documents SR La
matrice M comporte r lignes (documents) et ¢ colonnes (mots) Chaque valeur my
caractérise la nature de la relation entre le j’”* mots et le 7” document ; m, = [mm
m,] est la vectrice ligne correspondant au document i et m! = [my my] est le vecteur
colonne correspondant au mot j Deux matrices de similarité SR (de taille rxr) et SC (de taille cxc) représentent les matrices carrées et symétriques contenant
respectivement les valeurs de similarité entre documents et entre mots, avec sr, € [0,1],
1<i7< retse, € [0,1], 1<i,j < ¢ Le vecteur sr, = (sr, sr, ] (vespectivement sc,
[sc Sc] ) indique la similarité entre le document i et l'ensemble d'autres
documents (respectivement entre le mot et d'autres mots) La fonction F,(- , -) prend en
entrée deux valeurs m, et m;,; de la matrice M et retourne la similarité entre ces valeurs avec F,(m, , m) €[0,1] La fonction F, est appelée la fonction de similarité
L’algorithme de co-similarité y-Sim:
La similarité entre deux documents m, et m, est alors calculée par une fonction
que nous notons ici Sim (mj,my) tel que
Trang 29Sim(m,, my) =
F¿Œmj, mi) x sen FF (mig, Mya) X8e12 + + Fy(MM41, Myc) X $C + F(miz,myi) X 821 +F (mi mj2) XSe22 + + Pa(miz, mjc) X SC2e +
Fy (mic, mj1) X SC +F (Mics Mj2) X8C.2 + + Fa(Mic, Mj) X SCoe
Symeétriquement, la similarité entre deux mots m' et m/ est donnée par
Sim(m!, mỶ) =
Fy (rea, mya) X srr +E s (min, mya) xsri2 + + + Ferma mje) X sre +
Fy (mea, my) X say +P 5 (myo, mya) X8rag + + Fema Myr) X Stan +
Fy (reps tj3) % Ste +P (Map, Myo) X82 + oe + Fe (Migs fiịy) X 8e»
Cependant, les valeurs des éléments sry de SR et soy de SC doivent appartenir
a intervalle [0, 1] Alors, on va faire une normalisation comme suivante:
Sim(m;,m,)
Jmi| x |m|
Sim(m',m’) fm] x [m3]
Vi,j € Lar sriy = Vi,j € Lc, sey =
Autrement dit, on peut écrire sous autre forme (L’opérateur « ° » désigne le
produit de Hadamard, défini tel que, pour C = A © B, les éléments de C sont caloulés
ainsi: oj =ay * by.)
1 SR=(MxSCxM?)oNR avecnry = mixin im] x [my
Ces deux équations SR et SC au-dessus ne sont pas indépendantes On peut
utiliser une méthode itérative pour calculer SR et SC Les deux matrices de similarité
sont initialisées avec la matrice identité I, soit SR = I, et SC” = I, Le nombre
d’itérations nécessaires pour calculer les valeurs finales de similarité est de 3 ou 4, daprés les auteurs Normalement, on utilise le nombre d'itérations est de 4 Enfin, on
classifie des documents en utilisant la méthode CAH sur la matrice de similarité SR
entre documents La complexité de cet algorithme est O (k.N’); k: le nombre
d iterations, N : la dimension de données
A partir de maintenant, onlappelle W’algorithme y-Sim 2008 Quand on
impléemente y-Sim en logiciel R, on peut représenter cet algorithme par un schéma
comme le suivant :
20
Trang 30L Ualgorithme X-SIM:
galomerave Hierarchical Clustering san (A
Figure 11: Schéma de l'algorithme X-SIM de base (2008)
Nouvelle version de l’algorithme y-Sim:
Dans article publié [26], Gilles et al ont créé une nouvelle version de Valgorithme 7-Sim Ils ont ajouté une nouvelle normalisation k et un pruning p Tout
@abard, nos aotoas = Ml = (lry)") is, cresta-aive: que toutes: les Valois a 1a
matrice M sont en puissance de k L’algorithme est comme suivant
Etape 1: Les deux matrices de similarité SR et SC® sont initialisées les
matrices identités
Etape 2: A chaque iteration f, nous calculons la nouvelle matrice de similarité
‘SR® entre documents en utilisant la matrice de similarité entre mots SC“ :
SRO = M%® x SGU“) x (Me)?
La matrice SR” est ensuite normalisée, afin que les valeurs de similarités soient