1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn dèinissions de co similarité À partir des marches aléatoires d’un graphe biparti

61 1 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Definitions de co-similarité À partir des marches aléatoires d’un graphe biparti
Tác giả Dao Van-Sang
Người hướng dẫn Thomas Burger CEA Grenoble, Gilles Bisson Laboratoire LIG , Grenoble
Trường học Institute of Francophone For Computer Science (Institut de la Francophonie pour l'Informatique)
Chuyên ngành Computer Science
Thể loại thesis
Năm xuất bản 2013
Thành phố Grenoble
Định dạng
Số trang 61
Dung lượng 3,85 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

Institut 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 3

TABLE 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 5

REMERCIEMENT

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 6

LISTE 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 7

LISTE 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 8

RÉ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 9

ABSTRACT

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 10

CHAPITRE 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 12

similaires 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 13

Le 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 14

CHAPITRE 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 15

Human 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 16

L 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 17

Dans 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 18

tailles 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 20

ona 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 21

a-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 22

s'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 23

2.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 24

basant 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 26

Matrice 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 27

Consideé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 28

La 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 29

Sim(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 30

L 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

Ngày đăng: 21/05/2025, 18:42

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm