0% ont trouvé ce document utile (0 vote)
73 vues46 pages

Introduction au Machine Learning et IA

L'apprentissage automatique (Machine Learning) est un sous-domaine de l'intelligence artificielle qui permet aux ordinateurs d'apprendre à partir de données sans être explicitement programmés. Il repose sur deux piliers fondamentaux : les données et les algorithmes d'apprentissage, et est utilisé pour résoudre des problèmes complexes dans divers domaines. Les compétences clés pour les ingénieurs en Machine Learning incluent la maîtrise des langages de programmation, la compréhension des algorithmes, l'apprentissage profond, le traitement du langage naturel et l'analyse statistique.

Transféré par

4kmd4v67zr
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
73 vues46 pages

Introduction au Machine Learning et IA

L'apprentissage automatique (Machine Learning) est un sous-domaine de l'intelligence artificielle qui permet aux ordinateurs d'apprendre à partir de données sans être explicitement programmés. Il repose sur deux piliers fondamentaux : les données et les algorithmes d'apprentissage, et est utilisé pour résoudre des problèmes complexes dans divers domaines. Les compétences clés pour les ingénieurs en Machine Learning incluent la maîtrise des langages de programmation, la compréhension des algorithmes, l'apprentissage profond, le traitement du langage naturel et l'analyse statistique.

Transféré par

4kmd4v67zr
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Apprentissage Automatique (Machine Learning)

1. Introduction
L'apprentissage automatique est un sous-domaine de l'intelligence artificielle (IA) dont,
l'objectif est de formaliser la connaissance portée par un ensemble de données. Il est question
en apprentissage automatique de comprendre la structure des données et de les intégrer dans
des modèles qui peuvent être compris et utilisés par les tout le monde.

Bien que faisant partie du domaine de l'informatique, l’AM diffère des approches
informatiques traditionnelles. En effet dans cette dernière, les algorithmes sont des ensembles
d'instructions explicitement programmées et utilisées par les ordinateurs pour calculer ou
résoudre des problèmes. Les algorithmes d'apprentissage automatique quant à eux, permettent
aux ordinateurs de s'entraîner sur les entrées de données et utilisent l'analyse statistique pour
produire des valeurs qui se situent dans une plage spécifique. Pour cette raison, l'apprentissage
automatique facilite l'utilisation des ordinateurs dans la construction de modèles à partir de
données d'échantillonnage afin d'automatiser les processus de prise de décision en fonction
des données saisies.

La question de l’apprentissage fascine les spécialistes de l’informatique et des


mathématiques tout autant que neurologues, pédagogues, philosophes ou artistes. Une
définition qui s’applique à un programme informatique comme à un robot, un animal de
compagnie ou un être humain est celle proposée par Fabien Benureau (2015) : « L’apprentissage
est une modification d’un comportement sur la base d’une expérience ». Dans le cas d’un
programme informatique, qui est celui qui nous intéresse dans cet ouvrage, on parle
d’apprentissage automatique, quand ce programme a la capacité d’apprendre sans que cette
modification ne soit explicitement programmée. Cette définition est celle donnée par Arthur
Samuel (1959). On peut ainsi opposer un programme classique, qui utilise une procédure et les
données qu’il reçoit en entrée pour produire en sortie des réponses, à un programme
d’apprentissage automatique, qui utilise les données et les réponses afin de produire la
procédure qui permet d’obtenir les secondes à partir des premières.

Exemple :

Supposons qu’une entreprise veuille connaître le montant total dépensé par un client ou une
cliente à partir de ses factures. Il suffit d’appliquer un algorithme classique, à savoir une simple
addition : un algorithme d’apprentissage n’est pas nécessaire.

Supposons maintenant que l’on veuille utiliser ces factures pour déterminer quels produits
le client est le plus susceptible d’acheter dans un mois. Bien que cela soit vraisemblablement
lié, nous n’avons manifestement pas toutes les informations nécessaires pour ce faire.
Cependant, si nous disposons de l’historique d’achat d’un grand nombre d’individus, il devient
possible d’utiliser un algorithme de Machine Learning pour qu’il en tire un modèle prédictif
nous permettant d’apporter une réponse à notre question.

1
Pr EKE Samuel cours IA et Systèmes expert (ML)
Tout utilisateur des plus récentes technologie bénéficies de l'apprentissage automatique. La
technologie de reconnaissance faciale par exemple permet aux plateformes de médias sociaux
d'aider les utilisateurs à marquer et partager des photos d'amis. La technologie de
reconnaissance optique des caractères (OCR) convertit les images du texte en caractères
mobiles. Les moteurs de recommandation, alimentés par l'apprentissage automatique, suggèrent
les films ou émissions de télévision à regarder en fonction des préférences de l'utilisateur. Les
voitures autonomes qui utiliseront l'apprentissage automatique pour naviguer seront bientôt
disponibles pour les consommateurs.

On peut dire que le Machine Learning peut servir à résoudre des problèmes :

• Que l’on ne sait pas résoudre (comme dans l’exemple de la prédiction d’achats ci-
dessus) ;

• Que l’on sait résoudre, mais dont on ne sait formaliser en termes algorithmiques
comment nous les résolvons (c’est le cas par exemple de la reconnaissance d’images ou de la
compréhension du langage naturel) ;

• Que l’on sait résoudre, mais avec des procédures beaucoup trop gourmandes en
ressources informatiques (c’est le cas par exemple de la prédiction d’interactions entre
molécules de grande taille, pour lesquelles les simulations sont très lourdes). Le Machine
Learning est donc utilisé quand les données sont abondantes (relativement), mais les
connaissances peu accessibles ou peu développées.

Ainsi, le Machine Learning peut aussi aider les humains à apprendre : les modèles créés par
des algorithmes d’apprentissage peuvent révéler l’importance relative de certaines informations
ou la façon dont elles interagissent entre elles pour résoudre un problème particulier. Dans
l’exemple de la prédiction d’achats, comprendre le modèle peut nous permettre d’analyser
quelles caractéristiques des achats passés permettent de prédire ceux à venir. Cet aspect du
Machine Learning est très utilisé dans la recherche scientifique : quels gènes sont impliqués
dans le développement d’un certain type de tumeur, et comment ? Quelles régions d’une image
cérébrale permettent de prédire un comportement ? Quelles caractéristiques d’une molécule en
font un bon médicament pour une indication particulière ? Quels aspects d’une image de
télescope permettent d’y identifier un objet astronomique particulier ?

