Machine Learning
Assuré par : Mme Hanene Ghazoauni
Objectifs
Suptech 2
Objectif
• L’ objectif de base du machine learning ( apprentissage automatique )
est "d’apprendre à apprendre" aux ordinateurs – et par la suite, à
agir et réagir – comme le font les humains, en améliorant leur mode
d'apprentissage et leurs connaissances de façon autonome sur la
durée. L'objectif ultime serait que les ordinateurs agissent et
réagissent sans être explicitement programmés pour ces actions et
réactions. Le machine learning utilise des programmes de
développement qui s'ajustent chaque fois qu'ils sont exposés à
différents types de données en entrée.
Suptech 3
Définition
• Le Machine Learning peut être défini comme une branche de
l’intelligence artificielle englobant de nombreuses méthodes
permettant de créer automatiquement des modèles à partir des
données. Ces méthodes sont en fait des algorithmes.
• Un programme informatique traditionnel effectue une tâche en
suivant des instructions précises, et donc systématiquement de la
même façon. Au contraire, un système Machine Learning ne suit pas
d’instructions, mais apprend à partir de l’expérience. Par
conséquent, ses performances s’améliorent au fil de son »
entraînement » à mesure que l’algorithme est exposé à davantage de
données.
Suptech 4
Exemple
Un bon exemple de machine learning est la voiture autonome. Une voiture
autonome est équipée de plusieurs caméras, plusieurs radars et d'un capteur
lidar. Ces différents équipements assurent les fonctions suivantes :
• Utiliser le GPS pour déterminer l'emplacement de la voiture en
permanence et avec précision
• Analyser la section de route située en avant de la voiture
• Détecter les objets mobiles ou fixes situés sur l'arrière ou les côtés de la
voiture
Ces informations sont traitées en permanence par un ordinateur central
également installé dans la voiture. Cet ordinateur collecte et analyse en
permanence des volumes considérables de données et les classe de la même
manière que les réseaux neuronaux d'un cerveau humain. Pour guider la
voiture dans son environnement, l'ordinateur prend des milliers de décisions
par seconde en fonction de probabilités mathématiques et de ses
observations : comment tourner le volant, quand freiner, accélérer, changer
les vitesses, etc.
Suptech 5
Fonctionnement du machine
learning
• Comment les machines apprennent-elles ?
• La réponse est : à partir de données. Aujourd’hui, nous créons
d’énormes volumes de données lors de nos activités quotidiennes.
Qu’il s’agisse des messages texte, des e-mails et des publications que
nous envoyons sur les réseaux sociaux, ou qu’il s’agisse des photos
et des vidéos que nous prenons sur nos téléphones, la quantité
d’informations que nous générons est énorme. Il y a aussi les
données qui sont générées par les millions de capteurs situés dans
nos maisons, nos voitures, nos villes, nos infrastructures de transport
public et nos usines.
Suptech 6
Fonctionnement du machine
learning
• Les scientifiques des données peuvent utiliser toutes ces données
pour entraîner des modèles Machine Learning capables de faire des
prédictions et des inférences en fonction des relations qu’ils
découvrent dans les données.
• Par exemple, supposons qu’une organisation de conservation de
l’environnement souhaite que des volontaires identifient et
cataloguent différentes espèces de fleurs sauvages à l’aide d’une
application sur leur téléphone portable.
Suptech 7
Applications
• Le Machine Learning est aussi utilisé pour l’analyse et la
classification automatique des images de radiographies médicales.
L’IA se révèle très performante dans ce domaine, parfois même plus
que les experts humains pour détecter des anomalies ou des
maladies.
• On utilise aussi le Machine Learning pour la traduction linguistique
automatique, et pour la conversion du discours oral à l’écran
(speech-to-text). Un autre cas d’usage est l’analyse de sentiment sur
les réseaux sociaux, reposant également sur le traitement naturel du
langage (NLP).
Suptech 8
Applications
• Plusieurs entreprises ont tenté d’exploiter le Machine Learning
pour passer en revue les CV des candidats de manière automatique.
Toutefois, les biais des données d’entraînement mènent à une
discrimination systématisée à l’égard des femmes ou des minorités.
• En effet, les systèmes de Machine Learning tendent à favoriser les
candidats dont le profil est similaire aux candidats actuels. Ils tendent
donc à perpétrer et à amplifier les discriminations déjà
existantes dans le monde de l’entreprise.
Suptech 9
Applications
• Plusieurs entreprises ont tenté d’exploiter le Machine Learning
pour passer en revue les CV des candidats de manière automatique.
Toutefois, les biais des données d’entraînement mènent à une
discrimination systématisée à l’égard des femmes ou des minorités.
• En effet, les systèmes de Machine Learning tendent à favoriser les
candidats dont le profil est similaire aux candidats actuels. Ils tendent
donc à perpétrer et à amplifier les discriminations déjà
existantes dans le monde de l’entreprise.
Suptech 10
Processus ML
Suptech 11
Building model
Suptech 12
Building model
Suptech 13
Suptech 14
Etape de création ML
• Étape 1. Comprendre et identifier le problème du métier (et définir ce
que sera « la réussite »)
• La première phase de tout projet de machine learning consiste à
comprendre les besoins des métiers. C’est une évidence, mais répétons-la :
vous devez savoir quel problème vous essayez de résoudre avant de tenter
de le résoudre.
• Pour commencer, travaillez avec le référent du projet (le « project owner »)
et assurez-vous bien que vous comprenez parfaitement ses objectifs et ses
besoins. Le but est de traduire cette connaissance en une définition
mathématique appropriée du problème pour faire du machine learning, et
de concevoir un plan préliminaire pour atteindre ces objectifs.
Suptech 15
Etape 1
Les questions clés auxquelles il faut répondre sont :
• Quel est l’objectif métier qui aurait besoin d’une solution cognitive ?
• Quelles parties de la solution sont cognitives et lesquelles ne le sont pas ?
• Toutes les questions techniques, opérationnelles et de déploiement ont-
elles été abordées ?
• Quels seront les critères d’un projet « réussi » ?
• Y a-t-il des exigences particulières en matière de transparence,
d’explicabilité
• Quelles sont les considérations éthiques ?
• Quels sont les paramètres et valeurs « acceptables » en termes de
précision, d’exactitude, et pour la matrice de confusion ?
• Quelles données d’entrée (les « inputs ») pourront être injectées dans le
modèle ? Et quelles sont les valeurs de sortie (les « outputs ») attendues ?
• De quel type est le problème à résoudre ? S’agit-il d’un problème de
classification, de régression ou de regroupement/segmentation ?
Suptech 16
Etape 2
• Comprendre et identifier les données
• Une fois que vous avez bien compris les demandes des métiers et
que votre projet a été approuvé, vous vous dites que vous allez
pouvoir commencer à construire un modèle de machine learning. Pas
vrai ?
• Et bien non. Déterminer un cas d’usage ne veut pas dire que vous
disposez des bonnes données pour le traiter.
• Un modèle de machine learning se construit typiquement en
apprenant et en généralisant à partir d’un jeu de données
d’entraînement, puis en appliquant ces enseignements à de nouvelles
données pour faire des prévisions. Une pénurie de données au départ
empêchera de construire le moindre modèle.
• Et l’accès aux données ne suffit pas. Ces données doivent être
nettoyées et de bonne qualité pour être utiles.
Suptech 17
Etape 2
• Où sont les sources des données nécessaires à l’entraînement du modèle ?
• Quel volume de données est nécessaire pour ce projet de machine
learning ?
• Quelles sont la quantité et la qualité actuelles des jeux de données destinés
à l’entraînement ?
• Comment seront réparties les données entre l’ensemble de test et
l’ensemble pour l’entraînement ?
• Pour les tâches d’apprentissage supervisées, quels moyens sont
accessibles (financiers, techniques ou humains) pour étiqueter ces
données ?
• Des modèles pré-entraînés peuvent-ils être utilisés ?
• Où se trouvent les données opérationnelles ?
• Existe-t-il des moyens d’accéder aux données en temps réel, aux données
issues du « edge » (capteur ou autres), ou à des données importantes qui
seraient « isolées » ?
Suptech 18
Etape 3
Collecter et préparer les données
• Une fois que vous avez correctement identifié et localisé vos données, vous
devrez les mettre en forme pour qu’elles puissent être utilisées pour
entraîner votre modèle.
• Les tâches de préparation des données comprennent la collecte, le
nettoyage (« cleansing »), l’agrégation, l’augmentation, l’étiquetage
(labels), la normalisation et la transformation ainsi que toutes les activités
autour des données structurées, non structurées et semi-structurées.
• Les opérations à suivre lors de cette étape sont les suivantes :
Recueillir les données auprès des différentes sources.
Normaliser les formats des différentes données.
Remplacer les données incorrectes.
Améliorer et augmenter les données.
Ajouter d’autres dimensions avec des valeurs précalculées et des
informations agrégées si nécessaire.
Améliorer les données avec des sources tierces.
Suptech 19
Etape 4
• Déterminer les attributs du modèle et entraîner le modèle
• Une fois que les données sont utilisables et que vous connaissez bien
le problème métier, il est enfin temps de passer à l’étape que vous
attendiez tant : entraîner le modèle.
• Cette phase nécessite de choisir le bon modèle, de l’entraîner, de
régler ses hyperparamètres, de le valider, puis de passer à la phase de
test et d’optimisation. Pour cela, les actions suivantes sont
nécessaires :
• Choisissez le bon algorithme en fonction de l’objectif de
l’apprentissage et de ses besoins en données.
• Configurer et régler les hyperparamètres pour optimiser les
performances, et choisir une méthode d’itération pour arriver aux
meilleurs hyperparamètres.
• Identifier les attributs qui fourniront les meilleurs résultats.
Suptech 20
Etape 5
Etape 5. Évaluer les performances du modèle et faire des benchmarks
Dans un contexte d’IA, l’évaluation comprend l’évaluation des métriques du modèle, la matrice de
confusion, les KPI, les métriques de performance, la mesure de la qualité du modèle, et une
validation finale de sa capacité à atteindre les objectifs métiers qui ont été fixés.
Au cours du processus d’évaluation du modèle, vous devez procéder comme suit :
Évaluer les modèles en utilisant une approche et un jeu de données de validation.
Déterminer les valeurs de la matrice de confusion dans le cadre des problèmes de classification.
Identifier des méthodes de validation croisée si cette approche k-fold est utilisée.
Affiner les hyperparamètres pour optimiser la performance.
Comparer le modèle de machine learning au modèle de base (ou heuristique).
Suptech 21
Etape 6
Étape 6. Expérimenter en production et ajuster le modèle
• Lorsque vous estimez que votre modèle est « opérationnel » et peut
être déployé « pour de vrai », il est temps de se pencher sur la
manière dont il fonctionne dans ce « monde réel » – ce qu’on appelle
aussi « la mise en production ». Pour cela, il faut :
• Déployer le modèle avec un moyen de mesurer et de contrôler en
permanence ses performances.
• Développer une base de référence ou des points de repère (faire un
benchmark) par rapport auxquels les futures itérations pourront être
mesurées.
• Itérer continuellement les différents aspects du modèle pour en
améliorer les performances globales.
Suptech 22
Etape 7
Ajuster le modèle
• Même si votre modèle est opérationnel et que vous surveillez
continuellement ses performances, vous n’en avez pas fini pour
autant. Lorsqu’il s’agit d’implémenter des technologies, on dit
souvent que la recette du succès consiste « à commencer petit, à
penser grand et à itérer souvent ».
• Et c’est vrai pour le Machine Learning. Il faudra à présent répéter le
processus entier et apporter des améliorations à temps pour la
prochaine itération. Les besoins des métiers changent. Les capacités
de la technologie évoluent. Les données elles-mêmes changent,
souvent de manière inattendue.
Suptech 23
Suptech 24
Techniques d’apprentissage
automatique
À mesure que vous en apprendrez davantage sur les algorithmes
d’apprentissage automatique, vous constaterez qu’ils appartiennent
généralement à l’une des trois techniques d’apprentissage
automatique :
Suptech 25
Apprentissage supervisé
• Les algorithmes d’apprentissage supervisé font des prédictions
basées sur un ensemble d’exemples étiquetés que vous fournissez.
Cette technique est utile lorsque vous savez à quoi doit ressembler le
résultat.
• Par exemple, vous fournissez un jeu de données qui inclut le nombre
d’habitants dans la ville par année au cours des 100 dernières années,
et vous souhaitez savoir quelle sera la population d’une ville
spécifique dans quatre ans. Le résultat utilise des étiquettes qui
existent déjà dans le jeu de données : population, ville et année.
Suptech 26
Apprentissage non supervisé
•
Dans l’apprentissage non supervisé, les points de données ne sont
pas étiquetés : l’algorithme les étiquette pour vous en organisant les
données ou en décrivant leur structure. Cette technique est utile
lorsque vous ne savez pas à quoi doit ressembler le résultat.
• Par exemple, vous fournissez des données client et vous souhaitez
créer des segments de clients qui aiment des produits similaires. Les
données que vous fournissez ne sont pas étiquetées et les étiquettes
dans le résultat sont générées en fonction des similarités détectées
entre des points de donneés
Suptech 27
Apprentissage par renforcement
• L’apprentissage par renforcement utilise des algorithmes qui
apprennent des résultats et décident de l’action à entreprendre
ensuite. Après chaque action, l’algorithme reçoit un retour
d’expérience qui permet de déterminer si le choix effectué est
correct, neutre ou incorrect. C’est une solution parfaitement adaptée
aux systèmes automatisés qui doivent prendre un grand nombre de
petites décisions sans instructions humaines.
• Par exemple, vous concevez une voiture autonome et vous souhaitez
vous assurer qu’elle respecte les réglementations et garantit la
sécurité des passagers. À mesure que la voiture gagne en expérience
et génère un historique de renforcement, elle apprend à rester sur sa
voie, à respecter les limites de vitesse et à freiner pour céder le
passage aux piétons.
Suptech 28
Algorithmes
• Prédire une catégorie cible
• Les algorithmes de classification à deux classes (binaires) divisent
les données en deux catégories. Ils sont utiles pour les questions qui
n’ont que deux réponses possibles qui s’excluent mutuellement,
notamment des questions de type oui/non. Par exemple :
• Une défaillance du pneu pourra-t-elle se produire dans les prochains
1 600 km ? Oui ou non ?
• Qu’est-ce qui attire le plus les clients : un crédit de 10 $ ou une
remise de 15 % ?
Suptech 29
Algorithmes
• Prédire une catégorie cible
• Les algorithmes de classification multiclasse
(multimultinomiale) divisent les données en trois catégories ou
plus. Ils sont utiles pour les questions qui ont au moins trois réponses
possibles qui s’excluent mutuellement. Par exemple :
Pendant quel mois la majorité des voyageurs achètent-ils des billets
d’avion ?
Quelle émotion la personne de cette photo montre-t-elle ?
Suptech 30
Algorithmes
• Prédire des valeurs
Les algorithmes de régression prédisent la valeur d’un nouveau point
de données en fonction de données d’historique. Ils répondent à des
questions telles que :
Combien coûtera un trois pièces dans ma ville l’année prochaine ?
Combien de patients viendront à la clinique mardi ?
Suptech 31
Algorithmes
• Classification
• Les algorithmes de classification utilisent des calculs prédictifs
pour attribuer des données à des catégories prédéfinies. Les
algorithmes de classification sont entraînés sur des données en
entrée, et utilisés pour répondre à des questions dont voici quelques
exemples :
Cet e-mail est-il un spam ?
Quel est le sentiment (positif, négatif ou neutre) d’un texte donné ?
Suptech 32
Algorithmes
• Découvrir des similitudes
• Les algorithmes de clustering divisent les données en plusieurs
groupes en déterminant le niveau de similarité entre des points de
données. Les algorithmes de clustering fonctionnent bien pour des
questions telles que :
Quels spectateurs aiment les mêmes types de films ?
Quels modèles d’imprimante tombent en panne de la même
manière ?
Suptech 33
Comment évaluer les modèles de
machine learning ?
• Il existe plusieurs façons d’évaluer les modèles de machine learning.
Voici quelques exemples :
Suptech 34
La matrice de confusion
• La matrice de confusion est un outil qui permet de savoir à quel point
le modèle de machine learning est « confus », ou qu’il se trompe. Il
s’agit d’un tableau avec en colonne les différents cas réels et en ligne
les différents cas d’usage prédits.
• En Machine Learning, pour afficher le résultat d’un modèle de
prédiction à deux possibilités (comme l’exemple que l’on vient de
voir) on utilise une matrice de confusion.
Suptech 35
La matrice de confusion
La matrice de confusion est en fait un tableau dans lequel on
affiche le nombre de prédictions selon chaque possibilité
Prenons l’exemple d’un test médical, la matrice sera la suivante :
Suptech 36
La matrice de confusion
On obtient donc les quatre valeurs suivantes :
• Vrai positif (VP), les valeurs réelles et prédites sont identiques et
positives. Le patient est malade et le modèle le prédit.
• Vrai négatif (VN), les valeurs réelles et prédites sont identiques et
négatives. Le patient n’est pas malade et le modèle prédit qui ne l’est
pas.
• Faux positif (FP), les valeurs réelles et prédites sont différentes. Le
patient n’est pas malade, mais le modèle prédit qui l’est.
• Faux négatif (FN), les valeurs réelles et prédites sont différentes. Le
patient est malade, et le modèle prédit qui l’est.
• L’étude de ces valeurs prédictives permet de définir si le modèle de
machine learning est fiable, dans quels cas il commet des erreurs et
dans quelle mesure
Suptech 37
L’accuracy
• L’accuracy est une métrique pour évaluer la performance des
modèles de classification à 2 classes ou plus. L’accuracy peut être
traduite par “précision” en français mais on risque alors de la
confondre avec la métrique Precision
• Comme les autres métriques, l’accuracy est basée sur la matrice de
confusion. Pour rappel, la matrice de confusion est composée de 4
valeurs :
Suptech 38
Métriques de Modèle
• Les métriques qui nous permettront de mieux analyser les
performances de notre modèle de Machine Learning sont :
Accuracy
FI
Recall
Précision
Suptech 39
Recall
• Le recall permet de savoir le pourcentage de positifs bien prédit
par notre modèle.
• En d’autres termes c’est le nombre de positifs bien prédit (Vrai
Positif) divisé par l’ensemble des positifs (Vrai Positif + Faux
Négatif).
• Sous forme mathématique, on a :
• Mais quel est l’intérêt du recall ?
• Plus il est élevé, plus le modèle de Machine Learning maximise le
nombre de Vrai Positif.
• Mais attention, cela ne veut pas dire que le modèle ne se trompe
pas.
• Quand le recall est haut, cela veut plutôt dire qu’il ne ratera aucun
positif. Néanmoins cela ne donne aucune information sur sa qualité
de prédiction sur les négatifs.
Suptech 40
Precision
• La precision est assez similaire au recall, il faut donc bien
comprendre leur différence.
• Elle permet de connaître le nombre de prédictions positifs bien
effectuées.
• En d’autres termes c’est le nombre de positifs bien prédit (Vrai
Positif) divisé par l’ensemble des positifs prédit (Vrai Positif +
Faux Positif).
• Cela nous donne sous forme mathématique :
• Qu’est ce que nous apporte la précision ?
• Plus elle est élevé, plus le modèle de Machine Learning minimise le
nombre de Faux Positif.
• Quand la précision est haute, cela veut dire que la majorité des
prédictions positives du modèle sont des positifs bien prédit.
Suptech 41
F1 Score
• Bien qu’ils soient utiles, ni la précision ni le recall ne
permettent d’évaluer entièrement un modèle de Machine
Learning.
• Séparément c’est deux métrique sont inutiles :
• si le modèle prédit uniquement « positif », le recall sera élevé
• au contraire, si le modèle ne prédit jamais « positif », la precision
sera élevée
• On aura donc des métriques indiquant que notre modèle
est efficace alors qu’il sera au contraire – naïf. En d’autres termes, le
haut score présenté n’indiquera pas une réelle performance.
• Heureusement pour nous, une métrique permettant de combiner la
precision et le recall existe : le F1 Score.
Suptech 42
F1 score
• Le F1 Score permet d’obtenir une évaluation relativement correct de la
performance de notre modèle.
• Il se calcule ainsi :
• Le F1 Score ressemble à une moyenne du recall et de la precision
mais en plus complexe.
• Pourquoi, dans ce cas, ne pas remplacer le F1 Score par une
moyenne de ces deux métriques ?
• La raison vient du faire que, en statistique, le calcul sur les
pourcentages n’est pas exactement le même que sur les nombres
entiers.
• Ici le F1 Score est ce qu’on appelle la moyenne harmonique. C’est
une « moyenne » adaptée aux calculs de taux/pourcentage (ici le
recall et la precision).
• Le F1 Score est donc utilisé dans notre contexte.
• Plus le F1 Score est élevé, plus le modèle est performant.
Suptech 43
Exemple
• Nous sommes en face d’un tunnel et nous devons prédire si c’est
une voiture (Positif) ou une moto (Négatif) qui en sortira.
• le recall, c’est le nombre de voiture que notre modèle a prédit, et qui
se sont avérés être effectivement des voitures, divisé par l’ensemble
des voitures qui ont traversé le tunnel.
• La précision, c’est aussi le nombre de voiture que notre modèle a
prédit, et qui se sont avérés être effectivement des voitures, mais ici,
divisé par le nombre total de voiture que notre modèle a prédit, et qui
se sont avérés être vrai (voiture) ou fausse (moto).
• En fait avec le recall, on regarde le nombre de positif que le modèle
a bien prédit sur l’ensemble des positifs.
• Alors qu’avec la précision, on regarde le nombre de positif que le
modèle a bien prédit sur l’ensemble des positifs prédit.
Suptech 44
A retenir
• Plus le recall est haut, plus le modèle repère de positif
• Plus la précision est haute, moins le modèle se trompe sur les
positifs
Suptech 45
Machine learning dans Microsoft
Azure
• Microsoft Azure fournit le service Azure Machine Learning, qui est
une plateforme cloud permettant de créer, gérer et publier des
modèles Machine Learning. Azure Machine Learning offre les
fonctionnalités suivantes :
Suptech 46
Machine learning dans Microsoft
Azure
Fonctionnalité Utilité
Machine learning automatisé Cette fonctionnalité permet aux non-
experts de créer rapidement un modèle
Machine Learning efficace à partir de
données.
Concepteur Azure Machine Learning Interface graphique permettant le
développement sans code de solutions
Machine Learning.
Gestion des données et des calculs Stockage de données dans le cloud et
ressources de calcul que les scientifiques
des données professionnels peuvent
utiliser pour exécuter du code
d’expérimentation de données à grande
échelle.
Pipelines Les scientifiques des données, les
ingénieurs logiciels et les professionnels
des opérations informatiques peuvent
définir des pipelines pour orchestrer les
tâches d’entraînement, de déploiement et
de gestion des modèles.
Suptech 47
Pipeline
• Un pipeline Azure Machine Learning est un workflow exécutable
indépendamment d’une tâche Machine Learning complète. Un
pipeline Azure Machine Learning aide à normaliser les meilleures
pratiques de production d’un modèle Machine Learning, permet à
l’équipe d’opérer à grande échelle et améliore l’efficacité de création
de modèle.
• Pourquoi des pipelines Azure Machine Learning sont-ils
nécessaires ?
• Le cœur d’un pipeline d’apprentissage automatique consiste à
fractionner une tâche d’apprentissage automatique en un flux de
travail de plusieurs étapes. Chaque étape est un composant gérable
qui peut être développé, optimisé, configuré et automatisé
individuellement
Suptech 48
Pipeline
• Pourquoi des pipelines Azure Machine Learning sont-ils
nécessaires ?
• Le cœur d’un pipeline d’apprentissage automatique consiste à
fractionner une tâche d’apprentissage automatique en un flux de
travail de plusieurs étapes. Chaque étape est un composant gérable
qui peut être développé, optimisé, configuré et automatisé
individuellement
Suptech 49
Pipeline
Le pipeline gère deux étapes :
• Préparation des données
• Entraînement et inscription du modèle
• Entraîné L’image suivante présente
• un pipeline simple tel qu’il apparaîtra
• Dans le studio Azure une fois soumis.
• Les deux étapes sont la préparation
• des données puis l’entraînement.
Suptech 50
Pipeline
Suptech 51