Académique Documents
Professionnel Documents
Culture Documents
o.banouar@uca.ac.ma
1.1 Qu’est-ce que l’apprentissage automatique ?
« L’apprentissage automatique (en anglais machine learning, littéralement « apprentissage machine »),
apprentissage artificiel ou apprentissage statistique est un champ d’étude de l’intelligence artificielle
• se fonde sur des approches mathématiques et statistiques pour donner aux ordinateurs la capacité d’
« apprendre » à partir de données, c’est-à-dire d’améliorer leurs performances à résoudre des
tâches sans être explicitement programmés pour chacune.
• Plus largement, il concerne la conception, l’analyse, l’optimisation, le développement et
l’implémentation de telles méthodes.
• On parle d’apprentissage statistique car l’apprentissage consiste à créer un modèle dont l’erreur
statistique moyenne est la plus faible possible. »
L’objectif du cours est de donner un sens à cette définition : que signifie « apprendre » à partir de
données, ou « ne pas être explicitement programmé » pour résoudre une tâche ?
1.1 Qu’est-ce que l’apprentissage automatique ?
Conscience Intelligence
augmentée
1.2 L’apprentissage automatique et les données ?
•Apprentissage semi-supervisé
• (mélange de données « étiquetées » et « non étiquetées
»).
1.3 L’apprentissage automatique et ses types
•Algorithmes de régression :
sont utilisés pour prédire les valeurs de sortie en fonction de certaines caractéristiques d'entrée
obtenues à partir des données.
Pour ce faire, l'algorithme construit un modèle basé sur les caractéristiques et les valeurs de
sortie des données d'entraînement et ce modèle est utilisé pour prédire les valeurs des nouvelles
données .
Les valeurs de sortie dans ce cas sont continues et non discrètes.
Les types d'algorithmes de régression incluent la régression linéaire , la régression
multivariée , les arbres de régression et la régression lasso , entre autres.
1.4 L’apprentissage automatique et ses types
1.4 L’apprentissage automatique et ses types
Apprentissage semi-supervisé
Dans les deux types précédents, soit il n'y a pas d'étiquettes pour toutes les observations de
l'ensemble de données, soit des étiquettes sont présentes pour toutes les observations.
L’apprentissage semi-supervisé se situe entre ces deux. Dans de nombreuses situations
pratiques, le coût de l’étiquetage est assez élevé, car cela nécessite des experts humains
qualifiés.
Ainsi, en l’absence d’étiquettes dans la majorité des observations mais présentes dans
quelques-unes, les algorithmes semi-supervisés sont les meilleurs candidats pour la
construction de modèles.
Ces méthodes exploitent l’idée que même si les appartenances aux groupes des données non
étiquetées sont inconnues, ces données contiennent des informations importantes sur les
paramètres du groupe.
1.4 L’apprentissage automatique et ses types
Certaines applications des algorithmes d'apprentissage par renforcement sont les jeux de
société joués sur ordinateur (échecs, go), les mains robotiques et les voitures autonomes.
1.5 END-TO-END ML projects workflow
1.5 END-TO-END ML projects workflow
Les algorithmes de machine learning sont de plus en plus complexes, et les recherches en
intelligence artificielle (IA) n’arrêtent pas de proposer de nouvelles variantes.
Par ailleurs, le marché demande des solutions de plus en plus robustes et
performantes.
SAAS(Software as a Service)
IAAS(Infrastructure as a Service)
Il s’agit de la mise à disposition, à la demande, des ressources
d’infrastructures dont la plus grande partie est localisée à distance
dans des Datacenters.
L’IaaS permet l’accès aux serveurs et à leurs configurations pour
les administrateurs de l’entreprise. Le client à la possibilité de louer
des clusters, de la mémoire ou du stockage de données. Le coût est
directement lié au taux d’occupation.
1.6 Déploiement des modèles
Les types du cloud
Avantage : grande flexibilité, contrôle total des systèmes
(administration à distance par SSH ou Remote Desktop, RDP), qui
permet d’installer tout type de logiciel métier.
Le Cloud Privé
• Le Cloud privé est prévu pour offrir aux entreprises, des services qui leur permettront de mieux
maitriser leurs ressources informatiques.
• L’entreprise peut gérer son infrastructure en solitaire, au rythme de ses besoins, ou passer par la
mutualisation.
• Ce type de stockage est considéré:
- comme l’installation d’un réseau informatique propriétaire.
- un centre de données qui fournit des services hébergés pour un certain nombre d’usagers. Il leur
délivre des accès, particulièrement favorables pour leurs applications hébergées.
On distingue les Cloud privés internes, utilisés par une entreprise pour satisfaire ses propres besoins.
Ils sont administrés en interne par l’entreprise même. Il y a aussi les Cloud privés externes, destinés à
satisfaire les besoins propres d’une entreprise cliente. Leurs gestions sont confiées à un prestataire
extérieur. On parle alors de gestion externalisée. Dans ce cas, une partie de ses services externalisés,
est prise en charge par un prestataire de confiance.
1.6 Déploiement des modèles
Les architectures du cloud
Une stratégie de cloud privé peut comprendre du matériel hébergé localement dans une installation
appartenant à l’entreprise, ou il peut être hébergé par un fournisseur de services de cloud.
Les cloud privés virtuels sont généralement payés sur une base continue.
Le matériel et les configurations de stockage fournis permettent de conserver les avantages d'un
réseau exclusif et sécurisé.
1.6 Déploiement des modèles
Les architectures du cloud
Le Cloud Public
• Les ressources sont fournies par un prestataire et mutualisées pour un usage partagé par plusieurs
clients.
• L’infrastructure est mise à la disposition du grand public (c’est-a-dire de plusieurs entreprises)
mais elle appartient à un fournisseur de services informatiques, le niveau de service étant défini
par le fournisseur et identique pour tous les utilisateurs.
Les exemples les plus évidents de Cloud computing ont tendance à tomber sous le modèle de Cloud
public, car ils sont, par définition, accessibles au public.
Les offres de Software as a Service (SaaS), comme le stockage Cloud et les applications office en
ligne, sont peut-être les plus connues, mais les offres largement disponibles d’Infrastructure as a
Service (IaaS) et de Platform as a Service (PaaS), qui incluent de l’hébergement web et des
environnements de développement basés sur le Cloud, peuvent également correspondre à ce
modèle. (bien que toutes puissent exister au sein de Clouds privés).
Les architectures du cloud
Le Cloud Public
Les Clouds publics sont largement utilisés dans les offres adressées au grand public, moins susceptibles
d’avoir besoin de l’infrastructure et de la sécurité de Clouds privés.
Toutefois, les entreprises peuvent toujours avoir recours au Cloud public pour rendre leurs opérations
plus efficaces, par exemple pour le stockage de contenu non-sensible, la collaboration avec des
documents en ligne et la messagerie web.
31/03/ 3
2023 6
Les architectures du cloud 1.6 Déploiement des modèles
Le Cloud Hybride
Un Cloud hybride est un service Cloud intégré utilisant à la fois des Clouds privés et des Clouds
publics pour remplir différentes fonctions au sein d’une même organisation.
Si tous les types de services Cloud sont sensés offrir un certain niveau d’efficacité, à des degrés
divers, les services de Cloud public sont susceptibles d’être plus avantageux au niveau des coûts et
plus évolutifs que des Clouds privés.
C’est pourquoi une organisation peut maximiser son efficacité en utilisant des services de Cloud
public pour ses opérations non sensibles, et s’appuyer en revanche sur un Cloud privé lorsqu’elle en a
besoin, faisant en sorte que toutes ses plateformes soient intégrées harmonieusement.
Conteneurisation vs Virtualisation
Validation:
- Test écrit
- Compte rendu mini-projet pratique
• Collecte et préparation des données
• Activités de nettoyage, de transformation, d’augmentation /réduction et d’échantillonnage des
données.
• Activité d’identification des attributs des données les plus pertinents.
• Séparation des données en deux sous-ensembles : données d’entraînement, et données de test.
Préparation des données
4.Préparation des données pour l'entraînement : les données sont préparées dans un format adapté à
l'entraînement des modèles. Cela implique généralement de diviser l'ensemble de données en ensembles
de données d'entraînement, de validation et de test, et éventuellement de normaliser ou de mettre à
l'échelle les données en fonction des besoins spécifiques du modèle.
Préparation des données
Qu’est ce qu’une donnée manquante?
Les algorithmes de Machine Learning prennent les données d’entrée (input Data) sous forme
matricielle, chaque ligne est une observation, et chaque colonne représente une caractéristique
(feature) de l’individu (son salaire, appartenance politique etc…).
On dit qu’une observation (ligne de la matrice de données) comporte une donnée manquante s’il existe
une feature pour laquelle sa valeur n’est pas renseignée. Evidemment, on peut avoir plusieurs données
manquantes pour une même observation.
Préparation des données
Les données manquantes sont un problème qui se manifeste non seulement en Data Science mais
également en modélisation statistique.
Toutefois, la préoccupation reste la même. A savoir, comment traiter ces données manquantes de façon à
remplir les données non renseignées et ce, sans altérer significativement le jeu de données initial.
La difficulté pour traiter les données manquantes réside dans les hypothèses que nous nous faisant à
l’égard des patterns d’absence de données.
A titre d’exemple, imaginons qu’on fait un sondage sur une population et qu’on demande leur salaire
mensuelle. On pourra remarquer que plus le montant du salaire augmente, plus cette information est
absente. On peut supposer que les gens les plus fortunés ne souhaitent pas divulguer le montant de
leurs revenus.
Les données NMAR sont les plus délicates à traiter car l’absence d’une donnée est motivée par une
cause que nous avons interêt à comprendre pour mieux traiter ces données absentes. On dit qu’il s’agit
d’un pattern d’absence de données non ignorable.
Préparation des données
• Quand une hypothèse MCAR ou MAR est remplie, on dit que le pattern d’absence de données
est ignorable. En d’autre mots, il n’y a pas besoin de modéliser le comportement régissant
l’absence de données pour une feature X car il est aléatoire.
• Par ailleurs, quand les données ne sont ni MCAR ni MAR on dit que le pattern d’absence de
données n’est pas ignorable. Ainsi, il faut modéliser le comportement d’absence de données pour
mieux traiter ces données manquantes. Par ailleurs, modéliser un comportement d’absence de
données requiert une compréhension profonde du sens métier des données qu’on manipule.
• En réalité, savoir le pattern d’absence de données se fait avant tout par hypothèse. Il n’existe pas
de règle universelle pour dire si une donnée manquante est une MCAR, MAR ou NMAR. Il est
toujours important d’observer et comprendre le jeu de données pour décider quelle approche à
utiliser pour traiter ces données manquantes.
Préparation des données
• Traiter les données manquantes revient à “réparer” le jeu de données pour qu’il puisse être
utilisable par les algorithmes de Machine Learning. La réparation d’un jeu de données peut
prendre plusieurs formes : Comme supprimer les donner manquantes ou les remplacer par des
valeurs artificielles (on parle d’imputation).
Préparation des données
Il s’agit de la technique la plus simple et courante. Elle consiste à supprimer les observations (les
lignes) qui contiennent au moins une feature manquante. C’est le comportement par défaut.
Le problème de cette technique est qu’on peut être amené à supprimer un grand nombre
d’observations. En effet, imaginons qu’on manipule un jeu de données de 1000 observations, et
chaque observation est définie par 20 caractéristiques (features). Si chaque feature de notre jeu de
données comporte 5% de valeurs manquantes, on devra supprimer 640 observations pour que notre
jeu de données ne contiennent aucune valeur manquante. Ainsi notre jeu de données après traitement
avec cette méthode ne comportera que 360 observations !
Préparation des données
Imputation de données
L’imputation de données manquante réfère au fait qu’on remplace les valeurs manquantes dans le
jeu de données par des valeurs artificielles. Idéalement, ces remplacements ne doivent pas conduire
à une altération sensible de la distribution et la composition du jeu de données.
Notion de projection
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
Notion de centrage
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Covariance et ACP non-normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Covariance et ACP non-normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Covariance et ACP non-normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Corrélation et ACP normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Corrélation et ACP normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
Matrice d’observation *
Vecteur-propre
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Etapes de l’ACP normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Etapes de l’ACP normée
• Un tableau de contingence, également appelé tableau croisé est une représentation tabulaire de la
distribution conjointe de deux ou plusieurs variables catégorielles.
Oversampling Vs Undersampling
Le déséquilibre de classes peut entraîner des modèles de classification biaisés qui prédisent généralement
la classe majoritaire, ignorant ainsi la classe minoritaire.
L'oversampling est une technique de prétraitement des données utilisée en apprentissage automatique
pour traiter les problèmes de déséquilibre de classes dans les ensembles de données. Cette technique est
particulièrement utile dans les tâches de classification où une classe est sous-représentée par rapport aux
autres classes.
Oversampling Vs Undersampling
• ADASYN (Adaptive Synthetic Sampling) : Cette méthode est une extension de SMOTE qui
adapte le taux de génération de nouveaux échantillons en fonction de la densité locale des
échantillons minoritaires. Elle génère plus d'échantillons dans les régions où la densité des
échantillons minoritaires est faible et moins d'échantillons dans les régions où la densité est élevée.
• SMOTE-ENN (SMOTE + ENN) : Cette méthode combine SMOTE avec l'algorithme de
nettoyage de l'espace sous-échantillonné (ENN) pour supprimer les échantillons indésirables
générés par SMOTE qui sont mal classés par un classificateur de k plus proches voisins.
Préparation des données
Oversampling Vs Undersampling
L'undersampling est souvent utilisé lorsque l'oversampling n'est pas réalisable en raison de contraintes
de ressources.
Oversampling Vs Undersampling
• Near Miss : Cette méthode sélectionne les échantillons de la classe majoritaire qui sont les plus
proches des échantillons de la classe minoritaire. Elle vise à éliminer les échantillons redondants de la
classe majoritaire qui peuvent être plus faciles à classer correctement.
• Condensed Nearest Neighbor (CNN) : Cette méthode consiste à conserver uniquement les
échantillons de la classe majoritaire qui ne peuvent pas être correctement classés par un classificateur
de k plus proches voisins en utilisant les échantillons de la classe minoritaire comme référence.
• ENN (Edited Nearest Neighbors) : Cette méthode supprime les échantillons de la classe majoritaire
qui sont mal classés par un classificateur de k plus proches voisins en utilisant les échantillons de la
classe minoritaire comme référence.
• Entraînement Processus d’application de l’algorithme ML à l’ensemble de données
d’apprentissage pour créer un modèle ML.
• Evaluation Processus de comparaison des mesures de performance aux critères requis et/ou à ceux
d’autres modèles.
• Ajustement Processus permettant de déterminer les hyperparamètres optimaux en fonction
d’objectifs de performances.
Validation et évaluation du modèle
•Test fractionné:
• Dans un test fractionné, l'ensemble de données est divisé en deux parties, l'une est l' ensemble
d'entraînement et l'autre est l'ensemble de données de test .
• Une fois les données divisées, l'algorithme utilisera l'ensemble d'entraînement et un modèle est
créé.
• La précision d'un modèle est testée à l'aide de l'ensemble de données de test.
• Le rapport de division de l'ensemble de données en formation et en test peut être décidé en fonction
de la taille de l'ensemble de données.
• C'est rapide et efficace lorsque l'ensemble de données est de grande taille ou que l'ensemble de
données est cher. Cela peut produire des résultats différents sur la façon dont l'ensemble de données
est divisé en ensemble de données de formation et de test. Si l'ensemble de données est divisé en
80 % comme ensemble d'entraînement et 20 % comme ensemble de tests, 60 % comme ensemble
d'entraînement et 40 %, les deux généreront des résultats différents.
• Nous pouvons opter pour plusieurs tests fractionnés, où l'ensemble de données est divisé en
différents ratios et le résultat est trouvé et comparé pour son exactitude.
Validation et évaluation du modèle
Division des données : Tout d'abord, les données sont divisées en k ensembles (ou plis) de taille
égale (ou presque). Typiquement, k est choisi entre 5 et 10, mais cela peut varier en fonction de
la taille du jeu de données.
Boucle de validation : Ensuite, le modèle est entraîné k fois. À chaque itération, un pli est
retenu comme ensemble de test et les k-1 plis restants sont utilisés comme ensemble
d'apprentissage.
Évaluation du modèle : Le modèle est entraîné sur l'ensemble d'apprentissage et évalué sur
l'ensemble de test retenu. Les métriques d'évaluation, telles que l'exactitude, la précision, le
rappel, le score F1, etc., sont calculées pour chaque itération.
Moyenne des performances : Les performances du modèle sont moyennées sur les k itérations
pour obtenir une estimation finale de ses performances. Cela permet d'obtenir une évaluation
plus fiable du modèle, en tenant compte de la variabilité des données.
Validation et évaluation du modèle
Division des données : Tout d'abord, les données sont divisées en k ensembles (ou plis) de taille
égale (ou presque). Typiquement, k est choisi entre 5 et 10, mais cela peut varier en fonction de
la taille du jeu de données.
Boucle de validation : Ensuite, le modèle est entraîné k fois. À chaque itération, un pli est
retenu comme ensemble de test et les k-1 plis restants sont utilisés comme ensemble
d'apprentissage.
Évaluation du modèle : Le modèle est entraîné sur l'ensemble d'apprentissage et évalué sur
l'ensemble de test retenu. Les métriques d'évaluation, telles que l'exactitude, la précision, le
rappel, le score F1, etc., sont calculées pour chaque itération.
Moyenne des performances : Les performances du modèle sont moyennées sur les k itérations
pour obtenir une estimation finale de ses performances. Cela permet d'obtenir une évaluation
plus fiable du modèle, en tenant compte de la variabilité des données.
Validation et évaluation du modèle
Division des données : Tout d'abord, les données sont divisées en k ensembles (ou plis) de taille
égale (ou presque). Typiquement, k est choisi entre 5 et 10, mais cela peut varier en fonction de
la taille du jeu de données.
Boucle de validation : Ensuite, le modèle est entraîné k fois. À chaque itération, un pli est
retenu comme ensemble de test et les k-1 plis restants sont utilisés comme ensemble
d'apprentissage.
Évaluation du modèle : Le modèle est entraîné sur l'ensemble d'apprentissage et évalué sur
l'ensemble de test retenu. Les métriques d'évaluation, telles que l'exactitude, la précision, le
rappel, le score F1, etc., sont calculées pour chaque itération.
Moyenne des performances : Les performances du modèle sont moyennées sur les k itérations
pour obtenir une estimation finale de ses performances. Cela permet d'obtenir une évaluation
plus fiable du modèle, en tenant compte de la variabilité des données.
-précision(ou valeur prédictive positive) est la
proportion des items pertinents parmi l'ensemble des
Validation et évaluation du modèle
items proposés ;
-rappel(ou sensibilité) est la proportion des items
pertinents proposés parmi l'ensemble des items
pertinents.
1.Inertie intra-classe : Mesure la cohésion des clusters. Plus l'inertie intra-classe est faible, plus les
points à l'intérieur de chaque cluster sont proches les uns des autres.
2.Inertie inter-classe : Mesure la séparation entre les clusters. Plus l'inertie inter-classe est élevée,
plus les clusters sont séparés les uns des autres.
3.Silhouette Score : Calcule la qualité globale des clusters en mesurant à quel point chaque point est
proche de son propre cluster par rapport aux autres clusters. Un score silhouette proche de 1 indique
des clusters bien séparés, -1 indique des clusters mal séparés et 0 indique un chevauchement de
clusters.
4.Davies-Bouldin Index : Calcule la similarité moyenne entre chaque cluster et son cluster le plus
proche. Un score plus faible indique des clusters meilleurs et plus cohérents.