L'apprentissage automatique étant un domaine en développement continu, il faut tenir


compte de certaines considérations lors de la manipulation des technologies d'apprentissage.
Ces considérations regroupent l’ensemble d’hypothèses qui peuvent constituer un biais dans le
processus d'apprentissage.

2
Pr EKE Samuel cours IA et Systèmes expert (ML)
2. Mise en œuvre du Machine Learning (ML)
Le Machine Learning repose sur deux piliers fondamentaux :

• D’une part, les données ou les bases de règles, qui sont les exemples à partir duquel
l’algorithme va apprendre ;

• D’autre part, l’algorithme d’apprentissage, qui est la procédure que l’on fait tourner sur
ces données pour produire un modèle. On appelle entraînement le fait de faire tourner un
algorithme d’apprentissage sur un jeu de données.

Ces deux piliers sont aussi importants l’un que l’autre. D’une part, aucun algorithme
d’apprentissage ne pourra créer un bon modèle à partir de données qui ne sont pas pertinentes :
c’est le concept garbage in, garbage out qui stipule qu’un algorithme d’apprentissage auquel
on fournit des données de mauvaise qualité ne pourra rien en faire d’autre que des prédictions
de mauvaise qualité. D’autre part, un modèle appris avec un algorithme inadapté sur des
données pertinentes ne pourra pas être de bonne qualité.

Ce cours est consacré au deuxième de ces piliers – les algorithmes d’apprentissage. Néanmoins,
il ne faut pas négliger qu’une part importante du travail de Machine Learner ou de data scientist
est un travail d’ingénierie consistant à préparer les données afin d’éliminer les données
aberrantes, gérer les données manquantes, choisir une représentation pertinente, etc.

NOTE : Bien que l’usage soit souvent d’appeler les deux du même nom, il faut distinguer
l’algorithme d’apprentissage automatique du modèle appris : le premier utilise les
données pour produire le second, qui peut ensuite être appliqué comme un programme
classique.

Ainsi, le Machine Learning repose d’une part sur les mathématiques, et en particulier les
statistiques, pour ce qui est de la construction de modèles et de leur inférence à partir de
données, et d’autre part sur l’informatique, pour ce qui est de la représentation des données et
de l’implémentation efficace d’algorithmes d’optimisation. De plus en plus, les quantités de
données disponibles imposent de faire appel à des architectures de calcul et de base de données
distribuées.

3
Pr EKE Samuel cours IA et Systèmes expert (ML)
Le ML de manière générale se met en œuvre en utilisant des algorithmes basés sur la
modélisation mathématique de l’apprentissage pour analyser des données, détecter des
schémas et prendre des décisions

Le processus de mise en œuvre du Machine Learning se calque sur le fonctionnement de


l'IA. Il peut être divisé en quatre étapes principales : la collecte de données, le traitement des
données, l'apprentissage et la prise de décision.

1. Collecte de données : Le ML a besoin de données pour apprendre et prendre des décisions.


Ces données peuvent être structurées (par exemple, des chiffres ou des mots dans un tableau)
ou non structurées (par exemple, des images, des vidéos ou du langage naturel). Les données
sont collectées à partir de différentes sources telles que des bases de données, des capteurs, des
appareils connectés et des médias sociaux.

2. Traitement des données : Une fois les données collectées, elles doivent être nettoyées et
préparées pour l'analyse. Cela peut inclure la suppression des valeurs aberrantes, la
normalisation des données et la création de caractéristiques utiles pour l'analyse.
3. Apprentissage : L'étape d'apprentissage est cruciale. L’apprentissage consiste à utiliser les
données traitées pour entraîner des algorithmes à reconnaître des schémas et à prendre des
décisions. L'apprentissage peut être supervisé (les données sont étiquetées avec les réponses
attendues) ou non supervisé (les données ne sont pas étiquetées).

4. Prise de décision : Une fois que l’algorithme (l’IA) a appris à partir des données, elle peut
être utilisée pour prendre des décisions ou résoudre des problèmes. Les algorithmes peuvent
être programmés pour effectuer des tâches spécifiques ou pour prendre des décisions en
fonction de données en temps réel.

3. Compétences à posséder pour faire du Machine Learning


Le Machine Learning est l’une des technologies les plus populaires qui a révolutionné
presque tous les secteurs. De la recommandation de spectacles à la personnalisation de votre
expérience d'achat en ligne, l'apprentissage automatique a un rôle important à jouer. Les
ingénieurs en apprentissage automatique et en IA consacrent beaucoup d’efforts à la réalisation
de ces objectifs. Ainsi, la demande d’ingénieurs possédant des compétences en ML monte en
flèche.

Selon Fortune Business Insights, la taille du marché mondial de l'apprentissage automatique


devrait atteindre une valeur marchande de 209,391 milliards de dollars d'ici 2029. En outre,
Statista a confirmé que près de 65 % de toutes les entreprises envisagent d'adopter
l'apprentissage automatique au cours des 12 prochains mois.
Compétences d'apprentissage automatique indispensables pour les ingénieurs ML

Si vous souhaitez exceller dans votre carrière en IA, il est fortement recommandé de maîtriser
ces compétences ML très demandées.
1. Langage de programmation

4
Pr EKE Samuel cours IA et Systèmes expert (ML)
Aucun travail technique n'est complet sans la connaissance du codage. Ainsi, les
étudiants et les professionnels aspirant à devenir ingénieurs en apprentissage automatique ou
ingénieurs en IA doivent maîtriser différents langages de programmation tels que Python, R et
SQL. Java, etc. La programmation est au cœur de l’apprentissage automatique et c’est donc
une compétence non négociable. Python en particulier est le langage de programmation le plus
populaire parmi les ingénieurs ML en raison de sa nature polyvalente et de son vaste écosystème
de bibliothèques et de frameworks comme TensorFlow, PyTorch et Scikit Learn. Les outils
s'avèrent être des outils essentiels pour diverses tâches effectuées par les ingénieurs ML, telles
que la manipulation de données, le développement de modèles et l'évaluation. De plus, les
langages de programmation sont une condition préalable à l'inscription à tout programme de
certification ML.

