L’APPROCHE FORAGE DE DONNÉES
Dans la littérature, beaucoup d’auteurs (Delachaux et al., 2013; Hey et al., 2009; Huynh et Schiele, 2005; Tapia et al., 2007) ont proposé d’utiliser les techniques de forage de données couramment employées dans la reconnaissance de motifs à la reconnaissance d’activités. Ces méthodes se découpent en deux grandes familles suivant que leur apprentissage se fait de manière supervisée ou non. Ainsi, les unes ont besoin d’ensembles d’apprentissage déjà entièrement étiquetés tandis que les autres peuvent s’en passer. Cette partie se porte sur l’étude de quatre des plus grandes techniques de forage de données : les arbres de décision, la segmentation (clustering), les machines à vecteurs de support et les réseaux de neurones artificiels (Witten et al., 2016).
LES ARBRES DE DÉCISION
La famille des arbres de décision est constituée d’algorithmes représentant le processus de classification par une suite de choix logiques mis sous la forme d’un arbre.
Dans ce dernier, les feuilles représentent les classes ou activités et les noeuds des choix logiques à réaliser sur les attributs de la donnée testée. Dans le domaine de la reconnaissance d’activités, les arbres couramment utilisés sont ID3 et sa version améliorée prenant en charge les attributs continus C4.5 (Bao et Intille, 2004; Ravi et al., 2005; Tapia et al., 2007). Ces deux algorithmes sont très ressemblants et il est possible de les résumer en quatre étapes très simples. Tout d’abord, chaque attribut se voit associer son entropie calculée sur l’ensemble d’apprentissage. Ensuite, l’attribut avec la plus faible entropie est sélectionné et une séparation des données est faite en fonction des valeurs de celui-ci. Ainsi, il est possible de construire l’arbre avec un noeud et des branches respectivement associés à l’attribut sélectionné et ses valeurs. Pour finir, on recommence l’algorithme de manière récursive pour chaque branche nouvellement créée.
Afin de faciliter la compréhension d’un tel ensemble de méthodes, nous présentons en Figure 3.3 un exemple d’arbre de décision appliqué à la reconnaissance d’activité. Dans ce dernier, les valeurs des capteurs définissent trois activités possibles : faire du café, préparer des pâtes et faire du thé. Ainsi, on peut constater que seules deux données issues de capteurs définissent l’entièreté de la reconnaissance d’activités : la localisation de la casserole et l’activation de la cafetière. Grâce à la méthode des arbres, la classification des activités devient très simple : à chaque fois qu’une nouvelle donnée arrive, l’algorithme vérifie la valeur des attributs « localisation de la casserole » et « activation de la cafetière » et prend une décision grâce à une suite de choix logiques définis par l’arbre appris.
Les avantages principaux de ces algorithmes sont la facilité de compréhension et la rapidité d’exécution pour des taux de reconnaissance très corrects. En contrepartie, les arbres de décision souffrent de trois défauts majeurs. Premièrement, l’apprentis- sage supervisé d’un tel algorithme force l’utilisateur à avoir en sa possession un jeu de données important, dont chacune des activités est connue et étiquetée. Ensuite, il faut refaire l’entraînement chaque fois qu’une activité s’ajoute ou est modifiée. Pour finir, les arbres de décision sont, dans l’ensemble, assez peu efficaces quand il s’agit de différencier un grand nombre d’activités dans un même ensemble de données.
LA SEGMENTATION
Les méthodes de segmentation (clustering) constituent une part largement majoritaire des algorithmes à apprentissage non supervisé (Witten et al., 2016). Le dénominateur commun entre toutes ces méthodes et qu’elles cherchent à regrouper les données en « cluster » qui sont des sous-ensembles de l’ensembles d’apprentissage. Ces derniers sont constitués en minimisant la distance intracluster (c.-à-d. la distance entre les éléments du cluster) tout en maximisant la distance intercluster (c.-à-d. la distance entre les clusters). L’algorithme va ensuite associer à chacun de ces ensembles une donnée considérée comme étant la plus représentative. Suivant les algorithmes, cette sélection peut se faire de plusieurs façons différentes. Certains vont créer de toute pièce cet exemple en calculant des barycentres de cluster, d’autres vont convenir d’une donnée parmi celles classifiées. Dans ce domaine, l’algorithme le plus connu et le plus utilisé en reconnaissance d’activités est K-means (Huynh et Schiele, 2005; Kovashka et Grauman, 2010; Messing et al., 2009; Xia et Aggarwal, 2013).
Celui-ci part du principe que l’on connaît déjà le nombre K de clusters que l’on désire et va commencer par choisir K barycentres (e.g. aléatoirement, parmi les données, etc.). Une fois ces points choisis, chacune des données de l’ensemble d’entraînement va calculer sa distance par rapport à chacun des K barycentres et s’associer au plus proche. Une fois toutes les données évaluées, les barycentres sont mis à jour en fonction des clusters nouvellement formés et l’algorithme recommence jusqu’à se stabiliser.
Une fois le modèle appris, la reconnaissance d’activités peut être réalisée. Pour faciliter la compréhension de cette phase, un exemple de clustering est présenté en Figure 3.4. On peut y voir que l’ensemble d’apprentissage (représenté par des cercles) a été divisé en trois clusters que l’on nomme, pour faciliter l’explication, Activité 1 à 3.
Chacun de ces ensembles de données est défini par son barycentre représenté ici par une étoile. Quand une nouvelle donnée arrive, par exemple le carré, il suffit de calculer la distance entre cette dernière et tous les barycentres. La plus petite d’entre elles définira l’appartenance de cette nouvelle donnée à un cluster et donc à une activité (ici, l’activité 3).
L’avantage principal d’une telle méthode et son côté non supervisé qui permet d’avoir des données non étiquetées en entraînement. Néanmoins, la plupart de ces algorithmes ont des phases d’entraînement lourdes en temps et en mémoire et pour beaucoup il faut connaître le nombre de cluster que l’on désire à l’avance.
LES MACHINES À VECTEURS DE SUPPORT
Les machines à vecteurs de support (Support Vector Machine (SVM)) sont des algorithmes à apprentissage supervisé (Witten et al., 2016). L’objectif principal d’un SVM est de créer un hyperplan partageant au mieux les données d’entraînement. Pour ce faire, l’algorithme va chercher à maximiser la marge, c’est-à-dire la distance entre les échantillons d’apprentissage et l’hyperplan lui-même. Ce problème de maximisation peut ainsi s’exprimer sous la forme d’une optimisation quadratique pour laquelle de nombreuses méthodes de résolution existent depuis longtemps (Burges, 1998; Chih- Wei Hsu et Lin, 2008; Smola et Schölkopf, 1998). Dans le cas où il n’existerait aucun hyperplan linéaire de séparation, SVM utilise une fonction de noyau permettant de convertir les données d’un ensemble d’apprentissages vers un ensemble de dimension supérieure où il existe un tel hyperplan. Bien que cette technique ne s’applique historiquement qu’aux problèmes de classification binaires, de nombreuses adaptations, plus récentes, permettent son utilisation dans des cas où il y a plusieurs classes (Witten et al., 2016).
Une fois l’hyperplan défini, la classification d’une activité peut être exécutée.
Un exemple de celle-ci est présenté en Figure 3.5 où deux activités coexistent, une représentée par des étoiles et l’autre par des cercles. L’hyperplan dans notre exemple est un cercle séparant parfaitement l’ensemble d’apprentissage en deux. Un tel plan, non linéaire, implique que l’algorithme a eu recours, durant l’apprentissage, à une fonction de noyau. Dans notre cas, le processus de reconnaissance cherche à découvrir la classe de la nouvelle donnée représentée ici par un carré. Pour ce faire, il va calculer de quel côté du plan cette dernière se situe. Si elle est à l’intérieur du cercle il s’agit d’une activité étoile sinon d’une activité cercle. Ici, il est clair que l’activité inconnue est à classer dans la partie des activités étoiles et c’est donc ainsi qu’elle sera labélisée par l’algorithme.
Les SVM sont couramment utilisés dans la reconnaissance d’activités (Anguita et al., 2012; He et Jin, 2008, 2009) pour deux raisons principales. Premièrement, ces méthodes ont des taux de reconnaissance souvent très élevés. Deuxièmement, une fois le modèle calculé, la reconnaissance se limite à l’application d’une formule mathéma- tique ce qui, en termes de mémoire et de temps de calcul, est relativement léger. Ces avantages sont néanmoins à nuancer puisque l’apprentissage peut être lourd en calcul et très difficile à implémenter.
LES RÉSEAUX DE NEURONES ARTIFICIELS
Héritées de la biologie, ces méthodes visent à reproduire le comportement des neurones du monde animal. Un réseau de neurones artificiels (Artificial Neural Network (ANN)) est composé de plusieurs neurones connectés entre eux et s’échangeant des signaux (Witten et al., 2016). Ces entités sont composées d’un nombre n d’entrées synaptiques chacune pondérées par un poids qui, par le biais d’un additionneur, vont être agglomérées en une seule donnée. Cette dernière est passée à une fonction d’activation qui suivant un certain biais (c.-à-d. seuil) va ou non s’activer produisant ainsi le signal de sortie du neurone. L’apprentissage, supervisé, de ces réseaux se réalise en modifiant la valeur des poids associés à chacune des synapses, et ce dans le but d’atténuer l’erreur entre les sorties du réseau et l’étiquette de la donnée testée.
Une fois l’intégralité des poids mis à jour, la reconnaissance peut s’effectuer. La Figure 3.6 présente un perceptron multicouche simplifié permettant de reconnaître deux activités : « faire du café » et « faire du thé ». Les neurones d’entrée dans ce type de réseaux représentent les valeurs des capteurs de l’environnement et sont représentés par des carrés. La reconnaissance d’activités se base sur les valeurs fournies par les neurones de sortie, ici il s’agit des hexagones. Dans le cas de l’exemple étudié, les valeurs sont déjà « Vrai » ou « Faux » mais il aurait aussi pu s’agir de probabilités et dans ce cas un simple maximum aurait aussi réussi à sélectionner la bonne activité. Pour classifier une nouvelle donnée, il suffit de mettre les valeurs des capteurs de cette dernière dans les bons neurones d’entrée et les neurones de sortie détermineront automatiquement la bonne activité à laquelle appartient la donnée considérée.
Dans le domaine de la reconnaissance d’activités, ces techniques ont souvent été utilisées (Delachaux et al., 2013; Pärkkä et al., 2006) pour leur relativement bon taux de reconnaissance et leur robustesse face aux données bruitées. Cependant, leur temps d’apprentissage pouvant durer plusieurs jours, la nécessité de refaire ledit apprentissage à l’ajout d’une activité, la complexité de leur structure quand l’ensemble possède de nombreux attributs et la facilité de sur-apprendre un problème, constituent des défauts majeurs et freinent leur utilisation.
BILAN DE L’APPROCHE FORAGE DE DONNÉES
De nombreux travaux présentent différentes facettes de la reconnaissance d’activités.
Chacune des approches présentées apporte ses avantages et ses inconvénients. Ainsi, l’approche probabiliste offre des taux de reconnaissance très intéressants pour des coûts en termes de mémoire et de calcul très faibles. Néanmoins, ces méthodes se basent sur une connaissance parfaite du problème et une maîtrise quasi totale de l’environnement.
De son côté, le forage de données amène une grande quantité d’outils pour apprendre et reconnaître les différentes activités. Ces outils ont chacun leurs forces et faiblesses suivant la connaissance et la quantité de données que l’on possède sur le problème. Néanmoins, le point commun de ces méthodes est que, par nature, il est plus facile d’avoir toutes les données d’apprentissage et de test au même endroit. Cette façon de penser très centralisée peut être un problème si les données ou les puissances de calcul sont réparties. Ainsi, il convient d’étudier les variantes réparties de ces algorithmes pour répondre au problème de centralisation déjà étudié dans le second chapitre de ce document.
LE FORAGE DE DONNÉES DISTRIBUÉ
Le forage de données classique est, par définition, l’extraction d’une connaissance à partir d’une grande quantité de données (Chakrabarti et al., 2012). Une des branches de ce domaine est le forage de données distribué (Distributed Data Mining (DDM)). L’objectif principal de ce dernier est de fournir des moyens d’extraire la même quantité de connaissance tout en prêtant attention au caractère distribué des données et des ressources de calcul exploitées sur chacun des sites (c.-à-d. les entités possédant les données ou les capacités de calcul) (Dasilva et al., 2005).
En DDM, deux grands types de distribution des données sont couramment admis. Le premier est une distribution homogène, parfois appelée distribution horizontale, dans laquelle chaque sous-ensemble de données est une partition de l’ensemble de données général possédant tous ses attributs. Le second type de répartition est qualifié d’hétérogène, ou distribution verticale. Dans ce dernier, les différents sites ne contiennent plus des groupes de lignes de l’ensemble général, mais des colonnes différentes de ce même ensemble. Néanmoins, on assume toujours la présence d’une clé, commune à tous les sites, permettant, s’il le faut, d’associer les différentes lignes entre elles. Un exemple d’une répartition homogène est présenté en Table 3.1 dans lequel, les sites 1 et 2 ont des données différentes, mais contenant exactement les mêmes attributs (humidité, température, pression et altitude). Un exemple de répartition hétérogène est, quant à lui, présenté en Table 3.2. Dans celui-ci, les sites ne contiennent plus les mêmes attributs (humidité et pression pour l’un contre température et altitude pour l’autre), mais partagent cependant une clé commune qui ici est le temps.
LES RÉSEAUX BAYÉSIENS DISTRIBUÉS
Quand il s’agit de réseaux bayésiens, deux approches sont possibles. La première, étudiée précédemment, est statistique et demande la parfaite connaissance du problème et de ses probabilités. La seconde, basée sur le forage de données, prône l’apprentissage du modèle à partir d’un ensemble de données. Si l’on considère le sous-domaine du forage de données distribué, plusieurs auteurs ont apporté des solutions à l’apprentissage d’un réseau bayésien (Chen et al., 2003; Shen et al., 2003; Tedesco et al., 2006; Wright et Yang, 2004; Yamanishi et Kenji, 1997). Cette partie présente deux travaux suivant que les données sont réparties de façon homogène ou hétérogène.
Yamanishi et Kenji (1997) proposent une méthode d’apprentissage pour les ensembles de données distribués de manière homogène. Les auteurs présentent une architecture où chaque site possède un agent chargé d’apprendre un modèle local en appliquant, sur les observations qu’il possède, une version probabiliste de l’algorithme de Gibbs (Geman et Geman, 1984). Ce modèle local va ensuite être partagé à une entité centralisée nommée « population learner » chargée de construire le modèle global en combinant tous les modèles locaux des différents agents. Cette méthode comporte deux avantages majeurs. Le premier est qu’en aucun cas les données d’apprentissage ne sortent des sites où elles sont situées renforçant la confidentialité de celles-ci. En effet, seul le modèle local est transmis à travers le réseau jusqu’au « population learner ». Le deuxième avantage est la simplicité, car sur les sites, c’est un algorithme bien connu d’apprentissage qui est exécuté, la méthode de Gibbs, et le « population learner » n’effectue qu’une simple moyenne de toutes les probabilités venant des modèles locaux. Cependant, cette méthode souffre d’un défaut qui est l’obligation d’une entité centralisée qui peut être considérée comme un handicap dans certaines architectures à très haute fiabilité.
Plutôt que les données homogènes, Chen et al. (2003) étudient eux l’apprentissage dans le cas où les données sont réparties de manière hétérogène. Leur méthode se découpe en trois étapes principales. La première est l’apprentissage local où chacun des sites établit une structure bayésienne à partir de ses données en utilisant un algo- rithme tel que K2 ou Gibbs (Cooper et Herskovits, 1992; Geman et Geman, 1984). La seconde phase consiste à apprendre un modèle croisé correspondant aux liens existants entre les variables des différents sites. Pour ce faire, les auteurs proposent que chacun des sites choisisse un sous-ensemble de valeurs à l’aide d’un seuil de correspondance au modèle local. Toutes les observations en dessous de ce seuil (c.-à-d. les moins ressemblantes au modèle appris) sont considérées comme de possibles relations croisées et sont transmises à une entité centralisée. Cette dernière, une fois toutes ces données reçues, construit un réseau bayésien représentant les relations existantes entre les différentes observations des sites. Pour finir, ce réseau est combiné aux réseaux locaux dans le but d’y ajouter les liens entre les sites et de supprimer les liens causés par le problème de la variable cachée appris à la première étape. Bien que cette méthode offre de bons résultats, elle connait deux problèmes majeurs. Le premier est que dans le cas où les données sont confidentielles, une partie d’entre elles transite sur le réseau permettant à une entité malicieuse de les récupérer. Le second est la présence de cette entité centralisée qui dans certaines architectures n’a pas sa place.
La littérature a démontré que peu importe si les données sont réparties de manière homogène ou pas il est possible d’apprendre la structure d’un réseau bayésien les représentant. Bien que les méthodes présentées souffrent de quelques défauts, elles permettent tout de même d’apprendre un réseau quasi identique à un appris de manière centralisée. De plus, elles ne font transiter que très peu d’informations sur le réseau ce qui dans le cas où les coûts de communication sont élevés (e.g. batterie ou faible bande passante) est bien meilleur que de transmettre toutes les données d’apprentissage.
LES ARBRES DE DÉCISION DISTRIBUÉS
Dans leur travail de 2004, Caragea et Silvescu (2004) proposent une méthode pour apprendre la structure d’un arbre de décision sur un ensemble de données réparti.
L’originalité majeure de leur travail est que l’algorithme proposé fonctionne autant sur une répartition verticale qu’horizontale. Ici, le postulat de base est que l’élément le plus important pour la construction d’un arbre est le nombre d’instances respectant un ensemble de conditions sur un ensemble d’attributs (e.g. nombre d’instances dont l’attribut X est égal à une certaine valeur). Pour ce faire, Caragea et Silvescu (2004) proposent de centraliser ces statistiques calculées par chacun des sites de l’architecture distribuée. Ainsi, à chaque fois que l’algorithme veut ajouter un noeud à l’arbre, tous les sites calculent le nombre d’instances locales respectant certaines conditions sur les attributs considérés et renvoient le résultat. Une fois les instances correctement comptées, l’entité centralisée peut effectuer un calcul d’entropie pour chacun des attributs et, à partir de ces résultats, choisir l’attribut partageant le mieux les données.
Dans le cas où les données sont réparties de manière homogène, le problème est trivial et chaque site ne fait que compter ses exemples et renvoyer cette valeur. Mais dans le cas où les données sont réparties de manière hétérogène, tous les sites n’ont pas les mêmes attributs. Pour répondre à ce défi, les auteurs prennent pour acquis l’existence pour chaque exemple de l’ensemble de données d’une clé unique répartie sur tous les sites. Ceci permettant d’affirmer que chaque site possède toujours un et un seul sous-ensemble de l’exemple général. Par conséquent, l’opération de comptage peut se faire de la même manière qu’en cas de répartition homogène si ce n’est que les sites comptent que les instances des attributs qu’ils possèdent. La méthode proposée par Caragea et Silvescu (2004) offre plusieurs avantages. Le premier d’entre tous est qu’ici le fonctionnement ne diffère pas de la construction d’un arbre de manière centralisée permettant d’exécuter n’importe quel algorithme de construction. Le second est que seules les statistiques transitent sur le réseau réduisant de manière considérable la consommation de bande passante par rapport à l’approche centralisée. Pour finir, cette méthode fonctionne avec des données homogènes et hétérogènes ce qui est assez rare dans la littérature.
Une autre approche est celle de Giannella et al. (2004) pour les ensembles de données répartis verticalement. Les auteurs proposent une méthode pour diminuer le nombre de messages échangés lors de la création de l’arbre. Pour ce faire, ils démontrent la possibilité du calcul de l’indice Gini de manière distribué. Cet indice, couramment utilisé comme mesure de dispersion, peut, selon les auteurs, être exprimé sous la forme du produit de vecteurs binaires (c.-à-d. des vecteurs ne contenant que des 0 et des 1) représentant chacun l’ensemble des valeurs d’un site. Ainsi, plutôt que d’échanger tous les ensembles de données pour calculer cette mesure, les sites n’échangent que des vecteurs binaires. Pour optimiser de manière plus radicale encore ces coûts de communication, Giannella et al. (2004) utilisent une projection aléatoire de chaque vecteur sur un espace de dimension réduite. De ce fait, ce n’est ni le jeu de données de base ni les vecteurs de même taille qui transitent sur le réseau, mais leurs projections.
Cette approche permet, d’après les tests réalisés par les auteurs, de diviser par cinq les communications par rapport au partage de tout le jeu de données tout en conservant une précision de 80% par rapport à une méthode d’apprentissage centralisée. Cette méthode offre l’avantage de réduire considérablement la quantité de messages nécessaire à la création de l’arbre final ce qui, dans le cas où les communications ont un coût important, est vital. Néanmoins, l’algorithme ne réalise qu’une approximation de l’arbre idéal et par conséquent il n’offre pas nécessairement la même précision.
La littérature existante sur les arbres de décision prouve que l’apprentissage de ces structures, couramment utilisé en reconnaissance d’activités, peut être réalisé de manière distribuée. Certaines méthodes se concentrent sur l’optimisation du nombre de messages échangés, d’autre sur l’obtention du meilleur arbre possible et certaines même sur l’aspect confidentiel d’un tel apprentissage (Emekçi et al., 2007). Par conséquent, il faut faire attention à bien définir le cas dans lequel l’application désirée se situe de sorte à utiliser l’algorithme le plus adapté possible.
LE CLUSTERING DISTRIBUÉ
En tant que part importante des algorithmes d’apprentissage non supervisés, les méthodes de clustering ont toujours bénéficié d’un grand intérêt de la part de la communauté scientifique. En forage de données distribué, on retrouve le même type d’intérêt avec de nombreux travaux sur la manière de distribuer ces algorithmes. Selon Dasilva et al. (2005), les algorithmes de clustering distribués peuvent se diviser en quatre catégories principales. La première division peut se faire suivant le type de répartition des données (c.-à-d. homogène ou hétérogène), tandis que la seconde intervient sur l’objectif principal de l’algorithme proposé. En effet, certains travaux se concentrent sur la préservation de la confidentialité tandis que d’autres préfèrent optimiser l’efficacité de l’algorithme.
De nombreux travaux existent sur la préservation de la confidentialité au sein des algorithmes de clustering distribués (Dasilva et al., 2005; Klusch et al., 2003; Merugu et Ghosh, 2003; Vaidya et Clifton, 2003). Quand on considère une répartition horizontale des données, un bon exemple est le travail de Klusch et al. (2003) amélioré plus tard par Dasilva et al. (2005). Les auteurs proposent l’algorithme Kernel Density Estimation based Clustering (KDEC) utilisant la densité des régions du jeu de données pour découvrir les clusters. Dans cet algorithme, les sites n’échangent aucune donnée de leur ensemble d’apprentissage, mais des estimations de densités locales d’une région. Ces dernières sont, par la suite, sommées au sein d’une entité centralisée permettant de recréer une estimation de la densité globale de la région qui est retournée aux sites. De la sorte, chacun d’entre eux est capable de regrouper les régions denses en cluster, et ce sans échanger d’exemples d’apprentissage.
Pour le cas où la répartition est verticale, un bon exemple est le travail de Vaidya et Clifton (2003). Les auteurs montrent tout d’abord qu’assigner un point à un cluster de manière confidentielle étant donné que les attributs sont répartis sur différents sites est un problème non trivial. Pour résoudre ce dernier, un K-means utilisant un chiffrement homomorphique (Benaloh, 1994) est proposé. L’intérêt d’un tel chiffrement est qu’il est possible de calculer la valeur chiffrée de la composition de deux éléments sans avoir à déchiffrer lesdits éléments (e.g. H(x+y) = H(x)+H(y) avec H une fonction de chiffrement). Ainsi, il est facile de réaliser des sommes et des comparaisons qui sont les éléments de base de K-means sans jamais divulguer les données non chiffrées.
|
Table des matières
RÉSUMÉ
LISTE DES TABLEAUX
LISTE DES FIGURES
LISTE DES ABRÉVIATIONS
DÉDICACE
REMERCIEMENTS
CHAPITRE I – INTRODUCTION
1.1 CONTEXTE DE LA RECHERCHE
1.2 L’ACTIVITÉ HUMAINE
1.3 LA RECONNAISSANCE D’ACTIVITÉS
1.4 LA RECONNAISSANCE D’ACTIVITÉS DANS LES ENVIRONNEMENTS INTELLIGENTS
1.5 LES ENVIRONNEMENTS INTELLIGENTS
1.6 PROBLÉMATIQUES INVESTIGUÉES DANS LA THÈSE
1.7 MÉTHODOLOGIE DE LA RECHERCHE
1.8 ORGANISATION DU DOCUMENT
CHAPITRE II – L’ARCHITECTURE D’UN ENVIRONNEMENT INTELLIGENT
2.1 LES ARCHITECTURES EXISTANTES
2.1.1 LES ARCHITECTURES INDUSTRIELLES
2.1.2 LES ARCHITECTURES BASÉES OSGI
2.1.3 LES ARCHITECTURES BASÉES MESH
2.2 CAPTEURS INTELLIGENTS ET ÉVOLUTION DU MATÉRIEL
2.2.1 LE CAPTEUR INTELLIGENT
2.2.2 ÉVOLUTION DU MATÉRIEL : VERS DES CAPTEURS PLUS INTELLIGENTS
2.3 LES PROTOCOLES DE COMMUNICATIONS
2.4 CONCLUSION
CHAPITRE III – LA RECONNAISSANCE D’ACTIVITÉS ET LE FORAGE DE DONNÉES DISTRIBUÉ
3.1 LA RECONNAISSANCE D’ACTIVITÉS
3.1.1 L’APPROCHE PROBABILISTE
3.1.2 L’APPROCHE FORAGE DE DONNÉES
3.1.3 BILAN DE L’APPROCHE FORAGE DE DONNÉES
3.2 LE FORAGE DE DONNÉES DISTRIBUÉ
3.2.1 LES RÉSEAUX BAYÉSIENS DISTRIBUÉS .
3.2.2 LES ARBRES DE DÉCISION DISTRIBUÉS
3.2.3 LE CLUSTERING DISTRIBUÉ
3.2.4 BILAN DU FORAGE DE DONNÉES DISTRIBUÉ
3.3 CONCLUSION
CHAPITRE IV – UNE NOUVELLE MANIÈRE DE COMMUNIQUER AU SEIN DE LA MAISON INTELLIGENTE
4.1 LIGHT NODE COMMUNICATION FRAMEWORK
4.1.1 CANAL DE CONFIGURATION
4.1.2 CANAL DE DONNÉES
4.2 TESTS ET DISCUSSION
4.3 CONCLUSION
CHAPITRE V – VERS UNE NOUVELLE ARCHITECTURE DE MAISON INTELLIGENTE
5.1 ARCHITECTURE PROPOSÉE
5.1.1 UNITÉ INTELLIGENTE
5.1.2 UNITÉ PASSIVE
5.1.3 ENTITÉ DE GESTION
5.1.4 RÉSEAU ET COMMUNICATION
5.2 TESTS ET DISCUSSION
5.2.1 MATÉRIEL ET INFRASTRUCTURE UTILISÉS
5.2.2 TESTS DE LATENCE ET DE MISE À L’ECHELLE
5.2.3 TESTS DE FIABILITÉ
5.2.4 PRIX DE NOTRE SOLUTION
5.3 CONCLUSIONS
CHAPITRE VI – EMBARQUER LA RECONNAISSANCE D’ACTIVITÉS SUR LES TRANSDUCTEURS
6.1 UNE RECONNAISSANCE D’ACTIVITÉS DISTRIBUÉE
6.1.1 UNE INTELLIGENCE À DEUX NIVEAUX
6.1.2 UNE INTELLIGENCE COLLABORATIVE
6.2 TESTS ET DISCUSSIONS
6.3 CONCLUSION
CHAPITRE VII – CONCLUSION GÉNÉRALE
7.1 OBJECTIF 1 : RÉALISATION DE L’ARCHITECTURE
7.2 OBJECTIF 2 : UNE RECONNAISSANCE D’ACTIVITÉS DISTRIBUÉE134
7.3 RÉPONSE AU PROBLÈME GÉNÉRAL
7.4 LIMITATIONS ET POSSIBILITÉS D’AMÉLIORATION
7.5 APPORTS PERSONNELS
BIBLIOGRAPHIE
Télécharger le rapport complet