La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Architecture dapplication Lapprentissage automatique appliqué au modèle MVC.

Présentations similaires


Présentation au sujet: "Architecture dapplication Lapprentissage automatique appliqué au modèle MVC."— Transcription de la présentation:

1 Architecture dapplication Lapprentissage automatique appliqué au modèle MVC

2 Plan de présentation Introduction Le modèle MVC Lapprentissage automatique Lalgorithme du perceptron Application

3 Introduction Lobjectif de ce cours de vous montrer le modèle MVC. Comme vous êtes des passionnés, nous allons utiliser un algorithme dIA pour appliquer le modèle MVC.(Algorithme du perceptron).

4 Le modèle MVC Le Modèle-Vue-Contrôleur est un patron d'architecture et une méthode de conception qui organise globalement les classes dune application.patron d'architectureconception Ce paradigme divise lapplication en trois partie:paradigme un modèle (modèle de données),modèle une vue (présentation, interface utilisateur) etvue un contrôleur (logique de contrôle, gestion des événements, synchronisation).

5 Le modèle

6 Le modèle représente le comportement de l'application : traitements des données, interactions avec la base de données, etc. Il décrit ou contient les données manipulées par l'application. Il assure la gestion de ces 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. Le modèle offre 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.

7 La vue

8 La vue correspond à l'interface avec laquelle l'utilisateur interagit. Sa première tâche est de présenter les résultats. Sa seconde tâche est de recevoir toutes les actions de l'utilisateur (clic de souris, sélection d'une entrée, boutons, etc.). Ces différents événements sont envoyés au contrôleur. La vue n'effectue aucun traitement, elle se contente d'afficher les résultats des traitements effectués.

9 Le contrôleur

10 Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à jour la vue ou le modèle et les synchroniser. Il reçoit tous les événements de l'utilisateur et enclenche les actions à effectuer. Si une action nécessite un changement des données, le contrôleur demande la modification des données au modèle, ce dernier avertit la vue que les données ont changée pour qu'elle se mette à jour. Certains événements de l'utilisateur ne concernent pas les données, mais la vue. Dans ce cas, le contrôleur demande à la vue de se modifier. Le contrôleur n'effectue aucun traitement, ne modifie aucune donnée. Il analyse la requête du client et se contente d'appeler le modèle adéquat et de renvoyer la vue correspondant à la demande.

11 En résumé En résumé, lorsqu'un client envoie une requête à l'application : 1. la requête envoyée depuis la vue est analysée par le contrôleur (par exemple un clic de souris pour lancer un traitement de données), 2. le contrôleur demande au modèle approprié d'effectuer les traitements et notifie à la vue que la requête est traitée, 3. la vue notifiée fait une requête au modèle pour se mettre à jour (par exemple affiche le résultat du traitement via le modèle).

12 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

13 Différence avec l'Architecture trois tiers L'architecture trois tiers est un modèle en couches, c'est-à-dire, que chaque couche communique seulement avec ses couches adjacentes (supérieures et inférieures) et le flux de contrôle traverse le système de haut en bas; les couches supérieures contrôlent les couches inférieures, c'est-à-dire, que les couches supérieures sont toujours sources d'interaction (clients) alors que les couches inférieures ne font que répondre à des requêtes (serveurs). Dans le modèle MVC, il est généralement admis que la vue puisse consulter directement le modèle (lecture) sans passer par le contrôleur. Par contre, elle doit nécessairement passer par le contrôleur pour effectuer une modification (écriture). Ici, le flux de contrôle est inversé par rapport au modèle en couche, le contrôleur peut alors envoyer des requêtes à toutes les vues de manière à ce qu'elles se mettent à jour.

14 MVC vs 3-tiers

15 Exemple Aller chercher les documents dexercice sur le Vue: Demander le nom dun fichier. Ajouter un bouton pour activer la lecture du fichier Ajouter un RichTextBox pour afficher les résultats Controleur Vide pour le moment Modèle 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.

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

17 Comparaison avec lhumain 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. Aujourdhui, nous essaierons de créer un neurone informatique.

18 Apprentissage automatique Apprendre cest la capacité de saméliorer à laccomplissement dune tâche en interagissant avec un environnement. Toute question peut être reformulée sous une question booléenne. Lobjectif sera de conditionner un neurone pour détermine les règles qui régissent une réponse à une question booléenne.

19 Comment apprendre? Dans la vrai vie Lapprentissage se fait grâce à linteraction entre les données et la conception de lapprenant. Lapprennant essait de trouver un modèle(pattern) à travers les données pour en déduire une conclusion. Si lapprenant fait une erreur, il ajuste sa conception en fonction du résultat.

20 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 Lobjectif de lalgorithme est de construire une bonne fonction h(x) à partir de lobservation dun échantillon dexemples S. Idéalement, nous aurions h(x) =y pour tout exemple (x i ; y)non observé par lalgorithme. i.e., h(x) est une bonne fonction ssi elle prédit bien la valeur de sortie des exemples à venir.

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

22 Lidé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?

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

24 Comment sopère la magie maintenant?

25 Algorithme dapprentissage

26

27 Descente en gradien

28 Algorithme dapprentissage Principales étapes : 1. Initialiser aléatoirement les poids synaptiques 2. Faire passer les observations unes à unes Calculer lerreur de prédiction pour lobservation Mettre à jour les poids synaptiques si nécessaire 3. Jusquà convergence du processus

29 Algorithme dapprentissage

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

31 Algorithme dapprentissage Ancienne frontière :

32

33

34 Algorithme dapprentissage 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 )

35 La tolérance à lerreur Il peut être avantageux dêtre tolérant à lerreur 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?

36 Conclusion Le modèle MVC est un modèle étoffé qui permet aisément la modification et lextension dune application. Le but de lapprentissage automatique est de définir un vecteur de valeur qui permet de définir si oui ou non un vecteur dentré appartient à un groupe ou non.

37 Période de questions Vous avez des questions?


Télécharger ppt "Architecture dapplication Lapprentissage automatique appliqué au modèle MVC."

Présentations similaires


Annonces Google