2. Algorithmes d'apprentissage automatique


Un autre aspect important du travail d'un ingénieur en apprentissage automatique est la
compréhension des algorithmes d'apprentissage automatique. Bien que vous n'ayez pas besoin
d'apprendre par cœur tous les algorithmes d'apprentissage automatique, il est recommandé que
vous ayez une compréhension approfondie des principes fondamentaux des algorithmes
suivants :
• Régression linéaire ;
• Régression logistique ;
• Decision Trees ;
• Random Forests;
• Support Vector Machines;
• Naive Bayes;
• k-Nearest Neighbors;
• Clustering algorithms Algorithmes de Classification tels que: K-Means (K-moyennes)
et Hierarchical Clustering (Classification Hierarchique ; CAH…)

Il est important de savoir quand et comment appliquer ces algorithmes à différents types de
problèmes. Il faut également être conscient des forces et des faiblesses de chaque algorithme.
Note : (https://www.usaii.org/ai-insights/machine-learning-algorithms-for-beginners-with-
popular-python-codes) suivre ce lien avoir des codes de base…

3. Deep Learning and Neural Networks


L’apprentissage profond a complètement révolutionné le domaine de l’apprentissage
automatique. Il a permis aux ingénieurs ML et IA de travailler sur des tâches complexes telles
que la reconnaissance d'images, la NPL (Traitement du Langage Naturel), la reconnaissance
vocale, etc. Ainsi, il est important de se familiariser avec l'architecture de réseau neuronal
populaire telle que :
- Réseaux de neurones convolutifs (CNN) pour le traitement d'images.
- Réseaux de neurones récurrents (RNN) pour les données de séquence.
- Réseaux LSTM (Long Short-Term Memory) pour les tâches séquentielles.

5
Pr EKE Samuel cours IA et Systèmes expert (ML)
- Modèles de transformateurs pour le Traitement du Langage Naturel.

Il est aussi également recommandé de maîtriser les frameworks d'apprentissage


profond tels que TensorFlow et PyTorch. Ils facilitent la mise en œuvre de modèles
d’apprentissage profond.

4. Natural Language Processing


Le NLP ou Natural Language Processing est un sous-domaine de l’intelligence
artificielle. Il met principalement l’accent sur l’interaction humaine et informatique. Avec l’aide
de la NLP, les machines peuvent apprendre à comprendre, interpréter et générer un langage
semblable à celui des humains. Il s'agit donc d'une compétence ML indispensable pour
développer des algorithmes et des modèles adaptés à l'analyse du langage.

5. L’Analyse Statistique
L'analyse statistique comprend la collecte, l'analyse et l'interprétation des données pour
extraire des informations précieuses et faciliter une prise de décision éclairée. Dans le monde
de l’apprentissage automatique, l’analyse statistique est un outil très important qui pose les
bases mathématiques de nombreux algorithmes d’apprentissage automatique. Son application
comprend la détection de modèles de données, les tests d'hypothèses et la modélisation
prédictive.
La maîtrise de l'analyse statistique nécessite une compréhension approfondie des outils
et bibliothèques essentiels tels que R, Python, SAS et SPSS. Une compréhension complète
de ces outils et langages de programmation est indispensable pour maîtriser l’analyse
statistique.

6. Connaissance du domaine d’Application


