Cours Machine Learning ML and Intelligen
Cours Machine Learning ML and Intelligen
(IA)
Abderrahim Sebri
P a g e 1 | 17
SOMMAIRE
A propos du Document ...................................................................................................................................................................... 3
Préambule ............................................................................................................................................................................................... 4
1. Définitions .................................................................................................................................................................................... 5
2. L’information & Types des Données ..................................................................................................................................... 5
3. Topologies des Système de Machine Learning .................................................................................................................... 7
3.1. Introduction ................................................................................................................................................................................. 7
3.2. Topologies des Système de Machine Learning .................................................................................................................... 7
4. Catégories de Machine Learning ............................................................................................................................................ 8
4.1. Architecture Usuelle de Machine Learning .......................................................................................................................... 8
4.2. Topologies des Système de Machine Learning .................................................................................................................... 9
4.3. Machine Learning - Supervisé ................................................................................................................................................ 10
4.3.1. Calcule et Régression .............................................................................................................................................................. 10
4.3.2. Analyse des Données .............................................................................................................................................................. 10
4.3.3. Classification .............................................................................................................................................................................. 10
4.3.4. Algorithmes pour l'Apprentissage Supervisé ..................................................................................................................... 11
4.4. Machine Learning – Non-Supervisé ..................................................................................................................................... 13
4.5. Machine Learning – Artificial Neural Networks ............................................................................................................... 14
4.5.1. Introduction – Artificial Neural Networks ........................................................................................................................ 14
4.5.2. Architecture – Artificial Neural Networks ....................................................................................................................... 15
4.6. Machine Learning – Deep Learning...................................................................................................................................... 16
P a g e 2 | 17
A propos du Document
Utilisation du document
Un historique des versions de ce document est conservé en cas de modifications importantes de la portée
nécessitant des mises à jour ou des modifications.
Détaille
Dernière Mise à Jour Cours Machine Learning & Intelligence Artificielle (IA)
Version du document : Final
Contact Dr. SEBRI Abderrahim
Description du Document
Le document intitulé «Machine Learning & Intelligence Artificielle (IA) », proposé aux étudiants de 3éme
année Licences Spécialité Ingénierie des Systèmes Informatique, Système Informatique et Informatique de Gestion
comportant deux Sections ayant pour objectif de :
Section Cours : Comprendre les notions du Machine Learning & Intelligence Artificielle (IA):
Concept et Architecture des Systèmes Machine Learning & Intelligence Artificielle (IA)
Nature des Données et Structurations des Données,
Méthodologies d’utilisation des Systèmes d’Informations de Machine Learning & Intelligence
Artificielle (IA)
Comprendre les Outils de la mise en place des Systèmes Machine Learning & Intelligence Artificielle
(IA)et les différents types de Framework utilisées
P a g e 3 | 17
Préambule
L'intelligence artificielle (IA) d'aujourd'hui a largement dépassé l'informatique quantique des données en
étude qualitative et prédictive et sélective des données. Cela est dû au fait que d'énormes ressources
informatiques sont facilement accessibles à l'homme du commun. Les développeurs en profitent
maintenant pour créer de nouveaux modèles d'apprentissage automatique et pour réaliser les modèles
existants pour de meilleures performances et de meilleurs résultats. La disponibilité facile du calcul de
haute performance a entraîné une augmentation soudaine dans la demande des professionnels de
l'informatique des compétences en apprentissage automatique et intelligence Artificielle.
Dans ce didacticiel, vous apprendrez en détail sur :
Quel est l’architecture usuelle d’un système de l'apprentissage automatique ?
Quel est le cœur de l'apprentissage automatique ?
Quels sont les différents algorithmes disponibles pour développer des modèles
d'apprentissage automatique ?
P a g e 4 | 17
1. Définitions
L'apprentissage automatique est un sous-domaine de l'informatique qui a évolué à partir de l'étude de
la reconnaissance des formes et de la théorie de l'apprentissage informatique dans l'intelligence
artificielle.
L'apprentissage automatique explore la construction et l'étude d'algorithmes capables
d'apprendre et de faire des prédictions sur les données. De tels algorithmes fonctionnent en
construisant un modèle à partir d'exemples d'entrées afin de faire des prédictions ou des
décisions basées sur des données, plutôt que de suivre des instructions de programme
strictement statiques ou dynamiques.
L'apprentissage automatique est étroitement lié aux statistiques informatiques et les
chevauches souvent ; une discipline également spécialisée dans l’analyse, la prévision et la
prédiction. Il a des liens étroits avec l'optimisation mathématique, qui fournit des méthodes,
une théorie et des domaines d'application sur les modèles de la Machine Learning.
L'apprentissage automatique est utilisé dans une gamme de tâches informatiques où la
conception et la programmation d'algorithmes explicites sont irréalisables.
Les exemples d'applications incluent plusieurs domaines d’études des données dont l’analyse des
données comme le filtrage, la reconnaissance optique de caractères (OCR), les moteurs de
recherche et la vision par ordinateur. L'apprentissage automatique est parfois confondu avec
l'exploration de données, bien qu'il se concentre davantage sur l'analyse exploratoire des
données "peuvent être considérés comme deux facettes d'un même domaine".
Lorsqu'elles sont utilisées dans des contextes industriels, les méthodes d'apprentissage
automatique peuvent être appelées analyse prédictive ou modélisation prédictive.
« L’information » est pensée comme un ensemble de base des données structurés ou non-structurés,
dont le but est d’envoyer, de traiter ou d’analyser ces données puis de faire reconstruire des nouvelles
bases de données par le récepteur avec une faible probabilité d'erreur.
P a g e 5 | 17
Qu'est-ce que les données structurées ?
Les données structurées sont des informations qui ont été formatées et transformées en un modèle
de données bien défini. Les données brutes sont mappées dans des champs prédéfinis qui peuvent
ensuite être extraits et lus facilement via SQL. Les bases de données relationnelles SQL, constituées
de tables avec des lignes et des colonnes, sont le parfait exemple de données structurées.
Le modèle relationnel de ce format de données utilise la mémoire puisqu'il minimise la redondance des
données. Cependant, cela signifie également que les données structurées sont plus interdépendantes et
moins flexibles. En revanche, la signification des données structurées est des données qui suivent des
modèles de données prédéfinis et sont faciles à analyser. Des exemples de données structurées
incluraient des noms de clients classés par ordre alphabétique et des numéros de carte de crédit
correctement organisés.
Les données non structuré sont définies comme des données présentes sous forme brute absolue. Ces
données sont difficiles à traiter en raison de leur organisation et de leurs formatages complexes. La
gestion des données non structurées peut prendre des données sous de nombreuses formes, y compris
les publications sur les réseaux sociaux, les chats, l'imagerie satellite, les données de capteurs IoT, les
e-mails et les présentations, pour les organiser de manière logique et prédéfinie dans un stockage de
données.
P a g e 6 | 17
Ce Pendant le concept des données se conclu dans les dimensions d’applications des données structurées
ou non-structurées ; dont on distingue plusieurs types avec des caractéristiques varient selon le
domaine d’application choisi.
Capacité de stockage : Entre 2000 et 2006, la capacité des disques a augmenté par 10x
alors que le prix par Gb a chuté du même ratio. Une augmentation de 100x à prix constant.
Capacité d’analyse : La loi de Moore en action pendant environ 35 ans et Plus récemment,
la capacité d’analyse augmente grâce à l’ajout de cœurs dans les unités centrales
Les technologies existantes ne sont pas conçues pour ingérer ces données : Base de
données relationnelles (tabulaires), mainframes, tableurs (Excel), etc.
De “nouvelles” technologies et techniques d’analyse sont nécessaires
Intelligence artificielle
Analyse statistique
...
3.2. Topologies des Système de Machine Learning
Comme Définition c’est la science qui étudie l’ensemble de techniques permettant l’extraction de
connaissances sous la forme de modèles à partir de grandes masses de données. Ces modèles peuvent
être de nature
Descriptive : permettant d’expliquer le comportement actuel des données
Prédictive : comportement futur des données.
P a g e 7 | 17
Dont ces modèles analyse une grosse quantité de données qui n’est jamais analysée et permettent de
mettre en place des mécanismes d’analyse automatique. Le développement des applications
d’apprentissage automatique ou d'IA d'aujourd'hui a commencé par l'utilisation des techniques
statistiques traditionnelles mathématiques. Il existe plusieurs autres techniques statistiques de ce
type qui sont appliquées avec succès dans le développement de programmes dits d'Intelligence
artificielles Nous disons "soi-disant" parce que les programmes d’apprentissage automatique ou d'IA
que nous avons aujourd'hui sont beaucoup plus complexes et utilisent des techniques bien au-delà des
techniques statistiques utilisées par les premiers programmes d’apprentissage automatique ou d'IA.
Ici, nous n'avons répertorié que quelques techniques primaires qui suffisent pour vous lancer dans
d’apprentissage automatique et l'IA sans vous effrayer de l'immensité que l'IA exige. Si vous
développez des applications d'IA basées sur des données limitées, vous utiliserez ces techniques
statistiques.
Cependant, aujourd'hui, les données sont abondantes. Pour analyser le type de données volumineuses
que nous possédons, les techniques statistiques ne sont pas d'une grande aide car elles ont leurs propres
limites. Des méthodes plus avancées telles que le Deep Learning sont ainsi développées pour résoudre
de nombreux problèmes complexes. Par conséquence, on devra savoir que d’apprentissage automatique
demeure une base de données illimités, organisés et Structurées.
Au fur et à mesure que nous avancerons dans ce didacticiel, nous comprendrons ce qu'est
l'apprentissage automatique et comment il est utilisé pour développer des applications d'IA aussi
complexes. Certains des exemples de techniques d’apprentissage automatique qui sont utilisées pour
développer des applications d'IA à cette époque et qui sont toujours en pratique sont répertoriés ici
dont l'apprentissage automatique est généralement classé sous les rubriques suivantes :
Classification, Regroupement et Régression
P a g e 8 | 17
4.2. Topologies des Système de Machine Learning
L'apprentissage automatique a évolué de gauche à droite, comme indiqué dans le diagramme ci-dessus.
Initialement, les chercheurs ont commencé par l'apprentissage supervisé. C'est le cas de la
prévision des prix des logements évoquée plus haut.
Vient ensuite l'apprentissage non supervisé, où la machine est amenée à apprendre par elle-
même sans aucune supervision.
Les scientifiques ont découvert en outre qu'il peut être judicieux de récompenser la machine
lorsqu'elle fait le travail de la manière attendue. C'est alors qu'est venu l'apprentissage par
renforcement.
Très vite, les données disponibles de nos jours sont devenues si énormes que les techniques
conventionnelles développées jusqu'à présent n'ont pas réussi à analyser les métadonnées et à
nous fournir les prédictions.
Ainsi, est venu l'apprentissage en profondeur où le cerveau humain est simulé dans les réseaux
de neurones artificiels (ANN) créés dans nos ordinateurs binaires.
P a g e 9 | 17
La machine apprend désormais par elle-même grâce à la puissance de calcul élevée et aux
énormes ressources mémoire disponibles aujourd'hui.
L'apprentissage supervisé est analogue à l'entraînement d'un enfant à marcher. Vous tiendrez la main
de l'enfant, lui montrerez comment avancer son pied, marcherez vous-même pour une démonstration
et ainsi de suite, jusqu'à ce que l'enfant apprenne à marcher seul.
S = {⟨xi, yi⟩, i = 1, · · · , n}, apprendre une fonction qui associe les données aux étiquettes :
X s x −→ y ∈ Y
Y ≡ R : un problème de régression
Y ≡ discrete set (e.g. {0, 1}) : un problème de classification
F peut correspondre à un espace de fonctions linéaires ou non-linéaires
De même, dans le cas de l'apprentissage supervisé, vous donnez des exemples concrets connus à
l'ordinateur. Vous dites que pour une valeur de caractéristique donnée x1, la sortie est y1, pour x2 c'est
y2, pour x3 c'est y3, et ainsi de suite. Sur la base de ces données, vous laissez l'ordinateur déterminer
une relation empirique entre x et y par calcul mathématique, logique ou statistique.
Une fois que la machine est entraînée de cette manière avec un nombre suffisant de points de données,
vous demanderiez maintenant à la machine de prédire Y pour un X donné. En supposant que vous
connaissiez la valeur réelle de Y pour ce X donné, vous pourrez en déduire si la prédiction de la machine
est correcte.
Ainsi, vous testerez si la machine a appris en utilisant les données de test connues. Une fois que vous
êtes convaincu que la machine est capable de faire les prédictions avec un niveau de précision souhaité
(disons 80 à 90 %), vous pouvez arrêter de continuer à entraîner la machine.
4.3.3. Classification
Vous pouvez également utiliser des techniques d'apprentissage automatique pour les problèmes de
classification. Dans les problèmes de classification, vous classez des objets de même nature dans un
P a g e 10 | 17
seul groupe. Par exemple, dans un ensemble de 100 étudiants, vous pouvez les regrouper en trois
groupes en fonction de leurs caractéristiques (Tri ou Filtrage des données)
L'apprentissage supervisé est l'endroit où l'IA a vraiment bien reconnu. Cette technique a été appliquée
avec succès dans plusieurs cas. Dont plusieurs algorithmes ont été développés pour l'apprentissage
supervisé.
L'apprentissage supervisé est l'un des modèles d'apprentissage importants impliqués dans les machines
d'entraînement. Ce chapitre parle en détail de la même chose.
Il existe plusieurs algorithmes disponibles pour l'apprentissage supervisé. Certains des algorithmes
d'apprentissage supervisé largement utilisés sont les suivants :
K-plus proches voisins : simplement appelés KNN, sont une technique statistique qui peut être
utilisée pour résoudre des problèmes de classification et de régression.
Arbres de décision : Vous écririez un code pour classer vos données d'entrée en fonction de
cet organigramme. L'organigramme est explicite et trivial. Dans ce scénario, vous essayez de
classer un e-mail entrant pour décider quand le lire. En réalité, les arbres de décision peuvent
être vastes et complexes. Il existe plusieurs algorithmes disponibles pour créer et parcourir
ces arbres. En tant que passionné d'apprentissage automatique, vous devez comprendre et
maîtriser ces techniques de création et de parcours d'arbres de décision.
P a g e 11 | 17
Exemple Choix du Temps
Exemple Douleur :
Naive Bayes: est utilisé pour créer des classificateurs. Supposons que vous souhaitiez trier
(classer) des fruits de différentes sortes dans une corbeille de fruits. Vous pouvez utiliser des
caractéristiques telles que la couleur, la taille et la forme d'un fruit. Par exemple, tout fruit
de couleur rouge, de forme ronde et d'environ 10 cm de diamètre peut être considéré comme
une pomme. Ainsi, pour former le modèle, vous utiliserez ces fonctionnalités et testerez la
probabilité qu'une fonctionnalité donnée corresponde aux contraintes souhaitées. Les
probabilités de différentes caractéristiques sont ensuite combinées pour arriver à une
probabilité qu'un fruit donné soit une pomme. Naive Bayes nécessite généralement un petit
nombre de données d'entraînement pour la classification.
Prise en charge des machines vectorielles SVM : Regardez la distribution de données
suivante. Ici, les trois classes de données ne peuvent pas être séparées linéairement. Les
P a g e 12 | 17
courbes limites ne sont pas linéaires. Dans un tel cas, trouver l'équation de la courbe devient
un travail complexe.
Étant donné un énorme ensemble de données et sans estimer les catégories, il nous serait difficile
d'entraîner la machine en utilisant l'apprentissage supervisé. Et si la machine pouvait rechercher et
analyser les métadonnées s'étalant sur plusieurs giga-octets et téraoctets et nous dire que ces données
contiennent tant de catégories distinctes ?
À titre d'exemple, considérons-les données de l’électeur législatif d’un pays comme Tunisie. En
considérant certaines entrées de chaque électeur (c'est ce qu'on appelle des caractéristiques dans la
terminologie de l'IA), laissez la machine prédire qu'il y a tant d'électeurs qui voteraient pour X parti
politique et tant d'autres voteraient pour Y, et ainsi de suite. Ainsi, en général, nous demandons à la
machine étant donné un énorme ensemble de points de données X, "Que pouvez-vous me dire sur X?".
Ou cela peut être une question comme "Quels sont les cinq meilleurs groupes que nous pouvons faire à
partir de X ?". Ou cela pourrait même ressembler à "Quelles sont les trois fonctionnalités les plus
fréquentes dans X ?".
Principe : Etant donné un ensemble non étiqueté S = {xi, i = 1 . . . N} : modélisation de X
Il y a plusieurs méthodes :
Partitionnement / clustering : Former des groupes homogènes à l’intérieur d’une population
méthodes hiérarchiques
méthodes agglomératives
méthodes spectrales
méthodes probabilistes
P a g e 13 | 17
Estimation de densité
Méthodes paramétriques
L'idée de réseaux de neurones artificiels est dérivée des réseaux de neurones du cerveau humain. Le
cerveau humain est vraiment complexe. Étudiant attentivement le cerveau, les scientifiques et les
ingénieurs ont proposé une architecture qui pourrait s'adapter à notre monde numérique d'ordinateurs
binaires. Une telle architecture typique est illustrée dans le diagramme ci-dessous :
Il y a une couche d'entrée qui a de nombreux capteurs pour collecter des données du monde extérieur.
Sur le côté droit, nous avons une couche de sortie qui nous donne le résultat prédit par le réseau. Entre
ces deux, plusieurs couches sont cachées. Chaque couche supplémentaire ajoute une complexité
supplémentaire à la formation du réseau, mais fournirait de meilleurs résultats dans la plupart des
situations. Il existe plusieurs types d'architectures conçues dont nous allons discuter maintenant.
P a g e 14 | 17
4.5.2. Architecture – Artificial Neural Networks
Le diagramme ci-dessous montre plusieurs architectures ANN développées sur une période de temps
et sont en pratique aujourd'hui.
P a g e 15 | 17
Chaque architecture est développée pour un type d'application spécifique. Ainsi, lorsque vous utilisez
un réseau de neurones pour votre application d'apprentissage automatique, vous devrez soit utiliser
l'une des architectures existantes, soit concevoir la vôtre. Le type d'application que vous choisissez
finalement dépend des besoins de votre application. Il n'existe pas de directive unique vous indiquant
d'utiliser une architecture réseau spécifique.
L'apprentissage en profondeur utilise ANN. Nous allons d'abord examiner quelques applications
d'apprentissage en profondeur qui vous donneront une idée de sa puissance. L'apprentissage en
profondeur a connu beaucoup de succès dans plusieurs domaines des applications d'apprentissage
automatique.
Voitures autonomes : les voitures autonomes et autonomes utilisent des techniques d'apprentissage
en profondeur. Ils s'adaptent généralement aux conditions de circulation en constante évolution et
s'améliorent de plus en plus au fil du temps.
Reconnaissance vocale : Une autre application intéressante du Deep Learning est la reconnaissance
vocale. Aujourd'hui, nous utilisons tous plusieurs applications mobiles capables de reconnaître notre
parole. Siri d'Apple, Alexa d'Amazon, Cortena de Microsoft et Google Assistant - tous utilisent des
techniques d'apprentissage en profondeur.
Applications mobiles : nous utilisons plusieurs applications Web et mobiles pour organiser nos photos.
Détection de visage, identification de visage, marquage de visage, identification d'objets dans une
image - tout cela utilise l'apprentissage en profondeur.
Après avoir examiné le grand succès des applications d'apprentissage en profondeur dans de nombreux
domaines, les gens ont commencé à explorer d'autres domaines où l'apprentissage automatique n'était
pas appliqué jusqu'à présent. Il existe plusieurs domaines dans lesquels les techniques d'apprentissage
en profondeur sont appliquées avec succès et il existe de nombreux autres domaines qui peuvent être
exploités. Certains d'entre eux sont discutés :
L'agriculture est l'une de ces industries où les gens peuvent appliquer des techniques
d'apprentissage en profondeur pour améliorer le rendement des cultures.
Le crédit à la consommation est un autre domaine dans lequel l'apprentissage automatique
peut grandement contribuer à la détection précoce des fraudes et à l'analyse de la capacité de
paiement des clients.
P a g e 16 | 17
P a g e 17 | 17