• Aucun résultat trouvé

Les inégalités de concentration permettent de contrôler les fluctuations de variables aléatoires.

La concentration de la mesure est une question qui concerne les probabilités, l’analyse, la géomé-trie et la théorie de l’information. Ses aspects les plus fondamentaux se sont développés durant les 25 dernières années sous l’impulsion de Talagrand et Ledoux [LT91]. Les inégalités de concen-tration ont trouvé des applications en informatique dans les applications touchant à la fouille de données comme l’extraction d’itemsets [Toi96], l’échantillonnage adaptatif dynamique [SD05] et le clustering de flot [Bar02].

Ces inégalités sont nombreuses et diverses. Pour une liste exhaustive, le lecteur peut se réfé-rer à [Pap91]. Afin de faciliter la compréhension des méthodes présentées dans ce chapitre, nous introduisons les définitions de l’espérance mathématique et deux des inégalités de concentrations les plus utilisées.

E[X]est la moyenne arithmétique des différentes valeurs deXpondérées par leurs probabilités, sa définition formelle est :

Définition 7.1 (Espérance mathématique). SoitX une variable aléatoire discrète, l’espérance est définie telle que :

E[X] =X

i

xiP[X =xi]

Définition 7.2 (Inégalité de Markov [Pap91]). Soit X une variable aléatoire non-négative alors pour tout t >0 on a :

P[X >t]6 E[X]

t (7.1)

Démonstration. Pour un événement quelconque E, soit IE la variable aléatoire indicatrice de E (i.e IE = 1si E apparaît et IE = 0 sinon).

On a alors I[X>t] = 1 si l’événement [X > t] se produit et I[X>t] = 0 si X < t. Alors pour t >0 :t.I[X>t]6X et doncE[tI[X>t]]6E[X]. En remarquant quet.E[I[X>t]] =t.P[X >t], on a :

t.P[X >t]6E[X]

Et comme t >0 :

P[X >t]6 E[X]

t

Exemple 7.1. Supposons que les manuscrits de thèse dans le domaine de la fouille de données font en moyenne 100 pages. Quelle est la proportion de thèses ayant plus de 1000 pages ?

SupposonsX la variable aléatoire discrète associée au"nombre de pages du manuscrit choisi", ici E[X] = 100, alors par l’inégalité de Markov on a :

P[X >1000]6 E[X]

1000 = 1 10

Définition 7.3 (Inégalité de Hoeffding [Hoe63]). Soit X1, X2, . . . , Xn des variables aléatoires indépendantes telles que Xi ∈ [a, b] avec une probabilité de 1. Soit S la somme de ces variables alors pour tout t >0:

P[S−E[S]>nt]6exp

−2nt2 (b−a)2

P[|S−E[S] |>nt]62exp

−2nt2 (b−a)2

(7.2)

3 Échantillonnage sur les bases de données statiques

Dans cette section nous discutons de l’utilité de l’échantillonnage en tant qu’étape de pré-traitement dans l’extraction de motifs séquentiels dans le cadre des bases de données statiques.

Étant donné que l’un des facteurs clés pour l’extraction est la taille de la base considérée, l’intuition sous-jacente est que n’importe quel algorithme d’extraction pourrait être lancé sur un échantillon de la base de données originale afin d’avoir des résultats de manière plus rapide et plus facile.

Exemple 7.2. Supposons que D soit une base de données d’une compagnie de téléphonies et télécommunications contenant l’historique des appels de 20 millions de clients sous forme de sé-quences. L’extraction de motifs séquentiels sur toute la base de données va générer une grande activité en terme d’entrées-sorties et les données ne seront probablement pas chargées en mémoire.

Il est donc plus utile de générer un échantillon de cette base.

La première question qui se pose si nous voulons extraire des motifs à partir d’un échantillon est : à quel point l’échantillon est-il pertinent par rapport au jeu de données original ?

Nous y répondons en exhibant une garantie sur le taux d’erreur du support d’une séquence.

Notons qu’une approche similaire a été proposée pour l’extraction d’itemsets fréquents dans [Toi96]

dans le cadre d’un algorithme d’extraction d’itemsets fréquents sans approximations.

Définition 7.4 (Taux d’erreur). Soit Dune base de données transactionnelle de clients et notons SD l’échantillon aléatoire généré à partir de D. Soit s une séquence présente dans D. Le taux d’erreur absolu en terme d’estimation du support, noté e(s,SD), est défini par :

e(s,SD) = |Support(s,SD)−Support(s,D)|

Soit Xi,s une variable aléatoire indépendante définie telle que :