La connaissance du domaine est souvent une compétence sous-estimée en apprentissage
automatique, mais elle peut faire la différence entre un bon modèle et un excellent. Comprendre
le domaine spécifique du problème, ses nuances et le contexte dans lequel le modèle sera
appliqué peut conduire à une ingénierie des fonctionnalités et à une conception de modèle plus
éclairées. Les ingénieurs en apprentissage automatique et en IA doivent collaborer étroitement
avec les experts du domaine pour tirer parti de leurs connaissances et affiner les modèles en
conséquence.
Si vous voulez faire des certifications dans le domaine du ML :
(Https://www.usaii.org/artificial-intelligence-certifications)

(Https://www.usaii.org/artificial-intelligence-certifications/certified-artificial-intelligence-
engineer).

4. Ressources pratiques
 Implémentation logiciel
De nombreux logiciels et librairies open source permettent de mettre en œuvre des algorithmes
de machine learning. Nous en citons ici quelques uns:

6
Pr EKE Samuel cours IA et Systèmes expert (ML)
 Les exemples de ce livre ont été écrits en Python, grâce à la très utilisée librairie
scikit-learn (http : //scikit-learn.org) dont le développement, soutenu entre autres
par Inria et Télécom ParisTech, a commencé en 2007.
 De nombreux outils de machine Learning sont implémentés en R, et recensés
sur la page http : //cran.r-project.org/web/views/MachineLearning.html.
 Weka(Waikato environment for knowledge analysis,
https://www.cs.waikato.ac.nz/ml/weka/) est une suite d’outils de machine
Learning écrits en Java et dont le développement a commencé en 1993.
 De nombreux outils spécialisés pour l’apprentissage profond et le calcul sur des
architectures distribuées ont vu le jour ces dernières années. Parmi eux,
TensorFlow (https://www.tensorflow.org) implémente de nombreux autres
algorithmes de Machine Learning.
 Jeux de données
De nombreux jeux de données sont disponibles publiquement et permettent de se faire
la main ou de tester de nouveaux algorithmes de Machine Learning. Parmi les ressources
incontournables, citons :

 Le répertoire de l’Université de Californie à Irvine, UCI Repository


(http://www.ics.uci.edu/mlearn/MLRepository.html)
 Les ressources listées sur KDNuggets :
 http://www.kdnuggets.com/datasets/index.html

 Les plateformes de compétitions en sciences des données Kaggle, TopCoder,


Codelab, DataHack, Machine Hack, DrivenData, Data Analysis Olympiad.

7
Pr EKE Samuel cours IA et Systèmes expert (ML)
5. Méthodes d'apprentissage automatique
Dans l'apprentissage automatique, les tâches sont généralement classées en grandes
catégories. Ces catégories sont basées sur la façon dont l'apprentissage est reçu (ou mise en
œuvre) et comment le feedback sur l'apprentissage est donné au système développé.

Trois grandes méthodes d'apprentissage automatique sont largement adoptées :

- Les méthodes basées sur l’apprentissage supervisé ;


- Les méthodes basées sur l’apprentissage non supervisé ;
- Les méthodes basées sur l’apprentissage profond.
Les méthodes basées sur l’apprentissage supervisé utilisent les algorithmes basés sur
des données d'entrée et de sortie étiquetées par l’homme tandis que l’apprentissage non
supervisé ne fournit pas à l'algorithme des données étiquetées pour lui permettre de trouver
une structure et de découvrir une logique dans données entrées. Toutefois, il se développe des
algorithmes qui combine à la fois l’apprentissage supervisée et non supervisé connu sous
l’appellation de l’apprentissage semi-supervisé.

2.1 L'apprentissage supervisé

Dans l'apprentissage supervisé, on fournit à l'ordinateur des exemples d'entrées qui sont
étiquetés (labélisés) avec les sorties souhaitées. Le but de cette méthode est de faire «
apprendre » à l'algorithme en comparant sa sortie réelle avec les sorties « enseignées » pour
trouver des erreurs et modifier le modèle d’apprentissage obtenu en conséquence.
L'apprentissage supervisé utilise donc des modèles (issus de l’apprentissage) pour prédire les
valeurs d'étiquettes sur des données non étiquetées supplémentaires.

Il existe deux types de sous-problèmes en apprentissage supervisé numérique :

 Régression (« Regression ») : lorsque la valeur cible à prédire est continue ;


 Classement, classification ou catégorisation (« Classification ») : lorsque la valeur cible
à prédire est discrète.
Par ailleurs nous supposerons également que les objets étudiés qui peuvent être complexes
à l'origine (comme des données multimédia) sont représentés dans un format numérique
structuré. En d'autres termes :
 On représente un objet Xi par un vecteur noté xi défini dans un espace de description
composé de plusieurs variables.
 A chaque xi on lui associe une valeur cible notée yi.
Par exemple, avec un apprentissage supervisé, un algorithme peut être alimenté avec des
images de requins étiquetés Poisson des images d'océans étiquetés comme Ocean. En étant
formé sur ces données, l'algorithme d'apprentissage supervisé devrait être capable d'identifier
plus tard des images de requin non marquées comme Poisson des images océaniques non
étiquetées Ocean. Un cas d'utilisation de l'apprentissage supervisé consiste à utiliser des
données historiques pour prédire des événements futurs statistiquement probables. Il peut
utiliser les informations historiques sur les marchés boursiers pour anticiper les fluctuations à

8
Pr EKE Samuel cours IA et Systèmes expert (ML)
venir ou être utilisé pour filtrer les courriers indésirables. Dans l'apprentissage supervisé, des
photos étiquetées de chiens peuvent être utilisées comme données d'entrée pour classer les
photos non marquées de chiens.

a) Le classement ou classification supervisée


La classification supervisée consiste à affecter une classe à toute nouvelle donnée à
partir d’une règle de décision construite sur une base de données dont on connait les classes.
Formellement, l’apprentissage dans ce cas passe par deux étapes comme l’indique la figure 1
ci-dessous.

À partir d’une base de données d’apprentissage, l’algorithme structure l’espace de


représentation. Il construit ensuite une fonction dite de prédiction qui pour une nouvelle donnée,
assigne une sortie correspondante selon l’apprentissage faite au préalable. Il sera ensuite
question de valider la fonction de prédiction par une autre opération de test qui permettra de
quantifier l’erreur de classification.

Figure 1 : Illustration du processus de mise en œuvre d’un problème de classification


supervisée.

La mise en œuvre des algorithmes de classification supervisée suppose alors de disposer


d’une part, d’un ensemble de données d’apprentissage qui sera divisé en un sous-ensemble de
données d’entrainement et en un autre sous-ensemble de données de test, et d’autre part, de
nouvelles données à classer dans le cadre de l’exploitation du classifieur. Les données qui
constituent la base d’apprentissage sont étiquetées, c’est à dire, à chaque donnée encore appelée
point dans l’espace de représentation, est associée une étiquette ou label qui identifie sa classe
d’appartenance. Les données d’entrainement servent à construire la fonction de prédiction,
tandis que les données de test permettent de valider le processus d’apprentissage et de quantifier
l’erreur de prédiction.

Note Pratique : Pour construire un système d’aide à la décision utilisant les méthodes
de classification, on entraine plusieurs classifieurs (algorithmes) avec la même base de données.
Le choix de l’algorithme à retenir sera alors guidé par le classifieur qui donnera la plus faible
erreur de classification.

Les méthodes de classification supervisée peuvent se regrouper en deux approches :

9
Pr EKE Samuel cours IA et Systèmes expert (ML)
 L’approche de méthodes statistiques et structurelles ;
Dans le cas des méthodes statistiques, l’espace de représentation ou de décision étant
structurée en classes ou en régions, lors de la décision, une donnée sera affectée à la classe de
la région à laquelle elle appartient selon le principe de la fonction de classement. Il est
souhaitable de rappeler ici que la partition de l’espace de représentation peut être :

- explicite : c’est le cas des méthodes de discrimination linéaire ou paramétrique dans


lesquelles la frontière entre les classes est recherchée ;

- implicite : c’est le cas des méthodes du k plus proches voisin ou classifieur bayésien

Dans le cas des méthodes structurelles, une forme est représentée par une chaine
ordonnée de symbole. Elles s’appuient donc sur la comparaison des représentations structurées
en forme de chaînes de graphes ou d’arbres dont les prototypes sont préalablement enregistrés.


L’approche des méthodes stochastiques et neuronales.
Les méthodes dites stochastiques s’appuient essentiellement sur l’approche
markovienne de reconnaissance. Contrairement à l’approche bayésienne qui représente une
forme par un vecteur, dans l’approche markovienne, la forme est représentée par une séquence
de vecteurs générés par un processus aléatoire. Ces vecteurs représentent généralement les états
d’un système industriel. Ils peuvent être observés ou cachés et changent de valeurs au cours du
temps. Les classifieurs qui rentrent dans la catégorie de méthodes neuronales sont les réseaux
de neurones artificiels. Ces méthodes s’appuient sur la structure et la physiologie du cerveau
humain pour construire les systèmes d’apprentissage et de reconnaissance.

 Modélisation

10
Pr EKE Samuel cours IA et Systèmes expert (ML)
On dit alors que l’algorithme généralise la connaissance contenue dans les données en éditant
un modèle d’apprentissage qui sera par la suite évalué afin de déterminer ses performance,
c’est-à-dire le taux de réussite lorsqu’il sera question de déterminer l’appartenance à d’une
nouvelle donnée à une classe.

11
Pr EKE Samuel cours IA et Systèmes expert (ML)
b) Apprentissage non supervisé ou classification
Dans le cadre de l’apprentissage non supervisé, les données ne sont pas étiquetées. Il
s’agit alors de modéliser les observations pour mieux les comprendre.
L'apprentissage non supervisé est un type d'apprentissage automatique dans lequel les
données d'apprentissage sont fournies au système sans étiquettes ou valeurs pré-assignées.

Dans l’apprentissage non supervisé nous avons plusieurs catégories de problèmes :


 Clustering
Tout d’abord, le clustering, ou partitionnement, consiste à identifier des groupes dans les
données. Cela permet de comprendre leurs caractéristiques générales, et éventuellement
d’inférer les propriétés d’une observation en fonction du groupe auquel elle appartient.
Voici quelques exemples de problèmes de partitionnement :

• La segmentation de marché consiste à identifier des groupes d’usagers ou de clients


ayant un comportement similaire. Cela permet de mieux comprendre leur profil, et cibler
une campagne de publicité, des contenus ou des actions spécifiquement vers certains
groupes.

• Identifier des groupes de documents ayant un sujet similaire, sans les avoir au préalable
étiqueté par sujet. Cela permet d’organiser de larges banques de textes.

• La compression d’image peut être formulée comme un problème de partitionnement


consistant à regrouper des pixels similaires pour ensuite les représenter plus
efficacement.

• La segmentation d’image consiste à identifier les pixels d’une image appartenant à la


même région.

12
Pr EKE Samuel cours IA et Systèmes expert (ML)
• Identifier des groupes parmi les patients présentant les mêmes symptômes permet
d’identifier des sous-types d’une maladie, qui pourront être traités différemment.

 Réduction de dimension
La réduction de dimension est une autre famille importante de problèmes
d’apprentissage non supervisé. Il s’agit de trouver une représentation des données dans un
espace de dimension plus faible que celle de l’espace dans lequel elles sont représentées à
l’origine. Cela permet de réduire les temps de calcul et l’espace mémoire nécessaire au stockage
les données, mais aussi souvent d’améliorer les performances d’un algorithme d’apprentissage
supervisé entraîné par la suite sur ces données.
Remarque :
Certaines méthodes de réduction de dimension sont supervisées : il s’agit alors de
trouver la représentation la plus pertinente pour prédire une étiquette donnée.

 Estimation de densité
Enfin, une grande famille de problèmes d’apprentissage non supervisé est en fait un
problème traditionnel en statistiques : il s’agit d’estimer une loi de probabilité en supposant que
le jeu de données en est un échantillon aléatoire.
c) Apprentissage semi-supervisé
Comme on peut s’en douter, l’apprentissage semi-supervisé consiste à apprendre des
étiquettes à partir d’un jeu de données partiellement étiqueté. Le premier avantage de cette
approche est qu’elle permet d’éviter d’avoir à étiqueter l’intégralité des exemples
d’apprentissage, ce qui est pertinent quand il est facile d’accumuler des données mais que leur
étiquetage requiert une certaine quantité de travail humain. Prenons par exemple la
classification d’images : il est facile d’obtenir une banque de données contenant des centaines
de milliers d’images, mais avoir pour chacune d’entre elles l’étiquette qui nous intéresse peut
requérir énormément de travail. De plus, les étiquettes données par des humains sont
susceptibles de reproduire des biais humains, qu’un algorithme entièrement supervisé
reproduira à son tour. L’apprentissage semi-supervisé permet parfois d’éviter cet écueil.

13
Pr EKE Samuel cours IA et Systèmes expert (ML)
6. Approche de Générale de résolution d’un problème de Machine
Learning
De façon générale, les différentes phases de résolution d’un problème de Machine
Learning suivent une approche structurée. Ces phases incluent : la compréhension du métier, la
compréhension des données, la préparation des données, la modélisation, l’évaluation, et le
déploiement. Ces étapes constituent un cadre méthodologique essentiel pour développer des
solutions de Machine Learning adaptées aux besoins spécifiques du projet.
6.1. Compréhension du métier
La phase de compréhension du métier se concentre sur la compréhension des objectifs
et des exigences du projet. Les tâches de cette phase sont des activités fondamentales de gestion
de projet qui sont universelles à la plupart des projets :

• Déterminer les objectifs commerciaux : Il faut d'abord « comprendre en profondeur,


du point de vue de l'entreprise, ce que le client veut vraiment accomplir ». Puis définir
les critères de réussite de l'entreprise.

• Évaluer la situation : Déterminez la disponibilité des ressources, les exigences du


projet, évaluez les risques et les imprévus, et effectuez une analyse coûts-avantages.

• Déterminer les objectifs de l'exploration des données : En plus de définir les objectifs
de l'entreprise, il faut définir ce à quoi ressemble le succès d'un point de vue technique
de l'exploration de données.

• Produire un plan de projet : Sélectionnez les technologies et les outils et définissez


des plans détaillés pour chaque phase du projet. Bien que de nombreuses équipes de
projet se dépêchent de passer par cette phase, établir une solide compréhension du
métier est comme construire les fondations d'une maison, c’est absolument
indispensable

6.2. Compréhension des données


La phase de compréhension des données. S'ajoutant à la base de la compréhension du
métier, elle permet d'identifier, de collecter et d'analyser les ensembles de données qui peuvent
vous aider à atteindre les objectifs du projet. Cette phase comporte également quatre tâches :

• Collecter les données initiales : Acquérir les données nécessaires et (si nécessaire) les
charger dans votre outil d'analyse.

14
Pr EKE Samuel cours IA et Systèmes expert (ML)
• Décrire les données : Examinez les données et documentez leurs propriétés de surface,
comme le format des données, le nombre d'enregistrements ou l'identité des champs.

• Explorer les données : Creusez plus profondément dans les données. Interrogez-les,
visualisez-les et identifiez les relations entre les données.

• Vérifiez la qualité des données : les données sont-elles propres ou sales ? Documentez
tout problème de qualité.

6.3. Préparation des données


Cette phase, souvent appelée « broyage des données », prépare le/les ensembles de
données finaux pour la modélisation. Elle comporte cinq tâches :

• Sélectionner les données : Déterminer les ensembles de données qui seront utilisés et
documenter les raisons de leur inclusion/exclusion.

• Nettoyer les données : C'est souvent la tâche la plus longue. Sans elle, vous risquez
d'être victime du phénomène de « Garbage-in, Garbage-out ». Une pratique courante
au cours de cette tâche consiste à corriger, imputer ou supprimer les valeurs erronées.

• Construire des données : Déterminez de nouveaux attributs qui seront utiles. Par
exemple, déduisez l'indice de masse corporelle d'une personne à partir des champs taille
et poids.

• Intégrer des données : Créez de nouveaux ensembles de données en combinant des


données provenant de plusieurs sources.

• Formatez les données : Reformatez les données si nécessaires. Par exemple, on peut
convertir des chaînes de caractères contenant des chiffres en valeurs numériques afin
de pouvoir effectuer des opérations mathématiques.

• Division des données : Les données d’apprentissage sont, souvent, réparties en 3


catégories : L’ensemble d’apprentissage (population d’entrainement) : C'est la
collection exhaustive de données ou d'exemples utilisés pour former et générer un
modèle d'apprentissage. Ces données fournissent à l'algorithme les informations
nécessaires pour identifier des schémas et des relations afin de construire un modèle
prédictif, elle représente généralement 60% des données. L’ensemble de validation :
Il s'agit d'une subdivision de l'ensemble d'entraînement, utilisée pendant la phase
d'apprentissage pour évaluer et ajuster l'algorithme. Son rôle principal est de détecter

15
Pr EKE Samuel cours IA et Systèmes expert (ML)
le surajustement du modèle en fournissant des données indépendantes qui ne sont pas
utilisées pour former le modèle initial, elle représente généralement 20% des données.
L’ensemble de test : Composé d'échantillons distincts et non utilisés lors de la
formation ou de la validation du modèle, cet ensemble est utilisé pour évaluer les
performances du modèle final. Les données de l'ensemble de test permettent de mesurer
l'efficacité du modèle en simulant son application sur des données réelles, fournissant
ainsi une évaluation objective de sa précision et de sa fiabilité, elle représente
généralement 20% des données.

6.4. Modélisation
Dans cette phase on va probablement construire et évaluer divers modèles basés sur
plusieurs techniques de modélisation différentes. Cette phase comporte quatre tâches :

• Sélectionner les techniques de modélisation : Déterminez les algorithmes à essayer


(par exemple, la régression, le réseau neuronal).

• Générer la conception du test : En fonction de l’approche de modélisation, on peut


diviser les données en ensembles de formation, de validation et de test.

• Construire le modèle : Aussi prestigieux que cela puisse paraître, il peut s'agir
simplement d'exécuter quelques lignes de code comme « reg =
LinearRegression().fit(X, y) ».

• Évaluer le modèle : Généralement, plusieurs modèles sont en concurrence les uns avec
les autres, et le Data Scientist doit interpréter les résultats du modèle en se basant sur la
connaissance du domaine, les critères de réussite prédéfinis et la conception du test.
6.5. Evaluation
Alors que la tâche d'évaluation du modèle de la phase de modélisation se concentre sur
l'évaluation du modèle technique, la phase d'évaluation examine plus largement quel
modèle répond le mieux à l'activité et ce qu'il faut faire ensuite. Cette phase comporte trois
tâches :
 Évaluer les résultats : Les modèles répondent-ils aux critères de réussite de l'entreprise
? Lequel ou lesquels devons-nous approuver pour l'entreprise ?
 Réviser le processus : Examinez le travail accompli. Y a-t-il eu des oublis ? Toutes les
étapes ont-elles été correctement exécutées ?
 Résumez les résultats et corrigez si nécessaire.

16
Pr EKE Samuel cours IA et Systèmes expert (ML)
 Déterminez les prochaines étapes : Sur la base des trois tâches précédentes,
déterminez s'il faut passer au déploiement, poursuivre l'itération ou lancer de nouveaux
projets.

6.6. Déploiement
Un modèle n'est pas particulièrement utile si le client ne peut pas accéder à ses résultats. La
complexité de cette phase est très variable. Cette phase finale comporte quatre tâches :
 Planifier le déploiement : Développer et documenter un plan de déploiement du
modèle.
 Planifier le suivi et la maintenance : Développer un plan de suivi et de maintenance
approfondi pour éviter les problèmes pendant la phase opérationnelle (ou phase post
projet) d'un modèle.
 Produire un rapport final : L'équipe de projet documente un résumé du projet qui
peut inclure une présentation finale des résultats de l'exploration des données.
 Revoir le projet : Effectuez une rétrospective du projet sur ce qui s'est bien passé, ce
qui aurait pu être mieux, et comment s'améliorer à l'avenir.

17
Pr EKE Samuel cours IA et Systèmes expert (ML)
I. QUELQUES ALGORITHME DE MACHINE LEARNING
III.1. La régression linéaire simple
a) Description de l’algorithme
La régression linéaire simple est un algorithme de machine learning supervisé qui
modélise la relation entre une seule variable indépendante (prédicteur) et une variable
dépendante (cible) à l’aide d’une droite. L’objectif est de trouver la meilleure ligne droite qui
représente au mieux la relation entre ces deux variables, en minimisant la somme des carrés des
erreurs entre les valeurs observées et les valeurs prédites.

