Architecture d’application L’apprentissage automatique appliqué à l’architecture 3-tiers.

Slides:



Advertisements
Présentations similaires
PC / Traitement numérique / Contrôle Environnement logiciel
Advertisements

1Er Partie Intervenants : Nuno Barata Alain Joly Thierry Belvigne
Module 5 : Implémentation de l'impression
La Gestion de la Configuration
Introduction aux réseaux informatiques
LA SITUATION SIGNIFICATIVE D’INTEGRATION
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
Introduction Pour concrétiser l’enseignement assisté par ordinateur
LES RESEAUX DE NEURONES
Vue d'ensemble Implémentation de la sécurité IPSec
La politique de Sécurité
Design Pattern MVC En PHP5.
INTRODUCTION.
NFE 107 : Urbanisation et architecture des systèmes d'information
Formation Microsoft® Office Access 2007
Introduction aux Session Beans
Mirta B. Gordon Laboratoire Leibniz-IMAG Grenoble
Mirta B. Gordon Laboratoire Leibniz-IMAG Grenoble
Etude des Technologies du Web services
SECURITE DU SYSTEME D’INFORMATION (SSI)
XML-Family Web Services Description Language W.S.D.L.
Introduction au Génie Logiciel
Architecture Réseau Modèle OSI et TCP.
Analyse et Conception orientée objet
Réalisée par :Samira RAHALI
Sommaire Objectif de Peakup Principes de fonctionnement
Applications Chapitre B17 et C18
Architecture d’application
Architecture d’application
Le Travail Collaboratif ...
.Net Remoting.
Gestion des bases de données
Services fournis par le SI et technologies associées
Réseaux de neurones.
Les réseaux de neurones
Console MMC de Windows 2000 Présenté par Suzanne Savoie Cours 4.
Universté de la Manouba
ADAMOS Une plate-forme pour concevoir et évaluer des services proactifs Système proactif ? qui évolue en fonction des paramètres de lenvironnement physique.
Développement dapplication avec base de données Semaine 10 : WCF avec Entité Framework Automne 2013.
Les réseaux de neurones
Présenté par : Attia Hamza Merzouk Abdelkrim 2003/2004
Mise en oeuvre et exploitation
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Mastère Professionnel Systèmes de Communication et Réseaux
Christelle Scharff IFI 2004
Les réseaux de neurones à réservoir en traitement d’images
Intelligence Artificielle
Institut de sciences et technologies Département d’informatique
Séminaire (6-12 Février 2007) Promo. M2 ESCE-Tunis 2006/07
Management de la qualité
Les différents modèles d’architecture technique
Les réseaux de neurones à réservoir en traitement d’images
TIPE Les dames chinoises
L’enseignement de spécialité SLAM
GPA-779 Application des systèmes experts et des réseaux de neurones.
Initiation aux SGBD Frédéric Gava (MCF)
IHM Modèle d’architecture et liens avec les outils de production d’interface IHM Dirrigé par : Catherine RECANATI Présenté par : Youssef OUDGHIRI YOUSFI.
Développement de l’application ALMS Milone Julien
PROSOFT : simple et complet, sa prise en main est rapide et intuitive 1/41 Évaluez gratuitementPROSOFT Un logiciel conçu pour les agents immobiliers 
TP D’UML Groupe N° 3.
INTRODUCTION AUX BASES DE DONNEES
Introduction aux Interfaces Homme-Machine
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Apprentissage automatique L’apprentissage automatique.
Chapitre 8 Protection du trafic réseau à l'aide de la sécurité IPSec et de certificats Module S43.
Personnalisation de l’apprentissage des langues en ligne Marie-Noëlle Godin Conceptrice pédagogique.
PROJET DE SESSION DANS LE CADRE DU COURS: SCG Réalisation d’applications en SIG PRÉSENTÉ PAR: Marie-Andrée Levesque 18 AVRIL 2006.
Architecture d’application
Transcription de la présentation:

Architecture d’application L’apprentissage automatique appliqué à l’architecture 3-tiers

Plan de présentation  Introduction  L’architecture 3-tiers  L’apprentissage automatique  L’algorithme du perceptron  Application

Introduction  L’objectif de ce cours est de vous montrer l’architecture 3-tiers.  Comme vous êtes des passionnés, nous allons utiliser un algorithme d’IA pour appliquer à l’architecture 3- tiers.(Algorithme du perceptron).

