• Aucun résultat trouvé

Notre proposition : MMHC incrémental

à CP CpT q. Et ainsi de suite le long du chemin de recherche. Si le chemin s’écarte

du précédent, alors il faut recalculer l’ensemble des k meilleurs opérateurs pour ce nouveau modèle, et ainsi de suite.

Cet exemple simple nous permet de voir que, dans le meilleur des cas la complex- ité de la phase de recherche gloutonne locale est contrainte par la valeur k, diminuant ainsi le nombre de mesures d’association à recalculer. Dans le pire des cas, il faudrait alors recalculer un nombre de mesures d’association identique à la situation initiale.

Dans des situations plus réalistes où k ! n, ce contrôle de la complexité est un atout

important limitant fortement le nombre de mesures d’association à calculer.

B.5

Notre proposition : MMHC incrémental

L’objectif de MMHC incrémentale (iMMHC) est d’apprendre une haute qualité de la structure BN progressivement, en réduisant le temps d’apprentissage. Elle peut être obtenue en ré-utilisant les connaissances précédente et la réduction de l’espace de recherche. Comme méthode MMHC, iMMHC est également un algorithme

hybride en deux phases, comme décrit dans l’algorithme10et illustré à la figure5.4.

B.5.1

Une approche locale pour l’apprentissage incrémental:

La première phase découvre le squelette possible (graphe non orienté) G du

réseau pour une fenêtre donnée, en utilisant iM M P C méthode (cf. section5.2.3).

Il apprend une structure locale autour de chaque variable en utilisant la connaissance précédente, et évite d’explorer les parties de l’espace de recherche qui étaient aupar- avant trouvé de faible qualité. A cet effet, il tient une liste des chemins de recherche (ordre des variables incluses dans l’ensemble des candidats parents-enfants, CPC). Dans le même temps, il stocke un ensemble de haut K meilleures variables qui ont plus de chance d’être considéré dans la CPC. La taille minimale des ensemble K dépend du degré moyen du graphe. Lorsque de nouvelles données arrivent, iM M P C vérifie chaque chemin de recherche. Si elles ne sont pas encore validés, il n’y a pas

besoin de ré-apprendre les CPC (modèles locaux). Au contraire, il déclenche le pro- cessus de réapprentissage. Le détail de l’algorithme et la description des paramètres sont définis dans la section précédente. Par conséquent, nous construisons les struc- tures locales de façon incrémentielle en réduisant l’espace de recherche, puis nous construisons un graphe non orienté G (squelette) en fusionnant ces structures locales.

B.5.2

La construction incrémentale d’un réseau bayésien global:

La deuxième phase, une recherche gloutonne est initiée pour l’optimisation globale. Une application naïve de M M HC commencerait cette recherche gloutonne d’un graphe vide. Ici, nous proposons une phase d’optimisation incrémentale par l’initialisation de la procédure de recherche gloutonne par le graphe que l’on obtient

dans la fenêtre de temps précédent (comme Shi et Tan, section4.2.2). La recherche

gloutonne considère l’ajout de ces arêtes qui sont nouveaux introduites en skeleton G, mais aussi enlever les arêtes obsolètes. Nous appliquons la opérateurs add_edge,

remove_edge et reverse_edge, où add_edge peut ajouter un arête Y Ñ X si et

seulement si Y est un voisin de X dans G. De cette manière, iM M HC garde le sens de l’apprentissage incrémental en considérant le modèle appris précédemment et la révision de la structure existante à la lumière de nouvelles données, comme résumé

dans la5.4.

B.5.3

Optimisation de comptage de fréquence

L’efficacité computationnelle d’algorithmes de l’apprentissage structures du réseau bayésien sont basées sur le nombre de tests nécessaires pour mesurer l’association

entre les variables [132]. Ces tests pourraient être des tests d’indépendance con-

ditionnelle ou de calculs d’association de toutes fonction de score. Dans ces tests algorithme avoir à lire de la source de données externe, peut être un fichier de don- nées ou base de données, et de calculer les fréquences pour les certaines variables (tableaux de contingence). Par conséquent, la tâche fastidieuse de la plupart des algorithmes d’apprentissage consiste à calculer les fréquences. En contraste avec les

B.5. NOTRE PROPOSITION : MMHC INCRÉMENTAL 159 environnements d’apprentissage batch, en incrémental ou d’apprentissage en ligne le temps d’exécution est plus important, où le modèle doit être mis à jour dans le temps limitées qui sont disponibles.

Il ya plusieurs techniques d’optimisation proposées dans l’article de MMHC

[138]. Ces techniques améliorent l’efficacité de la phase de recherche locale de

l’algorithme. Alors que, dans MMHC, les appels pour les scores locaux dans l’optimisation globale (deuxième) phase, sont plus élevés que les appels pour le test de l’indépendance. Par exemple, l’auteur a créé une version carrelée de réseau d’alarme avec environ 5000 variables et 6845 arêtes et échantillonné 5000 exemples de sa distribution. Ensuite, MMHC reconstruit ce réseau dans environ 13 jours le temps total. La phase de découverte locale a pris environ 19 heures, et le reste a été

consacré à l’optimisation globale (orientation de arête) [138]. Par conséquent, afin

d’accélérer la deuxième phase aussi, nous introduisons compteur de fréquence entre l’ensemble de données et l’algorithme car:

Une grande partie du temps d’apprentissage consiste à recueillir statis-

tiques suffisantes à partir des données[49].

Compteur de fréquence est une couche intermédiaire entre données et les phases

deux de la iM M HC (cf. fig. 5.5). Il est une structure de données de table de

hachage maintenue dans la mémoire temporaire comme mémoire cache. Il ya deux phases dans iM M HC, dans sa première phase, il calcule les tests de l’indépendance

conditionnelle comme: M IpX, Y |Zq, où Z est le sous-ensemble de déjà trouvé CPC

et Y est la variable testée pour le CPC. Pour chaque test, il calcule les tableaux de

contingence de Nijkpour trouver le M I. Ici, nous remplissons ces fréquences dans

une table de hachage pour partager avec de futurs appels.

Dans la phase suivante pour l’orientation de arête, recherche gloutonne calcule

les scores locaux (cf. section3.4.2.1, page44). Pour les scores locaux, il recalcule les

valeurs Nijk. Par conséquent, il se partager le même compteur de fréquence. Il sera

tout d’abord chercher dans le cache, si elle trouve les fréquences pour un ensemble de variables nécessaire alors il les rend, sinon il calcule à partir de l’ensemble de données. En même temps, il remplit ces valeurs dans la mémoire cache.

De cette manière, nous pouvons économiser une quantité importante de temps,

comme beaucoup de compteur de fréquence appelle Nijk sont partagés avec les deux

phases et dans les phases aussi.

B.6

L’adaptation MMHC incrémental sur “Sliding Win-

Documents relatifs