La formule de la régression linéaire simple est : y=β +β x+ϵ


0 1

 y : Variable dépendante (valeur prédite).


 β0: Ordonnée à l'origine (intercept), qui représente la valeur de y lorsque x est
nul.

 β1: Coefficient de régression (pente), qui mesure l’impact de la variable x sur


y.
 x : Variable indépendante (prédicteur).
 ϵ: Terme d’erreur, capturant les différences entre les valeurs observées et
prédites.

L'hypothèse fondamentale est que la relation entre x et y est linéaire. Cet algorithme
est souvent utilisé pour des analyses exploratoires, des prévisions simples et pour comprendre
les relations entre deux variables.

18
Pr EKE Samuel cours IA et Systèmes expert (ML)
Exemples d’application
 Prédiction du prix en fonction de la demande : Estimer le prix d’un produit en
fonction de la quantité demandée.
 Estimation de la consommation de carburant : Prédire la consommation de carburant
d’une voiture en fonction de la vitesse moyenne.
 Analyse du rendement des cultures : Modéliser la production agricole en fonction de
la quantité d'engrais utilisée.
 Étude de la croissance des ventes : Prédire les ventes futures en fonction des dépenses
publicitaires.

b) Application

Cas pratique 1
Prédiction du Prix Immobilier par Superficie
Le but de ce projet est de prédire le prix des maisons en fonction de leur superficie à l'aide
d'une régression linéaire simple.