Le modèle 3-tiers  Son nom provient de l'anglais tier signifiant étage ou niveau. Il s'agit d'un modèle logique d'architecture applicative qui vise à modéliser une application comme un empilement de trois couches logicielles (étages, niveaux, tiers ou strates) dont le rôle est clairement défini :anglaisapplicationlogicielles  la présentation des données(GUI, Graphic User Interface ) : correspondant à l'affichage, la restitution sur le poste de travail, le dialogue avec l'utilisateur ;  le traitement métier des données ( La couche métier ( BLL, Business Logic Layer)): correspondant à la mise en œuvre de l'ensemble des règles de gestion et de la logique applicative ;  et enfin l' accès aux données persistantes ( La couche d’accès aux données (DAL, Data Access Layer ) ) : correspondant aux données qui sont destinées à être conservées sur la durée, voire de manière définitive.persistantes BD Utilisateur Couche GUI Couche Métier(BLL) Couche Accès données (DAL)

La couche présentation(GUI) BD Utilisateur Couche GUI Couche Métier(BLL) Couche Accès données (DAL)

La couche présentation(GUI)  Elle correspond à la partie de l'application visible et interactive avec les utilisateurs. On parle d'interface homme machine.applicationinterface homme machine  La couche présentation relaie les requêtes de l'utilisateur à destination de la couche métier, et en retour lui présente les informations renvoyées par les traitements de cette couche. Il s'agit donc ici d'un assemblage de services métiers et applicatifs offerts par la couche inférieure.  La couche présentation n'effectue aucun traitement, elle se contente d'afficher les résultats des traitements effectués.

Couche métier(BLL) BD Utilisateur Couche GUI Couche Métier(BLL) Couche Accès données (DAL)

Couche métier(BLL)  Elle correspond à la partie fonctionnelle de l'application, c’est elle qui implémente la « logique », et qui décrit les opérations que l'application opère sur les données en fonction des requêtes des utilisateurs, effectuées au travers de la couche présentation.application  Les différentes règles de gestion et de contrôle du système sont mises en œuvre dans cette couche.  La couche métier offre des services applicatifs et métier à la couche présentation. Pour fournir ces services, elle s'appuie, le cas échéant, sur les données du système, accessibles au travers des services de la couche inférieure. En retour, elle renvoie à la couche présentation les résultats qu'elle a calculés.

Couche accès aux données(DLL) BD Utilisateur Couche GUI Couche Métier(BLL) Couche Accès données (DAL)

Couche accès aux données(DLL)  Cette couche est responsable de la gestion et de l'accès aux données du système. Ces données peuvent être propres au système, ou gérées par un autre système. La couche métier n'a pas à s'adapter à ces deux cas, ils sont transparents pour elle, et elle accède aux données de manière uniforme.  Cette couche assure la gestion des données et garantit leur intégrité. Dans le cas typique d'une base de données, c'est le modèle qui la gère. Cette couche offre généralement des méthodes pour mettre à jour ces données (insertion, suppression, changement de valeur). Il offre aussi des méthodes pour récupérer ces données.

Communication entre les couches  Dans cette approche, les couches communiquent entre elles au travers d'un « modèle d'échange », et chacune d'entre elles propose un ensemble de services rendus.  Les services d'une couche sont mis à disposition de la couche supérieure. On s'interdit par conséquent qu'une couche invoque les services d'une couche plus basse que la couche immédiatement inférieure ou plus haute que la couche immédiatement supérieure (chaque couche ne communique qu'avec ses voisins immédiats). BD Utilisateur Couche GUI Couche Métier(BLL) Couche Accès données (DAL)

En résumé  En résumé, lorsqu'un client envoie une requête à l'application : 1. la requête envoyée depuis la couche présentation est analysée par la couche métier (par exemple un clic de souris pour lancer un traitement de données), 2. la couche métier fait le traitement et demande à la couche d’accès aux données de faire les modifications voulues dans la base de données, 3. La couche d’accès aux données retourne la mise à jour à la couche métier, qui à son tour, la remettra à la couche présentation.

Avantages  Un avantage apporté par ce modèle est la clarté de l'architecture qu'il impose. Cela simplifie la tâche du développeur qui tenterait d'effectuer une maintenance ou une amélioration sur le projet. En effet, la modification des traitements ne change en rien la vue.  Par exemple on peut passer d'une base de données de type SQL à XML en changeant simplement les traitements d'interaction avec la base, et les vues ne s'en trouvent pas affectées.SQLXML

Exemple  Aller chercher les documents d’exercice sur le site Internet du cours.  L’interface graphique ( GUI, Graphic User Interface) :  Demander le nom d’un fichier.  Ajouter un bouton pour activer la lecture du fichier  Ajouter un RichTextBox pour afficher les résultats  La couche métier ( BLL, Business Logic Layer)  Vide pour le moment  La couche d’accès aux données ( DAL, Data Access Layer)  Nous allons remplir une structure de données pour les données et une pour les résultats.  Résultat:  Afficher les données dans le RichTextBox.

