Programmation Python pour Intelligence Artificielle
Apprentissage Automatique
Année universitaire: 2024/2025
1
Qu’est-ce que l’intelligence artificielle ?
Définition:
L’intelligence artificielle (IA) est un domaine des sciences informatiques et
mathématiques qui regroupe un ensemble de méthodes et de théories visant à créer
des machines capables d’imiter certaines formes d’intelligence humaine.
L’objectif principal est de permettre à ces systèmes de résoudre des problèmes
complexes, à l’image de la pensée humaine.
Pourquoi parle-t-on d’intelligence ?
Parce que l’IA permet à des ordinateurs ou à des robots de prendre des décisions
intelligentes : par exemple, reconnaître une voix, comprendre un texte, ou conduire une
voiture. 2
L’intelligence artificielle touche de nombreux champs : probabilités,
neurosciences, robotique, théorie des jeux, médecine, transports, et bien
d'autres encore.
Le domaine de l’intelligence artificielle se compose de plusieurs sous-domaines
imbriqués.
3
L’apprentissage automatique (ou Machine Learning) est un sous-domaine de
l’intelligence artificielle consistant à extraire automatiquement des règles à partir
de données ou d’expériences pour résoudre un problème donné.
Les réseaux de neurones sont l’un des modèles les plus connus et les plus utilisés.
L’apprentissage profond (Deep Learning) est une branche du Machine Learning
basée sur des réseaux de neurones complexes (profonds).
4
Introduction au Machine Learning:
Définition générale:
Le Machine Learning (ML), ou apprentissage automatique, est une sous-
discipline de l'intelligence artificielle (IA) qui se concentre sur la conception et le
développement d’algorithmes capables d’apprendre à partir de données. Plutôt
que d’être explicitement programmés pour effectuer une tâche, les systèmes de
ML apprennent à partir de l’expérience (les données) pour faire des prédictions
ou prendre des décisions.
5
Objectif
L'objectif principal du ML est de modéliser automatiquement des
comportements ou des relations complexes dans les données, dans le but de :
-Prédire des résultats futurs (ex : prix d’un appartement),
-Classifier des objets ou événements (ex : reconnaître des visages ou des emails
spam),
-Trouver des structures cachées (ex : regroupement de clients en marketing),
-Automatiser des tâches complexes (ex : conduite autonome, traduction
automatique).
6
Mais comment apprendre ?
Pour donner à un ordinateur la capacité d’apprendre, on utilise des
méthodes d’apprentissage qui sont fortement inspirées de la façon dont
nous, les êtres humains, apprenons à faire des choses.
Parmi ces méthodes, on compte :
• L’apprentissage supervisé (Supervised Learning)
• L’apprentissage non supervisé (Unsupervised Learning)
• L’apprentissage par renforcement (Reinforcement Learning)
7
L’Apprentissage Supervisé
Pour maîtriser l’apprentissage supervisé, il faut absolument comprendre et
connaitre les 4 notions suivantes :
• Le Dataset
• Le Modèle et ses paramètres
• La Fonction Coût
• L’Algorithme d’apprentissage
8
Notion 1 : Le Dataset
On parle d’apprentissage supervisé lorsque l’on fournit à une machine
beaucoup d’exemples (𝒙, 𝒚) dans le but de lui faire apprendre la relation qui
relie 𝒙 à 𝒚.
En Machine Learning, on compile ces exemples (𝒙,𝒚) dans un tableau que
l’on appelle Dataset :
• La variable 𝒚 porte le nom de target (la cible). C’est la valeur que l’on
cherche à prédire.
• La variable 𝒙 porte le nom de feature (facteur). Un facteur influence la
valeur de 𝒚, et on a en général beaucoup de features (𝒙𝟏,𝒙𝟐,…) dans notre
Dataset que l’on regroupe dans une matrice 𝑿.
9
Exemple: Le Dataset
Ce Dataset regroupe des exemples d’appartements avec leur prix 𝒚 ainsi que
certaines de leurs caractéristiques (features).
10
Notion 2 : Le Modèle et ses paramètres
En Machine Learning, on développe un modèle à partir du Dataset. Il peut
s’agir d’un modèle linéaire, ou bien un modèle non-linéaire.
On définit 𝒂,𝒃,𝒄, etc. comme étant les paramètres d’un modèle. 11
Notion 3 : La Fonction Coût
Lorsqu’on teste notre modèle sur le Dataset, celui-ci nous donne des
erreurs. L’ensemble de ces erreurs, c’est Fonction Coût.
12
Notion 4 : L’Algorithme d’apprentissage
L’objectif central du Machine Learning, c’est de trouver les paramètres du
modèle qui minimisent la Fonction Coût. Pour cela, on utilise un algorithme
d’apprentissage.
L’exemple le plus courant étant l’algorithme de Gradient Descent.
13
Les applications du Machine Learning
Avec le Machnie Learning on peut développer des modèles pour résoudre 2
types de problèmes :
• Les problèmes de Régression
• Les problèmes de Classification
14
La Régression Linéaire
15
Apprenez votre premier modèle linéaire
Voici la recette à suivre pour réaliser votre premier modèle de Machine Learning.
1. Récolter vos données
Imaginez que plusieurs agences immobilières vous aient fourni des données sur des
appartements à vendre, notamment le prix de l’appartement (𝒚) et la surface habitable
(𝒙). En Machine Learning, on dit que vous disposez de 𝒎 exemples d’appartements.
On désigne :
𝒙(𝒊) la surface habitable de l’exemple 𝒊
𝒚(𝒊) le prix de l’exemple 𝒊
16
En visualisant votre Dataset, vous obtenez le nuage de points suivant :
17
2. Créer un modèle linéaire
A partir de ces données, on développe un modèle linéaire 𝒇(𝒙)=𝒂𝒙+𝒃
où 𝒂 et 𝒃 sont les paramètres du modèle.
Un bon modèle donne de petites erreurs entre ses prédictions 𝒇(𝒙) et les exemples (𝒚) du
Dataset.
Nous ne connaissons pas les valeurs des paramètres 𝒂 et 𝒃, ce sera le
rôle de la machine de les trouver 18
3. Définir La Fonction Coût
Pour la régression linéaire, on utilise la norme euclidienne pour mesurer les erreurs entre
𝒇(𝒙) et (𝒚).
Concrètement, la formule pour exprimer l’erreur 𝑖 entre le prix 𝒚(𝒊) et la prédiction faites en
utilisant la surface 𝒙(𝒊) : 𝑒𝑟𝑟𝑒𝑢𝑟(𝑖)= ( 𝑓(𝑥(𝑖)) − 𝑦(𝑖) )2
Chaque prédiction s’accompagne d’une erreur, on a donc 𝒎 erreurs.
On définit la Fonction Coût 𝑱(𝒂,𝒃) comme étant la moyenne de toutes les erreurs :
Note : En français, cette fonction a un nom : c’est l’erreur quadratique moyenne (Mean
Squared Error)
19
20
4. Trouver les paramètres qui minimisent la Fonction Coût
La prochaine étape est l’étape la plus excitante, il s’agit de laisser la machine
apprendre quels sont les paramètres qui minimisent la Fonction Coût, c’est-à-
dire les paramètres qui nous donnent le meilleur modèle.
Pour trouver le minimum, on utilise un algorithme d’optimisation qui s’appelle
Gradient Descent (la descente de gradient).
Cet algorithme vous permet de trouver le minimum de la Fonction Coût 𝑱(𝒂,
𝒃) (le point le plus bas de la courbe) en partant de coordonnées 𝒂 et 𝒃
aléatoires :
21
22
Apprentissage supervisé
Classification
23
Apprentissage supervisé : Classification
La classification est une méthode d'apprentissage automatique supervisée
dans laquelle le modèle tente de prédire l'étiquette correcte d'une
donnée d'entrée.
Dans les modèles de classification, la valeur de sortie est discrète. Ceci
implique que le modèle est entrainé de telle manière à restituer une valeur de
sortie discrète (y) pour une valeur d’entrée (x). Cette valeur de sortie
correspond donc à une classe ou une étiquette, reflétant le terme de «
classification ».
24
Apprentissage supervisé : Classification
• Types de classification :
• Classification binaire:
• Exemple prédire si une transaction bancaire est frauduleuse ou non
• Classification multi classes :
• Exemple Prédire la classe d'appartenance d'un animal (Chien, Chat,
Cheval)
• Classification multi-label :
• Exemple : Prédire la liste des objets qui se trouvent dans une photo
ou un texte. 25
Apprentissage supervisé : Classification
Algorithmes de classification :
Il existe plusieurs algorithmes populaires et puissants de classification par
exemples :
• Régression logistique.
• KNN (K-Nearest Neighbors) : K Voisins les plus proches
• Arbres de décision.
• Réseaux neuronaux artificiels.
26
Apprentissage supervisé : Régression Logistique
• La régression logistique est un algorithme d'apprentissage supervisé utilisé
pour les problèmes de classification binaire, c'est-à-dire lorsque la variable
dépendante est catégorielle binaire
• Dans la régression logistique, nous utilisons la fonction sigmoïde
pour calculer la probabilité de la variable dépendante.
• Exemples :
• Prédire si un email est spam ou non
• Prédire si un patient est malade ou non
• Prédire si une transaction bancaire est frauduleuse ou pas
27
Exemple d’un modèle de classification binaire
28
On développe alors une nouvelle fonction pour les problèmes de
classification binaire, c’est la fonction logistique (aussi appelé fonction
sigmoïde ou tout simplement sigma 𝝈). Cette fonction a la particularité
d’être toujours comprise en 0 et 1.
29
A partir de cette fonction, il est possible de définir une frontière de
décision. Typiquement, on définit un seuil à 0.5 comme ceci :
𝒚 =𝟎 𝒔𝒊 f(x) < 𝟎.𝟓
𝒚 =𝟏 𝒔𝒊 f(x) ≥ 𝟎.𝟓
30
Apprentissage supervisé : Classification (Evaluation)
• Matrice de confusion:
• La matrice de confusion est utilisée pour mesurer et évaluer les performances d'un
algorithme de classification.
• Dans le cas d’une classification binaire, la matrice de confusion sera une matrice de 2 par
2, avec quatre valeurs, comme dans la photo suivante :
Actual Values
Positive (1) Negative (0)
Positive (1) (TP) (FP) Matrice de confusion :
Predicted
Negative (0) (TN)
(FN)
True Positive (TP) : la prédiction et la valeur réelle sont positives.
True Negative (TN) : la prédiction et la valeur réelle sont négatives.
False Positive (FP) : la prédiction est positive alors que la valeur réelle est négative.
False Negative (FN) : la prédiction est négative alors que la valeur réelle est négative. 31
Apprentissage supervisé : Classification (Evaluation)
Mesures de classification:
Une fois que la matrice de confusion a été établit, elle peut être utilisée pour des mesures plus approfondies
afin d’obtenir une meilleure évaluation de la qualité du modèle. Parmi les mesures de classification, on trouve
la accuracy, la précision, le rappel et le score F1.
a. Accuracy
La accuracy correspond au nombre de prédictions correctes faites par le modèle. Elle représente le ratio entre
le nombre de prédictions correctes et le nombre total de prédiction. Ceci peut être calculé en utilisant les
valeurs de la matrice de confusion et en utilisant la formule suivante :
Accuracy = (TP + TN) / (TP + FP + FN + TN)
Ce tte mesure est utilisée lorsque le nombre de True Positive et de True Negative sont les plus important.
32
b. Précision (ou Precision)
La précision correspond au nombre d’éléments corrects rendus par le modèle. En d’autres termes, cela
correspond au ratio entre le nombre de classifications positives correctes et le nombre total de prédiction
positives. Elle peut être calculée avec la formule suivante :
Precision = TP / (TP + FP)
Cette mesure est utilisée lorsque le nombre de False Positive est le plus élevé.
c. Rappel (ou Recall)
Le rappel détermine la proportion des valeurs positives qui ont été prédites avec précision. Cette mesure
correspond donc au ratio entre le nombre de prédictions positives correctes et le nombre total de
classifications de classe positive. On peut utiliser la formule suivante :
Recall = TP / (TP + FN)
On utilise cette mesure lorsque le nombre de False Negative est le plus important.
33
d. Score F1 (ou F1 score)
Le score F1 correspond à une combinaison des mesures de rappel et de précision. Cette mesure est utilisée
lorsqu’une distinction claire ne peut pas être faite entre ces deux mesures ou lorsque les False Negative et
False Positive sont les plus important.
f1score = 2*precision*recall / (precision + recall)
34