19
Pr EKE Samuel cours IA et Systèmes expert (ML)
20
Pr EKE Samuel cours IA et Systèmes expert (ML)
21
Pr EKE Samuel cours IA et Systèmes expert (ML)
Cas pratique 2

Modélisation de Données Linéaires : Régression Linéaire Simple


et
Optimisation par Descente de Gradient
Le but de ce projet est de mettre en œuvre et d'évaluer un modèle de régression linéaire
simple. À partir de données générées aléatoirement avec une tendance linéaire, le projet inclut
la création d'un modèle, l'implémentation de la descente de gradient pour l'optimisation des
paramètres, et l'analyse des résultats. Le projet permet de comprendre le processus complet, de
la génération de données à l'évaluation du modèle, en passant par l'entraînement et la
visualisation des prédictions.

 Importation des bibliothèques

22
Pr EKE Samuel cours IA et Systèmes expert (ML)
23
Pr EKE Samuel cours IA et Systèmes expert (ML)
24
Pr EKE Samuel cours IA et Systèmes expert (ML)
25
Pr EKE Samuel cours IA et Systèmes expert (ML)
26
Pr EKE Samuel cours IA et Systèmes expert (ML)
III.2. La régression linéaire multiples

a) Description
La régression linéaire multiple est une extension de la régression linéaire simple qui
permet de modéliser la relation entre une variable dépendante (ou cible) et plusieurs variables
indépendantes (ou prédicteurs). Contrairement à la régression linéaire simple, qui utilise une
seule variable prédictive, la régression linéaire multiple utilise plusieurs variables pour prédire
une valeur.

