• Aucun résultat trouvé

Approche par clustering

Dans le document Résumé de flux de données ditribués (Page 49-51)

3.3 Techniques probabilistes

3.3.2 Approche par clustering

Tout comme en classication automatique classique, la classication de ux de données vise à catégoriser les éléments et les regrouper dans des classes en se basant sur des données statistiques. Plusieurs méthodes ont été proposées par la commu- nauté de fouille de données, mais la plupart d'entre elles ne peuvent pas s'appliquer à des ux de données. Les algorithmes de classication de ux de données doivent ré- pondre à toutes les contraintes d'ordre générale sur les algorithmes de traitements de ux de données, et doivent donc travailler en une seule passe et avec une utilisation des ressources mémoires par élément traité faible. Les analyses doivent aussi porter sur l'intégralité des éléments observés ou sur une partie de ceux ci dénie a poste- riori. De plus, les ux de données nécessitent une étape en ligne, pendant laquelle les données sont traitées de façon continue, et une étape hors ligne basée sur les besoins d'analyse. An de répondre à ce besoin, des méthodes de micro-clustering ont été proposées comme étape préliminaire de compression du ux qui préserve les infor- mations temporelles sur les données, ensuite vient l'étape de classication du ux de données à proprement parler. Nous présentons quelques méthodes de clustering adaptées aux ux de données puis citons deux techniques utilisant le micro-clustering an de résumer les données des ux.

Clustering

Guha et al. [72; 73] ont étudié l'adaptation de la technique du k-median au contexte des ux de données. L'algorithme que proposent les auteurs permet d'ef- fectuer une seule passe sur les éléments tout en utilisant un espace mémoire réduit. Il requiert O(nk) en temps et O(n) en espace où k est le nombre de centres (de classes), n le nombre d'éléments et  < 1. Leur approche s'eectue de façon incré- mentale (divide-and-conquer) pour maintenir les k clusters. Une amélioration a été proposée par Babcock et al. [22] en utilisant un histogramme exponentiel comme structure de données an de maintenir k clusters sur des fenêtres glissantes de N éléments(SWKM pour Sliding Window k-median) plutôt que sur l'ensemble du ux depuis son début.

Ordonez [96] a proposé plusieurs améliorations à l'algorithme de k-means pour le clustering d'un ux de données binaires. Les données sont présentées sour forme de vecteurs binaires de tailles diérentes et appelés transaction. Ordonez a développé un algorithme de k-means incrémental et a démontré expérimentalement son ecacité sur des données réelles et des données synthétiques. L'algorithme proposé opère en une seule passe et avec une complexité de O(T kn) où T est la taille moyenne d'une transaction, n est le nombre de transactions et k est le nombre de clusters. L'uti- lisation des données binaires simplie la manipulation des données qualitatives et élimine le besoin de normaliser les données. L'idée principale de l'algorithme proposé

3.3. Techniques probabilistes

est de mettre à jour les clusters après examen d'un bloc de transactions (après n

n

transactions) au lieu d'une mise à jour à chaque nouvelle transaction.

O'Callaghan et al. [28] ont proposé STREAM et LOCALSEARCH, deux algo- rithmes de clustering de ux de données. Dans cet algorithme, on suppose que les données arrivent sous forme de paquets. Dans chaque paquet, LOCALSEARCH est réalisé et des centres de classes résultant sont conservés. LOCALSEARCH est un algorithme de classication très proche de k-means. Quand une quantité susante de paquets de points a été observée, les centres résultants sont à leur tour classiés par LOCALSEARCH pour former de nouveaux centres d'un plus haut niveau. Le processus est ainsi répété à plusieurs niveaux d'hiérarchie. Les classes nales sont ensuite réalisées sur l'ensemble des centres conservés. Cette méthode a un défaut majeur que des algorithmes plus récents essaient de corriger. En eet, elle n'est pas adaptée aux traitements faisant intervenir les données récentes.

Birch

