1 / 36

Architecture d’application

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.

fisk
Download Presentation

Architecture d’application

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architecture d’application L’apprentissageautomatique appliqué à l’architecture 3-tiers

  2. Plan de présentation • Introduction • L’architecture 3-tiers • L’apprentissageautomatique • L’algorithme du perceptron • Application

  3. Introduction • L’objectif de cecours de vousmontrerl’architecture 3-tiers. • Commevousêtes des passionnés, nous allons utiliser un algorithmed’IA pour appliquerà l’architecture 3-tiers.(Algorithme du perceptron).

  4. Le modèle3-tiers • Son nom provient de l'anglaistier 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 : • 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éespersistantes(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. BD Couche GUI Couche Accès données (DAL) Couche Métier(BLL) Utilisateur

  5. La coucheprésentation(GUI) BD Couche GUI Couche Accès données (DAL) Couche Métier(BLL) Utilisateur

  6. La coucheprésentation(GUI) • Elle correspond à la partie de l'application visible et interactive avec les utilisateurs. On parle d'interface 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 vue n'effectue aucun traitement, elle se contente d'afficher les résultats des traitements effectués.

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

  8. Couche métier(BLL) • Elle correspond à la partie fonctionnelle de l'application, celle 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. • 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.

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

  10. 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.

  11. 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 Couche GUI Couche Accès données (DAL) Couche Métier(BLL) Utilisateur

  12. En résumé • En résumé, lorsqu'un client envoie une requête à l'application : • 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), • 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, • 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.

  13. 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.

  14. Exemple • Allerchercher les documents d’exercicesur le http://www.coupdeklaxon.ca • 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 allonsremplirune structure de données pour les données et une pour les résultats. • Résultat: • Afficher les donnéesdans le RichTextBox.

  15. Apprentissageautomatique: Les réseaux de neurones • Attention aux coeurssensibless’abstenir!!  La poubelle se trouveprès de la porte…

  16. 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 et1015 connexions. • Aujourd’hui, nous essaierons de créerun neurone informatique.

  17. Apprentissageautomatique • Apprendre c’est la capacité de s’améliorer à l’accomplissement d’une tâche en interagissant avec un environnement. • Toute question peutêtrereformuléesous la formed’unequestion booléenne. • L’objectif sera de conditionner un neurone pour détermine les règles qui régissentuneréponse à unequestion booléenne.

  18. 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’apprennantessait de trouver un modèle(pattern) à travers les données pour en déduireune conclusion. • Si l’apprenant fait uneerreur, ilajustesa conception en fonction du résultat.

  19. Le perceptron • Dans ce cours, nous allons utiliser un classificateur de type perceptron. • Le perceptron a été inventé en 1957 par Frank Rosenblatt au CornellAeronauticalLaboratory. • 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 (xi; 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.

  20. Apprentissageautomatiquesur un échantillond’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 xi et d’une valeur de sortie y

  21. 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?

  22. Limite du perceptron • Le perceptron est incapable de distinguer les patterns non séparables linéairement • input P 0 1 0 1 • input Q 1 0 0 1 • ET 0 0 0 1 • XOR 1 1 0 0

  23. Comment s’opère la magie maintenant?

  24. Algorithmed’apprentissage

  25. Algorithmed’apprentissage

  26. Descente en gradien http://www.iro.umontreal.ca/~bengioy/ift6266/H12/html/gradient_fr.html

  27. Algorithmed’apprentissage Principales étapes : • Initialiser aléatoirement les poids synaptiques • Faire passer les observations unes à unes • Calculer l’erreur de prédiction pour l’observation • Mettre à jour les poids synaptiques si nécessaire • Jusqu’à convergence du processus

  28. Algorithmed’apprentissage

  29. 1- Valeur des poids 3- Descente en gradien 2- Équation http://www.iro.umontreal.ca/~bengioy/ift6266/H12/html/gradient_fr.html

  30. Algorithmed’apprentissage Ancienne frontière :

  31. Ancienne frontière :

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

  33. 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?

  34. Conclusion • L’architecture 3-tiers est un modèleétoffé qui permetaisément la modification et l’extensiond’une application. • Le but de l’apprentissageautomatiqueest de définir un vecteur de valeur qui permet de définirsiouiou non un vecteurd’entréappartient à un groupeou non.

  35. Période de questions • Vousavez des questions?

More Related