La formule générale de la régression linéaire multiple est : y=β0 + β1x1 + β2x2 +…+
βnxn + ϵ
 y : Variable dépendante (ou prédiction).
 β: Ordonnée à l'origine (intercept), qui représente la valeur de y lorsque toutes les

variables indépendantes sont nulles.

 β1, β2, …., βn: Coefficients de régression pour chaque variable indépendante x1, x2,
…, xn , mesurant l’impact de ces variables sur y.

 x1, x2,…, xn : Variables indépendantes.

 ϵ: Terme d’erreur, capturant les différences entre les valeurs observées et prédites.
Cet algorithme repose sur des hypothèses similaires à celles de la régression linéaire
simple, mais s'applique à des situations où plusieurs facteurs influencent la variable cible.

27
Pr EKE Samuel cours IA et Systèmes expert (ML)
Exemples d’application
 Prédiction des prix des maisons : Estimer le prix d'une maison en fonction de plusieurs
caractéristiques telles que la superficie, le nombre de chambres, la localisation, et
l'année de construction.
 Analyse des performances des étudiants : Prédire les résultats scolaires d'un étudiant
en fonction de plusieurs variables comme le nombre d'heures d'étude, la présence en
cours, et les antécédents académiques.
 Évaluation des risques financiers : Estimer le risque de crédit d'un emprunteur en
prenant en compte plusieurs facteurs tels que le revenu, la dette existante, et l'historique
de crédit.
 Optimisation des campagnes marketing : Prédire les ventes d'un produit en fonction
de plusieurs variables telles que les dépenses en publicité, les promotions, et les
tendances saisonnières.

b) Application

28
Pr EKE Samuel cours IA et Systèmes expert (ML)
Cas pratique 1
Prédiction des Profits des Startups à l'aide de la Régression
Linéaire Multiple
Le but de ce projet est de prédire les profits des startups en utilisant la régression
linéaire multiple. À partir d'un dataset contenant diverses caractéristiques des startups, telles
que la localisation, les dépenses en recherche et développement, et les dépenses en marketing,
le projet inclut les étapes de prétraitement des données, de création et d'entraînement du
modèle, et d'évaluation des performances. L'objectif est de comprendre comment les
caractéristiques multiples influencent les profits et d'évaluer l'exactitude des prédictions du
modèle.

29
Pr EKE Samuel cours IA et Systèmes expert (ML)
30
Pr EKE Samuel cours IA et Systèmes expert (ML)
31
Pr EKE Samuel cours IA et Systèmes expert (ML)
Cas pratique 2

Implémentation de la Régression Linéaire Multiple et Polynomiale pour la