Birch [117] (Balanced Iterative Reducing and Clustering using Hierarchies) est un algorithme adapté à des données volumineuses. L'approche de Birch est basée sur une classication eectuée sur un résumé compact des données au lieu des données originales. C'est pourquoi il peut traiter un grand volume de données en utilisant une mémoire limitée. Cette méthode a le mérite d'être incrémentale et n'eectue qu'une seule passe sur les données. Les informations nécessaires au clustering sont organisées sous forme d'arbre équilibré avec une taille limitée. Chaque entrée de l'arbre décrit une micro-classe, et les nouveaux n÷uds sont insérés sous l'entrée la plus proche. Birch utilise la notion Cluster Feature Vector (CFV en abréviation) qui est utilisée pour représenter une classe ou une sous-classe. Son principe est simple, pour un ensemble d'éléments à résumer, on conserve l'eectif de l'ensemble et, pour chaque variable, la somme de toutes les valeurs prises par cette variable dans l'ensemble des éléments ainsi que la somme de leurs carrés. A partir de ces valeurs, on peut reconstituer pour toute variable les moments d'ordre 1 et 2 facilement et fournir des estimations sur certains quantiles. Le clustering dans Birch est réalisé suivant 2 étapes principales :

1. Résumer les données an de réduire leur taille en construisant un arbre des CFVs dont les feuilles sont des résumés de données sous forme de micro-classes. 2. Faire la classication de ces résumés en utilisant un algorithme de classication

simple (e.g K-means). CluStream

Aggarwal [7] a adapté les CFV (Cluster Feature Vector) pour résumer des en- sembles d'éléments issus de ux de données. La plupart des algorithmes présentés jusque là permettaient de traiter des ux de données avec un nombre réduit de passes sur les données et de façon incrémentale. Cependant, ces algorithmes ne prennent pas en compte l'évolution des données et par conséquent, la qualité des classes produites devient mauvaise si les données évoluent de façon importante dans le temps.

Chapitre 3. Résumé de ux de données individuel

CluStream est un algorithme de résumé généraliste [47] d'un ux de données au sens où il est capable de donner une réponse approchée pour n'importe quelle analyse sur les données originales et à n'importe quelle période de temps. Le clustering par CluStream se fait en deux étapes. Une première étape dite en ligne stocke pério- diquement des statistiques de résumés détaillés (micro-classes). Cette étape consiste à utiliser les CFV comme résumé de chaque classe des données. Aggarwal a adapté les CFV en leur intégrant l'étiquette de temps des données comme une variable ad- ditionnelle. Ainsi, le CFV conserve aussi la somme de toutes les étiquettes de temps (mises sous une forme numérique) ainsi que la somme de leurs carrés. A son arri- vée, un nouvel élément est aecté à la micro-classe la plus proche dont le CFV est mis-à-jour selon un critère donné. Si aucune micro-classe proche n'est trouvée, on crée une nouvelle avec pour seul élément le nouvel élément. Comme la taille mémoire est xe, il est nécessaire de fusionner deux micro-clusters ou de faire disparaître une 'vieille' qui n'a plus été mise-à-jour depuis longtemps. Un critère de vieillesse est donné par Aggarwal, basé sur l'hypothèse que les éléments de temps des éléments au sein de chaque classe suivent une distribution gaussienne. Conjointement, un système de clichés est mis en place an de stocker à intervalles réguliers l'état du système en sauvegardant l'ensemble des CFV des micro-classes. Ces clichés sont ensuite conser- vés selon une structure géométrique ou pyramidale an de privilégier les périodes proches du temps courant par rapport aux périodes les plus anciennes.

Une seconde étape dite hors ligne utilise les informations statistiques (CFV) à des ns d'analyse. Le reconstruction d'une partie du ux de donnée se fait grâce aux clichés conservés. En eet, les propriétés mathématiques des CFV permettent d'eectuer des opérations de soustraction sur les clichés pour obtenir le contenu du ux entre deux instants et observer ainsi l'évolution des micro-classes. Ensuite, vient l'application d'algorithmes de fouilles de données classique aux micro clusters ainsi constitués.

En utilisant une approche de microclustering conjointement à un modèle de cli- chés, CluStream permet de capturer l'évolution du ux de données pour n'im- porte quel horizon temporel. Néanmoins, CluStream trouve ses limites quant au traitement des ux de très haut débit. En eet, l'ajout de chaque élément nécessite des calculs de distance avec chaque micro-classe. Une seconde limitation concerne le nombre élevé de paramètres et dont certains dépendent de la nature du ux de données et de la vitesse d'arrivée des éléments (tel que le critère de vieillesse d'une micro-classe).

Dans le document Résumé de flux de données ditribués (Page 49-51)