Machine Learning Deep Learning
MASTÈRE PROFESSIONNEL EN LOGICIELS LIBRES - MP2L
Amel Borgi
1
PLAN DU COURS Chap 1 : Introduction
Chap 2 : Notions de base
Chap 3 : Apprentissage supervisé
Approches numériques Les arbres de décisions
Chap 4 : Apprentissage non supervisé
K-means Les règles d’association
Chap 5 : Les réseaux de neurones – Deep
learning
2
2
Chap 1 : Introduction
3
PLAN : Introduction Qu’est ce que l’Intelligence Artificielle ?
Définitions, Problématique Les différentes approches de l’IA Les grands domaines de l’IA
Qu’est ce que l’Apprentissage Artificiel ?
Exemples introductifs Définitions, Problématique Les données - L’Extraction de
Connaissances à partir de Données
Applications
4
4
Qu’est ce que l’Intelligence Artificielle ?
5
5
Définition de l’IA
Ils ont dit
" ... the science of making machines do things that would require intelligence if done by humans" - Marvin Minsky (1968)
"AI is the part of computer science concerned with designing
intelligent computer systems" -E. Feigenbaum (1982)
Systems that can demonstrate human-like reasoning
capability to enhance the quality of life and improve business competitiveness - Japan-Singapore AI Centre (1994)
(cid:1) Plusieurs points de vue
6
6
Définir l’IA : une tentative
L’intelligence artificielle a pour but de faire
exécuter par l’ordinateur des tâches pour
lesquelles l’homme, dans un contexte donné, est
aujourd’hui meilleur que la machine.
J.-M. Alliot, T. Schiex P. Brisset, F. Garcia
7
Suivant le point de vue on pourrait donner des définitions différentes de l’IA.
La définition ci-dessus est adoptée par de nombreux auteurs et englobe à peu près les définitions pragmatistes (systèmes manifestant les mêmes symptômes d’intelligence que l’homme) et cognitives (modélisation aussi fidèle que possible du raisonnement humain).
7
Exemples de problèmes traités par l’IA
Comment interpréter les symptômes de mon patient ? Est-ce le moment de vendre mes actions Tunis Air ? Dois-je protéger ma tour ou bien prendre son cavalier ? Comment identifier un objet dans une image ? Comment reconnaître une personne dans une vidéo ? À quelle heure dois-je me lever pour être en cours à 8h ? Puis-je encore optimiser mon emploi du temps ? Est-ce que cet étudiant peut faire un bon Mastère ? Puis-je écrire un résumé de 100 lignes de cet article ? La traduction de ce poème est-elle bonne ? Quel film me conseillez-vous ?
8
8
Les différentes approches de l’IA
On distingue deux conceptions relativement différentes :
Approche cognitive : plus proche des sciences
humaines. L’IA est la réalisation de programmes imitant dans leur fonctionnement l’esprit humain.
Approche pragmatiste : plus proche des sciences
de l’ingénieur. L’IA permet d’améliorer notre capacité à programmer « efficacement » un ordinateur.
9
On peut dire qu’actuellement deux conceptions relativement différentes de l’IA se sont dégagées, l’une plus proche des sciences humaines et de la psychologie, l’autre qui considère davantage l’IA comme une science de l’ingénieur.
Approche Cognitive : proche de la psychologie, revient à la mode (après ses heures de gloire dans les années 70). Approche pluridisciplinaire : linguistes, informaticiens, psychologues. L’étude des processus des raisonnement humains est une fin en soi. Cette approche est généralement utilisée face à des problèmes trop complexes pour être abordés par d’autres voies. Ses principaux défenseurs sont les spécialistes de le compréhension du langage naturel.
Approche pragmatiste : Pour un pragmatiste, une IA peut être considérée comme une boîte noire où rentreraient d’un côté les données du problème et sortiraient de l’autre les résultats, sans se préoccuper de ce qui se passe dans la boîte. La boîte est intelligente à partir du moment où elle réussit un certain nombre de tests, qui réussis par un humain permettrait de dire qu’il est intelligent.
9
Les différentes approches de l’IA
L’approche connexioniste
En marge des autres approches
Modélisation très grossière, très imparfaite et
très réductrice du fonctionnement des neurones du cerveau humain.
10
10
Situer l’IA
Mathématique
B.D.
Proba & stat
Intelligence Artificielle
Logique
Génie Logiciel
Sc. Cognitives
Informatique
Sc. Humaines
11
11
Problèmes typiques d’IA Les problèmes spécifiables et difficiles Le problème du voyageur de commerce Les échecs
Problèmes recouvrant un domaine précis
Systèmes experts Systèmes d’aide à la décision
Autres domaines liés à l’IA
Résolution de problèmes de façon générale Compréhension du langage naturel Apprentissage Reconnaissance de scènes visuelles Robots …
12
Il est tout aussi difficile de donner une liste exhaustive des problèmes adressés par l’IA qu’il est difficile d’en donner une définition.
Résolution de problèmes : la solution peut être représentée par un cheminement à travers un ensemble d’états, à partir de conditions initiales. Il s’agit donc de trouver les états intermédiaires. L’objectif est de parvenir à un but avec le moins d’opérations possibles, dans des situations où le nombre d’états est extrêmement grand et où il est exclu d’explorer systématiquement toutes les solutions.
Traitement du langage naturel : traiter le langage naturel est difficile, par exemple un texte en langage naturel présuppose des connaissances non explicitées dans le texte (connaissances sémantiques ou pragmatiques). Ex : « Le professeur envoie l’élève chez le surveillant, parce qu’il a lancé des boulettes », pas de doute sur le « il » car on connaît le contexte scolaire, ce sont des connaissances liées à la culture. On aurait pu envisager des variantes : « parce qu’il est excédé », « pour qu’il le punisse » ou « il » renvoie au professeur puis au surveillant.
Ce cours MP2L portera sur l’Apprentissage.
12
Grands domaines de l'IA
Reconnaissance et synthèse de la parole (ex: réservation d’hôtel)
Reconnaissance et synthèse d'images (ex. recherche d’info)
Reconnaissance de l'écriture (ex: reconnaissance chèques, codes
postaux)
Langage naturel (ex: interfaces, text mining, Web Mining)
Planification (ex: Partage ressource satellite)
Aide à la décision (ex: Système Embarqués temps réels et
autonome : contrôle de trajectoire du satellite Voyage)
Aide à la programmation (ex: agents d’interface)
Apprentissage (ex: systèmes d’aide à la décision, classification
automatique de galaxies, prédiction de patients à risques, analyse automatique d’images médicales...)
Jeux (ex: Echecs (DeeperBlue), Checkers (Champion), Othello (Champion), BackGammon (champion), GO (bon amateur).
13
On parle d’Apprentissage Artificiel ou Automatique : Machine Learning
13
Qu’est ce que l’Apprentissage Artificiel ou Machine Learning ?
14
14
Exemple introductif
Prêt Bancaire Objectif des banques : réduire le risque des prêts bancaires.
Créer un modèle à partir de
caractéristiques des clients pour discriminer les clients à risque des autres
Publicité
15
Un client vient demander un crédit à une banque. Le banquier cherche à savoir s’il va rembourser le crédit ou pas (pour savoir s’il doit accorder le crédit ou pas).
Le client ne dira jamais qu’il ne va pas rembourser, mais le banquier peut inférer sur le comportement futur du client à partir des informations signalétiques dont il dispose.
Pour inférer, le banquier s’appuie souvent :
- sur ses connaissances (lectures, études, ..)
- sur son expérience (anciens clients, autres banques, …)
Or la banque possède également sa propre expérience : la BD de ses anciens clients (sur chacun d’eux on connaît les informations signalétiques, mais aussi le terme du prêt, à savoir a-t-il remboursé entièrement le crédit ou non).
On dispose donc d’un historique de prêts accordés avec la situation personnelle du demandeur et le résultat du prêt. Un système d’apprentissage doit alors, à partir de cet ensemble d’exemples extraire une procédure qui, au vu de la situation personnelle d’un client, devra décider de l’attribution du prêt.
15
Exemple introductif
Exemples d’information demandées au client pour l’accord d’un prêt :
Divorcé 6 enfants Compte à découvert Chômeur Pas de biens immobiliers
16
16
Exemple introductif Un biologiste étudie la forme des différents
types d’iris. Il voudrait trouver un lien entre la forme et l’espèce.
Sepal length
Sepal width
Petal length
Petal width
Iris type
5.4
4.6
6.1
7.7
3.9
3.4
2.9
3.0
1.7
1.4
4.7
6.1
0.4
0.3
1.4
2.3
Setosa
Setosa
Versicolour
Virginica
[Chevaleyre 08]
Modèle prédictif
17
A partir de données représentées dans une table, on cherche à prédire le mieux possible la valeur d’un des attributs (classe ou label) en fonction des autres.
Les données considérées ici correspondent au benchmark classique, très étudié en apprentissage : les Iris de Fisher. Ces fleurs sont décrites par 4 attributs numériques, ainsi que par le type d’Iris (c’est la classe à prédire). Vous pourrez trouver ces données sur le site de l’UCI : https://archive.ics.uci.edu/ml/datasets/iris Vous pouvez notamment y trouver le descriptif de ces données. Voici un extrait de ce descriptif :
5. Number of Instances: 150 (50 in each of three classes) 6. Number of Attributes: 4 numeric, predictive attributes and the class 7. Attribute Information: 1. sepal length in cm 2. sepal width in cm 3. petal length in cm 4. petal width in cm 5. class:
-- Iris Setosa -- Iris Versicolour -- Iris Virginica
17
Exemple introductif
Variables explicatives
Variable à expliquer ou classe
Sepal length
Sepal width
Petal length
Petal width
Iris type
5.4
4.6
6.1
7.7
3.9
3.4
2.9
3.0
1.7
1.4
4.7
6.1
0.4
0.3
1.4
2.3
Setosa
Setosa
Versicolour
Virginica
Exemples
[Chevaleyre 08]
Modèle prédictif
18
Les individus ou observations (lignes de la table) sont des exemples d’apprentissage ou des instances. Ces exemples sont décrits par des variables explicatives et par leur classe (variable à expliquer) A partir de ces données, on cherche à construire un modèle prédictif.
Une fois construit, ce modèle permettra de prédire la classe inconnue (ici le type d’Iris) d’une nouvelle observation (une fleur d’Iris) décrite uniquement par ses variables explicatives (ici par les valeurs des 4 attributs : sepal length, sepal width, petal length et petal width).
Le modèle construit peut prendre différentes formes selon l’algorithme d’apprentissage utilisé. Il peut prendre la forme d’une base de règles, d’un arbre de décision, d’une fonction discriminante dans l’espace des données …
18
Exemple introductif
Un patient décrit par un ensemble d’attributs : âge, sexe, pression sanguine, ...
la classe : attribut binaire concluant ou non à l’affection du patient par une maladie
apprentissage automatique : «apprendre» des règles de classification à partir d’un ensemble de descriptions de patients.
19
19
Exemple introductif
Les règles d’association
Consiste à déterminer les valeurs qui sont
associées.
Exemple type : détermination des articles qui se
retrouvent ensemble sur un même ticket de supermarché
Intéressant pour identifier des opportunités
de vente croisée et concevoir des groupements attractifs de produit.
Nécessite de très grands jeux de données
20
Les règles d'association (exemple de l’analyse du panier de la ménagère) : l’objectif est de déterminer les valeurs qui sont associées. L'exemple type est la détermination des articles (les pâtes et le concentré de tomates, les olives et l’harissa, ...) qui se retrouvent ensemble sur un même ticket de supermarché. Cette tâche peut être effectuée pour identifier des opportunités de vente croisée et concevoir des groupements attractifs de produit. C'est une des tâches qui nécessite de très grands jeux de données pour être effective.
Ici, contrairement aux exemples précédents, il n’y a pas de classe à prédire. On cherche à déterminer quels sont les attributs (les produits) qui sont liés (souvent achetés en même temps).
20
Apprendre pour quoi faire ?
Recherche de régularités sous-jacentes aux données d’observation
Pour comprendre et expliquer Pour prédire et décider
21
21
Apprentissage Artificiel – Machine
Learning :
les régularités sont automatiquement extraites à partir d’un ensemble de données
Système d'apprentissage :
Extrait tout seul l'expertise / la connaissance à partir de données Découvre de nouvelles connaissances Organise les données / propose une « meilleure » représentation
22
Publicité
22
Comment définir l’apprentissage ?
La définition classique de l’apprentissage en
sciences cognitives est « capacité à améliorer les performances au fur et à mesure de l’exercice d’une activité »
[Cornuéjols 03]
23
L’apprentissage correspond à une problématique ancienne abordée dans de nombreux domaines : Psychologie, Statistique, Didactique, Intelligence Artificielle, ...
Nous nous intéressons à l’apprentissage artificiel, celui des machines.
23
Comment définir l’apprentissage ?
« Learning is any change in a system that allows it to
perform better the second time on repetition of the same task or another task drawn from the same population »
[Simon, 84]
« Learning is the organization of experience »
[Scott, 83]
« Learning is constructing or modifying representations of
what is being experienced »
[Michalski, 86]
24
Donner une définition précise de l’apprentissage artificiel reste un problème difficile et délicat, car il recouvre différentes tâches, il peut avoir différents objectifs et il correspond à différents algorithmes.
« L’apprentissage je sais ce que c’est tant qu’on ne me demande pas de le définir»
S. Boucheron (1992)
24
Définir l’apprentissage : une tentative
En IA, l’apprentissage (automatique) ou Machine Learning correspond à une caractéristique des machines :
leur capacité à organiser, construire et généraliser des connaissances pour une utilisation ultérieure
leur capacité à tirer profit de l’expérience pour améliorer la résolution d’un problème
[Carbonell et al. 84][Cornuejols et al. 2003] [Kodratoff et Diday 91] [Michalski et al. 83] [Mitchell 97] [Simon 84]
25
25
Apprentissage Artificiel : Pourquoi?
« Comprendre » et « analyser » les données Augmentation du volume des données Dimension élevé des données Autonomie, capacité d’adaptation Aide à la décision, Prédiction Difficulté de la prise d’expertise dans les
Systèmes Experts
Mimer la capacité de l’homme à apprendre
26
26
C'est quoi la science de l'apprentissage artificiel ?
On étudie les apprentissages :
naturels artificiels
ASIMO « Advanced Step in Innovative MObility »
27
Parmi les objectifs de l’apprentissage artificiel figure celui de la simulation via la construction de modèles du phénomène naturel de l’apprentissage humain. Dès sa naissance, un enfant append à reconnaître l’odeur de sa mère, puis sa voix, il apprend à marcher, il apprend la structure de sa langue naturelle, à segmenter et catégoriser des sons puis à les associer à des significations, puis à lire, à écrire, il apprend à organiser des connaissances sur le monde qui l’entoure,…
ASIMO est un robot humanoïde développé par Honda. Asimo est l’acronyme de « Advanced Step in Innovative MObility ». La conception de ce robot est tournée vers un but utilitaire. À terme, Asimo devra pouvoir venir en aide aux personnes handicapées, âgées ou malades. Il pourra aussi effectuer des tâches dangereuses pour les humains.
27
C'est quoi la science de l'apprentissage artificiel ? On étudie les apprentissages :
naturels artificiels
des théories
(s'appliquant à tout système apprenant)
des méthodes et des algorithmes
d'apprentissage (implémentables sur machines)
[Cornuéjols et al. 2018]
28
28
Tendances de l’apprentissage automatique
Les algorithmes d’apprentissage peuvent différer par le type de données utilisées et de connaissances « produites », leur représentation et leurs stratégies d’apprentissage.
Exemples :
les arbres de décision, les règles de production, les formalismes logiques, les réseaux, les graphes, ...
29
29
Les données Les données d’apprentissage, utilisées en
entrée d’un système d’apprentissage, peuvent être de différents types.
On distingue les données :
Vectorielles
Séquences
Structures
Temporelles
Spatiales
30
30
Les données
Vectorielles
Séquences
Structures
Temporelles
Spatiales
(classe)
31
31
Les données
Séquence génétique
Vectorielles
Séquences
Structures
Temporelles
Spatiales
32
32
Les données
Vectorielles
Séquences
Structures
Temporelles
Spatiales
33
33
Les données
Vectorielles
Séquences
Structures
Temporelles
Spatiales
34
34
Les données
Vectorielles
Séquences
Structures
Temporelles
Spatiales
35
35
L’Extraction de Connaissances à partir de Données (ECD - KDD : Knowledge Discovery in Data Bases)
Connaissances
Règles Formalisme logique Graphes ...
Données prétraitées
Publicité
Données sélectionnées
Base de données
Sélection des données
Pré-traitement Transformation des attributs
Fouille de données (Data Mining)
Interprétation Evaluation
36
L’ECD est un domaine de recherche en pleine expansion qui répond au besoin d’exploiter une quantité de données chaque jour plus importante , notamment avec la généralisation d’internet, en fournissant des modèles interpétables.
Il est à l’intersection de plusieurs disciplines comme l’apprentissage automatique, la reconnaissance de formes, les statistiques ou encore les bases de données
L’ECD se réfère à une démarche complète d’exploitation de données, elle intègre les étapes suivantes :
0 - Acquisition des données (BD souvent hétérogènes et distribuées)
1- la sélection des données via les serveurs de bases de données (échantillonnage)
2 - le prétraitement ou la préparation des données (élimination du bruit, données manquantes ,atypiques, recodage des variables,..), sélection des attributs pertinents, la transformation des attributs.
3 - application d’un opérateur de fouille de données. Cet opérateur va permettre de mettre en évidence les formes sous jacentes qui structurent les observations. Il va produire des modèles explicatifs ou prédictifs. Le résultat d’un tel opérateur peut s’exprimer sous différentes formes, (règles d’association, fct de classement, graphes de décision..), selon la méthode adoptée.
4- interprétation des formes extraites et validation. L’objectif est de produire de la connaissance sur le domaine, il est important de s’assurer que les conclusions émises correspondent à des mécanismes réels.
Ce processus n’est pas rigide, il arrive souvent que l’on boucle à différents endroits lorsque certaines spécifications se révèlent insuffisantes.
36
L’Extraction de Connaissances à partir de Données (ECD - KDD : Knowledge Discovery in Data Bases)
Connaissances
Règles Formalisme logique Graphes ...
Données prétraitées
Données sélectionnées
Apprentissage
Base de données
Sélection des données
Pré-traitement Transformation des attributs
Fouille de données (Data Mining)
Interprétation Evaluation
37
37
Applications
38
38
Applications Reconnaissance de la parole, de l’écriture, de
l’identité (biométrie)
Assistance des experts dans
la prise de décision Analyse des marchés financiers Diagnostics médicaux …
39
Reconnaissances de formes
Un programme de reconnaissance de la parole augmente ses performances au fur et à mesure de son utilisation par la même personne : c’est une expérience qu’il est aujourd’hui facile de faire si on achète un logiciel personnel de dictée vocale.
Il faut distinguer deux reconnaissances distinctes de l'écriture manuscrite, avec des problématiques et des solutions différentes :
- la reconnaissance en-ligne ;
- la reconnaissance hors-ligne.
Différentes applications de la reconnaissance de l’écriture manuscrite : code/ tri postal, traitement automatique des chèque, Identification de signature
39
Applications
Apprendre à mieux jouer
S'adapter à l'adversaire Ne pas répéter ses fautes Apprendre à jouer en équipe (équipes de robots)
Robotique
exploration spatiale démarche humaine
(ASIMO)
…
CURIOSITY
40
40
Applications
Analyse automatique d’images.
Détection de zones de pollution
sur images satellitaires
Reconnaissance de visages, …
Internet Bio informatique Apprendre à faire des résumés Fouilles d’immenses bases de données : Data Mining
… Big Data
41
Internet : e-commerce, Sécurité (détection d’intrusion,…) Web Mining : fouille de données du Web. Moteurs de recherche sur le Web :, apprendre les préférences d'un utilisateur, profil utilisateur, … Problématique du profil utilisateur très générale en Marketing : établir un profil client, mailing, pour des publicités ciblées …
Découverte scientifique : Découverte de régularités (en biochimie, …) Bioinformatique : Analyse du génome, mise au point de médicaments,...
41
Bibliographie
Ouvrage de référence :
A. Cornuéjols et L. Miclet. Apprentissage artificiel – Deep learning, concepts et algorithmes Eyrolles, 2018.
42
42
Bibliographie
[Aha et al.91] D. W. Aha, D. Kibler, M. K. Albert. Instance-based learning
algorithms. Machine Learning, 6, 37-66,1991.
[Breiman et al. 84] L. Breiman, J.H. Friedman, R.A. Olshen, C. J. Stone.
Classification and regression trees. Chapman and Hall, 1984.
[Carbonell et al. 84] J. G. Carbonell, R. S. Michalski, T. M. Mitchell. An
Overview of Machine Learning. Machine Learning : an Artificial Intelligence Approach, ch. 1, pp 3-23, CA, Morgan Kaufman, 1986.
[Cornuéjols et al. 18] A. Cornuéjols et L. Miclet. Apprentissage artificiel, Deep learning, concepts et algorithmes Eyrolles, 2018.
[Cover et al. 67] T.M. Cover, P. E. Hart. Nearest Neighbor Pattern Classification. IEEE Trans. Infor. Theory, Vol. IT-13, No. 1, 1967.
[Dreyfus et al.,02] : G. dreyfus, J. mertinez, M. Samuelides, M. Gordon, F. Badran, S. Thiria et L. Hérault, Réseaux de neurones, Eyrolles 2002.
[Heudi 2016] : Jean-Claude Heudin, Comprendre le DEEP LEARNING,
Une introduction aux réseaux de neurones. Auto-édition, 2016.
43
43
Bibliographie
[Kodratoff et Diday 91] Y. Kodratoff et E. Diday. Préambule : Approche
Symbolique et Approche Numérique. Induction Symbolique et Numérique à partir de Données, Vol. 1, pp 3-7. Cépaduès, 1991.
[Michalski et al. 83] R.S. Michalski, S. Ryszard. A theory and
methodology of inductive learning. Machine Learning : An Artificial Intelligence Approach, Vol I, 83-134. Morgan Kaufman Publishers, 1983.
[Michalski 86] R.S. Michalski. Understanding The Nature of Learning :
Issues and Research Directions. Machine Learning, An Artificial Intelligence Approach, Volume II, Morgan Kaufman Publishers, 1986 [Mitchell, 82] : T. Mitchell, Generlization as search, Artificiel Intelligence,
18:203-226, 1982.
[Mitchell 97] T.M. Mitchell. Machine Learning. New York, Mc Graw Hill,
1997.
[Quinlan 86] J. R. Quinlan. Induction of Decision Trees. Machine Learning, Vol. 1, 82-106, Kluwer Academic Publishers,1986.
44
44
Bibliographie
[Quinlan 93] J. R. Quinlan. C4.5 : Programs for Machine Learning.
Morgan Kaufman, 1993.
[Saporta 2006] G. Saporta. Probabilités, Analyse des données et
Statistique. Editions Technip Paris, deuxième édition, 2006.
[Simon 84] H. A. Simon. Why Should Machines Learn? Machine Learning : an Artificial Intelligence Approach. Vol. 1, p25 - 37, Springer-Verlag. 1984
[Tuffery 2010] S. Tuffery. Data Mining et statistique décisionnelle.
Edition Technip, 2010.
[Vapnik, 95] : V. Vapnik. The nature of statistical learning theory,
Springer-Verlag, 1995
[Verducci 2012] J. Verducci. Statistical Analysis and Data Mining.
Wiley, 2012.
[Witten et al. 2016 ]Witten, I.H. & Frank, E., 2016. Data mining: Practical machine learning tools and techniques. Morgan Kaufmann
45
45