Prédiction de Données Non Linéaires

Le but de ce projet est de développer et d'évaluer des modèles de régression linéaire


multiple et polynomiale pour prédire des valeurs à partir de données non linéaires. Le projet
se concentre sur l'application de la descente de gradient pour ajuster les paramètres du modèle
et optimiser les prédictions. À travers des cas pratiques, tels que la régression polynomiale
avec une variable et la régression multiple avec plusieurs variables, le projet vise à démontrer
la capacité de ces modèles à capturer des relations complexes entre les variables d'entrée et les
cibles. L'évaluation des modèles est réalisée à l'aide de la fonction coût, de courbes
d'apprentissage, et du coefficient de détermination R2.

32
Pr EKE Samuel cours IA et Systèmes expert (ML)
33
Pr EKE Samuel cours IA et Systèmes expert (ML)
34
Pr EKE Samuel cours IA et Systèmes expert (ML)
35
Pr EKE Samuel cours IA et Systèmes expert (ML)
36
Pr EKE Samuel cours IA et Systèmes expert (ML)
37
Pr EKE Samuel cours IA et Systèmes expert (ML)
38
Pr EKE Samuel cours IA et Systèmes expert (ML)
III.3. La régression logistique

La régression logistique ou modèle logit est une méthode statistique puissante qui peut
modéliser des résultats binomiaux avec une ou plusieurs variables explicatives. Elle mesure la

39
Pr EKE Samuel cours IA et Systèmes expert (ML)
relation entre une variable dépendante catégorielle et une ou plusieurs variables indépendantes
en utilisant une fonction logistique (c'est-à-dire une distribution logistique cumulative) pour
estimer la probabilité.
La régression logistique a été utilisée dans les sciences biologiques au début du
vingtième siècle. Elle a ensuite été utilisée dans de nombreuses applications des sciences
sociales. La régression logistique est utilisée lorsque la variable dépendante (cible) est
catégorique.
La régression logistique indique généralement où se trouve la frontière entre les
différentes classes, en plus de ça elle indique que les probabilités des classes dépendent de la
distance de la frontière.
La régression logistique est une méthode prédictive. Cependant, par régression
logistique, cette prédiction conduira à une dichotomie. La régression logistique est l'un des
outils les plus couramment utilisés en statistiques appliquées et analyse de données discrètes.
La fonction qui régit le modèle de régression logistique est la suivante :
P =1/1+e –(y.w.x)
Où :
 𝑃� représente la probabilité que l'exemple 𝑥� appartienne à la classe positive.
 𝑥� est le vecteur de données d'entrée, avec 𝑛� caractéristiques 𝑥�𝑖� appartenant à l'espace
réel 𝑅�𝑛�.
 𝑤� est le vecteur de poids, déterminant l'importance relative des différentes
caractéristiques.
 𝑒� est la constante de Néper (environ 2.71828), la base du logarithme naturel.
 L'étiquette de classe 𝑦� est généralement codée comme 𝑦�𝑖� ∈ {−1,1} représentant les
deux classes possibles. Cette fonction de modèle est utilisée dans le cadre de la
régression logistique pour classifier les données en fonction des poids 𝑤� appris à partir
d'un ensemble de données d'entraînement.

40
Pr EKE Samuel cours IA et Systèmes expert (ML)
Exemples d’application
 Classification des Emails (Spam/Non-Spam) : Utilisée pour classer les emails comme
spam ou non-spam en fonction de mots clés et d'autres caractéristiques textuelles.
 Prédiction de la Probabilité de Maladie : Utilisée en médecine pour prédire si un
patient est atteint d'une maladie donnée (ex : maladie cardiaque, diabète) sur la base de
caractéristiques telles que l'âge, la pression artérielle, et d'autres mesures de santé.
 Prédiction de L'Attrition des Clients : Aide les entreprises à identifier quels clients
sont susceptibles de quitter (churn) en fonction de leur historique d'interactions et de
comportement.
 Classification des Images (ex : Reconnaissance de Chiffres) : Employée dans la
reconnaissance optique de caractères pour classer des images simples comme les
chiffres manuscrits.
 Prédiction de Fraude Bancaire : Utilisée pour détecter des transactions bancaires
suspectes en fonction de critères spécifiques qui indiquent une fraude potentielle.

41
Pr EKE Samuel cours IA et Systèmes expert (ML)
b) Application

Cas pratique 1

Prédiction des Étiquettes Utilisateur à l'Aide de la Régression

Logistique
Ce projet vise à utiliser la régression logistique pour prédire les étiquettes cibles des
utilisateurs en se basant sur certaines caractéristiques sélectionnées à partir d'un ensemble de
données. L'objectif principal est de construire un modèle de classification qui peut efficacement
séparer les classes en entraînant le modèle sur un sous-ensemble de données et en validant sa
performance sur des données de test. Le modèle est évalué à l'aide d'une matrice de confusion
pour mesurer son efficacité en termes de précision, sensibilité, et spécificité.

42
Pr EKE Samuel cours IA et Systèmes expert (ML)
Cas pratique 2

Implémentation d'une Régression Logistique avec Descente de

Gradient pour Classification Binaire

43
Pr EKE Samuel cours IA et Systèmes expert (ML)
Ce projet a pour objectif de développer et d'entraîner un modèle de régression logistique
à partir de zéro en utilisant la descente de gradient pour optimiser les paramètres du modèle.
Le modèle est appliqué sur un jeu de données synthétique généré, contenant deux
caractéristiques et deux classes, pour effectuer une classification binaire. L'approche vise à
comprendre les étapes fondamentales de la régression logistique, incluant l'initialisation des
poids, la propagation avant, le calcul de la fonction de coût (log-loss), et l'optimisation à
travers la descente de gradient. Les résultats sont visualisés à travers un graphique de la
frontière de décision et l'évolution de l'erreur au fil des itérations.

44
Pr EKE Samuel cours IA et Systèmes expert (ML)
45
Pr EKE Samuel cours IA et Systèmes expert (ML)
46
Pr EKE Samuel cours IA et Systèmes expert (ML)

Vous aimerez peut-être aussi