Architecture d’application L’apprentissage automatique appliqué à l’architecture 3-tiersSuite…

Apprentissage automatique: Les réseaux de neurones  Attention aux coeurs sensibles s’abstenir!!  La poubelle se trouve près de la porte…

Mais qu’est-ce que l’IA et où on va dans ce cours?  L’intelligence artificielle tente de reproduire le comportement humain à l’aide d’un ordinateur.  Mais qu’est-ce qu’on cherche à reproduire:  La représentation des connaissances  L’apprentissage (voir le film à 40 minutes)  Le raisonnement(inférence)  L’intelligence émotionnelle  La personnalité  Etc.

Comparaison avec l’humain  Le cerveau utilise un réseau très complexe ayant un grand nombre de cellules de base interconnectées. Il y a ∼ 100 milliards de neurones et10 15 connexions.  Aujourd’hui, nous essaierons de stimuler un neurone pour le faire apprendre.

Comment apprendre? Dans la vrai vie  L’apprentissage se fait grâce à l’interaction entre les données et la conception de l’apprenant.  L’apprennant essait de trouver un modèle(pattern) à travers les données pour en déduire une conclusion.  Si l’apprenant fait une erreur, il ajuste sa conception en fonction du résultat.

Apprentissage automatique  Certain scientifiques affirme que le hasard n’existe pas et que tout phénomène peut être calculé à l’avance si on a suffisamment de données.

Apprentissage automatique  Toute question peut être reformulée sous la forme d’une question booléenne.  L’objectif sera de conditionner un neurone pour détermine les règles qui régissent une réponse à une question booléenne.

Le perceptron  Dans ce cours, nous allons utiliser un classificateur de type perceptron.  Le perceptron a été inventé en 1957 par Frank Rosenblatt au Cornell Aeronautical Laboratory.1957Frank RosenblattCornell Aeronautical Laboratory  L’objectif de l’algorithme est de construire une “bonne” fonction h(x) à partir de l’observation d’un échantillon d’exemples S. Idéalement, nous aurions h(x) =y pour tout exemple (x i ; y)non observé par l’algorithme. i.e., h(x) est une “bonne” fonction ssi elle prédit bien la valeur de sortie des exemples à venir.

Apprentissage automatique sur un échantillon d’apprentissage  Un algorithme d’apprentissage est un algorithme qui a pour fonction d’apprendre à répondre à une question à partir d’un ensemble S de données contenant un nombre fini m d’ exemples de la tâche à apprendre.  Cet ensemble S se nomme l’ échantillon d’apprentissage (“training set”)  Chaque exemple est constitué d’un “objet” d’entrée x i et d’une valeur de sortie y

L’idée  Modéliser un ensemble de données dans un plan cartésien.  Essayer de tracer une droite qui séparera correctement les éléments.  Voir le document Excel  La question est de savoir si une personne est riche?

Limite du perceptronperceptron Le perceptron est incapable de distinguer les patterns non séparables linéairement input P0101 input Q1001 ET0001 XOR1100

Comment s’opère la magie maintenant?

Algorithme d’apprentissage

Descente en gradien

Algorithme d’apprentissage Principales étapes : 1. Initialiser aléatoirement les poids synaptiques 2. Faire passer les observations unes à unes  Calculer l’erreur de prédiction pour l’observation  Mettre à jour les poids synaptiques si nécessaire 3. Jusqu’à convergence du processus

Algorithme d’apprentissage

3- Descente en gradien 1- Valeur des poids 2- Équation

Algorithme d’apprentissage Ancienne frontière :

Algorithme d’apprentissage Entrée :un échantillon S Pour i = 0... n initialiser aléatoirement les poids w i Faire Pour chacun des exemples dans S Prendre un exemple(x, y vrai ) dans S Calculer la sortie y estimé pour l'entrée x Si y vrai != y estimé Alors Pour i= 0... n w i ←w i + ConstanteApprentissage × (y vrai −y estimé )× x i Fin Pour Fin Répéter Jusqu’à obtention de la convergence Sortie :Un perceptron P défini par(w 0, w 1,..., w n )

La tolérance à l’erreur Il peut être avantageux d’être tolérant à l’erreur plutôt que de ne pas trouver de solution… à vous de trouver la bonne méthode de convergence. Selon vous quels sont les possibilités de critère de convergence?

Conclusion  L’architecture 3-tiers est un modèle étoffé qui permet aisément la modification et l’extension d’une application.  Le but de l’apprentissage automatique est de définir un vecteur de valeur qui permet de définir si oui ou non un vecteur d’entré appartient à un groupe ou non.

Période de questions  Vous avez des questions?