( P r[Xi,s = 1] =pi si le ieme client supporte la séquence s,

P r[Xi,s = 0] = 1−pi sinon. (7.3)

notonsX(s,SD) = P|SD| i Xi,s.

X(s,SD) représente le nombre de séquences dans l’échantillon SD qui supportent la séquence s. Cette quantité peut être réécrite de la manière suivante :

X(s,SD) =Support(s,SD).|SD| (7.4) De même, l’espérance de la variable X(s,SD)est E[X(s,SD)] = Support(s,D).|SD|.

Nous voulons estimer la probabilité que le taux d’erreur e(s,SD) lors d’un échantillonnage dépasse un certain seuil d’erreur ε défini par l’utilisateur,(i.e P r[e(s,SD)> ε]). Cette estimation est généralement appelé dans la littérature une (ε, δ)-approximation.

Pour obtenir l’estimation, nous utilisons l’inégalité de Hoeffding [Hoe63]. Le théorème suivant exhibe une borne inférieure sur la taille de l’échantillon.

Théorème 7.1. Soit s une séquence et|SD| la taille de l’échantillon, alors nous avons : P r[e(s,SD)> ε]6δ si |SD|>ln(2

δ) 1

2 (7.5)

Démonstration.

P r[e(s,SD)> ε] =P r[ |Support(s,SD)−Support(s,D)|> ε]

=P r[ |Support(s,SD).|SD| −Support(s,D).|SD| |> ε.|SD|]

=P r[ |X(s,SD)−E[X(s,SD)] | > ε.|SD|]

(7.6)

Par l’inégalité de Hoeffding (Définition 7.3) nous avons :

P r[ |X(s,SD)−E[X(s,SD)] | > ε.|SD| ]6δ (7.7) avec δ = 2e−2ε2.|SD|

Il est à noter que les inégalités de Hoeffding sont souvent considérées comme plus générales et moins précises que l’inégalité de concentration de Chernoff [Che52], mais le choix de variables aléatoires indépendantes dans l’intervalle [0,1] donne des résultats similaires pour ces deux in-égalités. De plus, il est important de remarquer que la taille de l’échantillon SD est conditionnée uniquement par ε etδ.

La table 7.1 illustre quelques exemples de tailles d’échantillons en terme de séquences pour différentes valeurs de ε et δ. Nous pouvons remarquer que lorsque les valeurs ε et δ sont trop strictes, l’échantillon peut atteindre une taille assez importante.

ε δ |SD|

0.01 0.01 26492 0.01 0.001 38005 0.01 0.0001 49518 0.001 0.27 1000000 0.001 0.01 2649160 0.001 0.0025 3333333

Tab. 7.1:Différentes tailles d’échantillons pour εetδ donnés

Nous allons voir maintenant comment peut-on étendre ce résultat afin de l’incorporer dans un contexte d’extraction de motifs séquentiels dans le modèle de flot de données.

4 Motifs séquentiels, échantillonnage et flots de données

Un des problèmes majeurs qui rend la pratique de l’échantillonnage difficile sur les flots est que l’on ne sait pas à l’avance la taille du flot. Il faut donc développer des algorithmes d’échantillon-nages dynamiques qui prennent en compte l’évolution et les changements dans la distribution des données transitant sur le flot [Agg07].

Dans cette section, nous étendons les résultats précédents sur l’échantillonnage dans le cadre des bases statiques. Nous présentons un algorithme de maintien dynamique d’échantillon (biaisé ou non) et qui prend en compte les différentes évolutions du flot de données tout en respectant certaines contraintes sur l’ordre d’échantillonnage des itemsets présents dans les différentes sé-quences. L’algorithme présenté peut être vu comme une étape de pré-traitement nécessaire afin de permettre l’extraction de séquences fréquentes. Afin que cette étape de pré-traitement soit perti-nente, elle doit respecter les conditions suivantes :

1. L’échantillon doit avoir une borne inférieure sur sa taille afin de minimiser le taux d’erreur absolu en terme d’estimation du support.

2. A cause de la nature même des séquences, les opérations d’insertions et d’enlèvements, né-cessaires pour la mise à jour d’un échantillon, doivent se faire au niveau des identifiants des séquences, mais aussi de leurs itemsets. Pour s’en convaincre, il suffit de considérer un en-semble fini de séquences avec pour chacun d’eux un grand nombre d’itemsets qui se rajoutent à chaque instantt. Cet ensemble ne peut bien sûr pas être considéré comme un échantillon ou un réservoir car il n’est pas borné et ne fait qu’augmenter avec le flot.

Dans notre modèle de flot de données, un point de données apparaissant à chaque instant test défini comme un couple constitué d’un identifiant de séquence et d’un itemset. Ce modèle est très efficace pour représenter les flots issus des réseaux de télécommunications comme par exemple un réseau TCP/IP où un point du flot consisterait en un paquet TCP/IP contenant comme identifiant l’adresse IP source et où les itemsets correspondraient aux différents attributs du paquet TCP/IP.

[1,(a,b)] [2,(a,b,c,d,e)] [2,(b,e)] [3,(b,c,e)] [1,(a,b)] [1,(b,d,e)]

t+1 t+2 t+3 t+4 t+5 t+6

Fig. 7.1:Modèle de flot contenant 6 points avec 3 identifiants de séquences

Ce modèle peut être aussi vu comme un tableau contenant dans ses lignes les identifiants de séquences et dans ses colonnes les différents itemsets apparaissant sur le flot. La table 7.2 illustre une représentation tabulaire de l’exemple du flot de la figure 7.1.

Id. Séquence Itemsets 1 (a, b)(a, b)(b, d, e) 2 (a, b, c, d, e)(b, e)

3 (b, c, e)

Tab. 7.2:Modèle de flot représentant les points arrivés sous forme de tableau

Partant de ces contraintes et des résultats théoriques obtenus dans la section 3, nous proposons un algorithme de remplacement issu de l’approche de réservoir biaisé proposée dans [Agg06] qui permet de réguler l’échantillonnage des itemsets des séquences sur le flot grâce à une fonction de biaisage temporelle exponentielle.

Le principe général est le suivant : nous commençons avec un réservoir vide, de capacité maxi-male 1λ (nous discutons un peu plus tard la valeur du taux de biais λ) et chaque itemset d’une séquence apparaissant sur le flot est inséré de manière probabiliste dans le réservoir après une opération de lancer de pièce : soit par un remplacement des itemsets d’une séquence déjà présente dans le réservoir, soit par un ajout direct dans une des places encore vacantes. Comme nous l’avons vu précédemment, nous devons aussi bien contrôler la taille du réservoir en terme de nombre de séquences qu’en nombre d’itemsets dans chacune de ces séquences. Cette opération de contrôle est appliquée grâce à une approche de fenêtre glissante qui permet de garder uniquement les itemsets les plus récents pour une séquence donnée dans le réservoir. Une fenêtre glissante peut être définie soit comme une fenêtre basée sur les séquences de taille k, contenant les k itemsets des points les plus récents apparus sur le flot, soit comme une fenêtre basée sur un intervalle de temps de taille t contenant tous les points apparus sur le flot sur une durée de temps t.

Dans notre approche nous utilisons des fenêtres glissantes basées sur des séquences afin de garder uniquement les transactions les plus récentes pour les clients présents dans l’échantillon.

Ce type de fenêtre glissante permet l’extraction de séquences sur un horizon récent du flot. De plus, la fonction exponentielle de biais permet à l’utilisateur de choisir la taille de son réservoir (avec des contraintes sur l’(ε, δ)-approximation) et ainsi, un échantillon représentatif du flot peut être construit et mis à jour en mémoire selon les besoins de l’application et de l’utilisateur. Le corollaire suivant, issu du théorème 7.1 exhibe le lien qui existe entre le taux de biaisλet les seuils d’erreurs ε et δ :

Corollaire 7.1. Soient λle taux de biais, ε le seuil d’erreur etδ la probabilité maximale telle que e(s,SD)> ε, alors :

λ6 2ε2

ln(2/δ) (7.8)

Démonstration. Par [Agg06], pour un flot de taille t, supposons R(t) la taille maximale possible du réservoir qui satisfait la fonction de biaisage exponentielle, on a alors par définition :R(t)6 1

λ. Nous considérons le réservoir entier comme l’échantillon cible pour l’extraction de motifs, on a donc :R(t) =|SD|. Par substitution dans le théorème 7.1, nous obtenons le résultat énoncé.

Exemple 7.1. Supposons qu’un utilisateur définisse le seuil d’erreur ε = 0.01 et δ = 0.01 pour les besoins de son application d’extraction de motifs, alors pour avoir des résultats pertinents la condition λ 6 0.000377 doit être respectée. Ceci veut dire que l’utilisateur doit choisir un taux de biaisage λ ∈ [0,0.000377] s’il veut être assuré que les résultats de son extraction de motifs séquentiels respectent la (ε, δ)-approximation qu’il a choisi. ainsi, dans ce cas là, la taille du réservoir sera au minimum de 26492séquences.

La table 7.3 montre quelques valeurs du taux de biaisage λ et la taille minimale du réservoir nécessaire pour la bonne approximation du support des séquences.

ε δ λ min(R(t))

0.01 0.01 0.0000377 26492 0.01 0.001 0.00002631 38005 0.01 0.0001 0.00002019 49518 0.001 0.27 0.000001 1000000 0.001 0.0025 0.0000003 3333333

Tab. 7.3:Différents taux de biaisage λpour différentes valeurs de εetδ