Architecture d’application

Slides:



Advertisements
Présentations similaires
ACTIVE DIRECTORY. Qu'est-ce un service d'annuaire ?: Un service d'annuaire peut être comparé à un agenda téléphonique, celui- ci contient au départ des.
Advertisements

Module 5 : Implémentation de l'impression
LA SITUATION SIGNIFICATIVE D’INTEGRATION
Introduction Pour concrétiser l’enseignement assisté par ordinateur
LES RESEAUX DE NEURONES
Application de réseaux bayésiens à la détection de fumées polluantes
Vue d'ensemble Implémentation de la sécurité IPSec
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
La politique de Sécurité
Design Pattern MVC En PHP5.
INTRODUCTION.
12 novembre 2012 Grégory Petit
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Formation Microsoft® Office Access 2007
PROJET HANDICAPS Certificat de Qualification Professionnelle
Mirta B. Gordon Laboratoire Leibniz-IMAG Grenoble
Mirta B. Gordon Laboratoire Leibniz-IMAG Grenoble
Etude des Technologies du Web services
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
XML-Family Web Services Description Language W.S.D.L.
Introduction au Génie Logiciel
ManageEngine ADManager Plus 6
Middleware : XML-DBMS Permet de faire office d’interface entre des données XML et des bases de données relationnelles (insertion et récupération de données)
Architecture d’application
Algorithmique et Programmation
Administration de SharePoint
Réalisée par :Samira RAHALI
Développement Rapide dApplications Web avec.NET « Mon premier site »
Administration de bases de données spatiales avec SavGIS
Architecture d’application
Le Travail Collaboratif ...
Réseaux de neurones.
Les réseaux de neurones
Universté de la Manouba
Cours de Base de Données & Langage SQL
Module 2 : Préparation de l'analyse des performances du serveur
Patrons de conceptions de créations
Les réseaux de neurones
Présenté par : Attia Hamza Merzouk Abdelkrim 2003/2004
Mise en oeuvre et exploitation
INTRODUCTION.
Module 8 : Surveillance des performances de SQL Server
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
JavaScript.
Algorithmique et programmation (1)‏
Christelle Scharff IFI 2004
GESTION DE COMPOSANTS ELECTRONIQUES
Les réseaux de neurones à réservoir en traitement d’images
Institut de sciences et technologies Département d’informatique
Fonctions avancées et graphiques
1 Copyright © Oracle Corporation, Tous droits réservés. Présentation des sous-programmes PL/SQL.
Cours LCS N°4 Présenté par Mr: LALLALI
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Sujets spéciaux en informatique I
TICE 2 ième Semestre TD6 - Récapitulatif. Mars 2006TICE 2ième Semestre - Révisions2 Evaluation La semaine prochaine Deux demi groupes, minutes d’examen.
Les réseaux de neurones à réservoir en traitement d’images
L’enseignement de spécialité SLAM
Idées apprentissage couche L3: démarche ascendante ou descendante Temps du premier spike: -conception filtre à la main -apprentissage suivant une règle.
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Plan Analyse de l’architecture: couche L3 et L4:
Vous présente en quelques réalisations un réel savoir-faire, le fruit de longues années d’expériences, aujourd’hui à votre service. Toutes les fonctionnalités.
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
IFT 703 Informatique cognitive ACT-R Modèle symbolique et perceptuel
Introduction au HTML Qu’est ce que le HTML ?
Apprentissage automatique L’apprentissage automatique.
1 Tableur Excel. 2 Introduction Un tableur est un logiciel permettant de manipuler des données numériques et d'effectuer automatiquement des calculs sur.
Architecture d’application L’apprentissage automatique appliqué à l’architecture 3-tiers.
Transcription de la présentation:

Architecture d’application L’apprentissage automatique appliqué au modèle MVC

Plan de présentation Introduction Le modèle MVC L’apprentissage automatique L’algorithme du perceptron Application

Introduction L’objectif de ce cours de vous montrer le modèle MVC. Comme vous êtes des passionnés, nous allons utiliser un algorithme d’IA pour appliquer le modèle MVC.(Algorithme du perceptron).

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 d’une application. Ce paradigme divise l’application en trois partie: un modèle (modèle de données), une vue (présentation, interface utilisateur) et un contrôleur (logique de contrôle, gestion des événements, synchronisation).

Le modèle

Le modèle 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.

La vue

La vue 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.

Le contrôleur

Le contrôleur 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.

En résumé En résumé, lorsqu'un client envoie une requête à l'application : 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), le contrôleur demande au modèle approprié d'effectuer les traitements et notifie à la vue que la requête est traitée, 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).

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.

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.

MVC vs 3-tiers

Exemple Aller chercher les documents d’exercice sur le http://www.coupdeklaxon.ca Vue: Demander le nom d’un 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.

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

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éer un neurone informatique.

Apprentissage automatique Apprendre c’est la capacité de s’améliorer à l’accomplissement d’une tâche en interagissant avec un environnement. Toute question peut être reformulée sous 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.

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.

GPA-779 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. 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. Automne 2005

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 xi 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 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

Comment s’opère la magie maintenant?

Algorithme d’apprentissage

Algorithme d’apprentissage

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

Algorithme d’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

Algorithme d’apprentissage

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

Algorithme d’apprentissage Ancienne frontière :

Ancienne frontière :

Algorithme d’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)

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 Le modèle MVC 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?