Académique Documents
Professionnel Documents
Culture Documents
11/03/2020 1
11/03/2020 2
Plan
1. Introduction générale et Agents Intelligents
2. Logique du premier ordre
3. Machine Learning : Pré-traitement des données
4. Machine Learning : Supervised vs Unsupervised
5. Machine Learning : Construire un bon modèle
6. Machine Learning : Raisonnement probabiliste et réseaux bayésiens
7. Machine Learning: Algorithmes d’apprentissage automatique
8. Machine Learning: Apprentissage par renforcement, vision par ordinateur,
NLP, Deep Learning
11/03/2020 3
Plan
1. Introduction générale et Agents Intelligents
2. Logique du premier ordre
3. Machine Learning : Pré-traitement des données
4. Machine Learning : Supervised vs Unsupervised
5. Machine Learning : Construire un bon modèle
6. Machine Learning : Raisonnement probabiliste et réseaux bayésiens
7. Machine Learning: Algorithmes d’apprentissage automatique
8. Machine Learning: Apprentissage par renforcement, vision par ordinateur,
NLP, Deep Learning
11/03/2020 4
Machine Learning :
Algorithmes d’apprentissage automatique
11/03/2020 5
Arbres de décision
11/03/2020 6
Arbre de décision
• A set of training examples is broken down into smaller and smaller subsets
while at the same time an associated decision tree is incrementally developed.
• At the end of the learning process, a decision tree covering the training set is
returned. [Mitchell, 1997]
Arbre de décision
L'arbre de décision construit des modèles de classification ou de régression en
forme d'une structure d'arbre.
Arbre de décision
• Le résultat final est un arbre avec deux sortes de noeuds "Decision nodes"
et "Leaf nodes":
Decision node (ex., Outlook) peut avoir deux branches ou plus (ex. Sunny, Overcast et
Rainy)
Leaf node (ex., Play) représente une classification ou une décision
Arbre de décision
11/03/2020 10
Arbre de décision
L'arbre de décision construit des modèles de classification ou de régression en
forme d'une structure d'arbre.
Le résultat final est un arbre avec deux sortes de noeuds "Decision nodes" et "Leaf
nodes":
Decision node (ex., Outlook) peut avoir deux branches ou plus (ex. Sunny, Overcast et Rainy)
Leaf node (ex., Play) représente une classification ou une décision
Le nœud de décision le plus haut dans un arbre correspond au meilleur prédicteur et
est appelé "Root node"
Arbre de décision
11/03/2020 12
Cette source peut être un texte écrit dans une langue donnée, un signal
électrique ou encore un fichier informatique quelconque (collection d'octets).
11/03/2020 14
Ainsi, si une source est réputée envoyer toujours le même symbole, par
exemple la lettre 'a', alors son entropie est nulle, c'est-à-dire minimale.
Par contre, si la source est réputée envoyer un 'a' la moitié du temps et un 'b'
l'autre moitié, le récepteur est incertain de la prochaine lettre à recevoir. L'entropie
de la source dans ce cas est donc non nulle (positive) et représente
quantitativement l'incertitude qui règne sur l'information émanant de la source.
11/03/2020 15
Rappel: Logarithme
• Le logarithme de base b d'un nombre réel strictement positif est
la puissance à laquelle il faut élever la base b pour obtenir ce nombre.
• Par exemple, le logarithme décimale:
Pour 𝑥 > 0, si 𝑦 = 𝑙𝑜𝑔10 (𝑥) alors 𝑥 = 10𝑦
• Le logarithme décimale s’écrit aussi comme « Log(x) ».
Astuce de calcule:
Pour calculer le logarithme binaire (𝑙𝑜𝑔2 (x)) à l’aide de la calculatrice:
𝑙𝑜𝑔10 x
𝑙𝑜𝑔2 x =
𝑙𝑜𝑔10 2
11/03/2020 18
Root Node
• On choisit l'attribut avec le plus grand gain d'information en tant que « Root
Node »
11/03/2020 26
Règle 2
• Une branche avec entropie égal à 0 est un nœud «Leaf Node». Par exemple (
Outlook= Overcast)
11/03/2020 28
Règle 3
• Une branche avec une entropie supérieure à 0 nécessite une division
supplémentaire. Par exemple (Outlook=Sunny)
11/03/2020 29
Règle 3
• Une branche avec une entropie supérieure à 0 nécessite une division
supplémentaire. Par exemple (Outlook=Sunny)
11/03/2020 30
Règle 3
• Une branche avec une entropie supérieure à 0 nécessite une division
supplémentaire. Par exemple (Outlook=Sunny)
11/03/2020 31
Règle 4
• L'algorithme ID3 est exécuté récursivement sur les branches « non-leaf »,
jusqu'à ce que toutes les données soient classées.
11/03/2020 32
Comparaison du SDR
• On calcule le SDR de la même façon pour chaque prédicteur
11/03/2020 43
Règle 2
• Une branche avec un écart-type supérieur à 0 doit être divisée davantage.
11/03/2020 48
Règle 2
• En pratique, nous avons besoin d'un critère d'arrêt. Par exemple, lorsque l'écart-type
pour la branche devient inférieur à une certaine fraction (par exemple, 5%) d'écart
type de la dataset complet OU lorsqu'il reste trop peu d'instances dans la branche
(par exemple, 3)
11/03/2020 49
Règle 3
• Le processus est exécuté récursivement sur les branches « non-leaf », jusqu'à ce que toutes
les données sont traitées.
• Lorsque le nombre d'instances est supérieur à 1 sur un nœud «Leaf Node», on calcule la
moyenne comme valeur finale pour la cible.
11/03/2020 51
Random Forest
Les arbres de décisions sont très prônes à
l’Overfitting (bonne performance sur les
données d’entrainement mais pas sur le test)
K-nearest Neighbors
11/03/2020 54
K-nearest Neighbors
• L’algorithme K-nearest Neighbors (ou K-plus-proche voisins en français)
est un algorithme simple qui stocke tous les cas disponibles et classe les
nouveaux cas en fonction d'une mesure de similarité (par exemple, une
fonction de distance)
• Une nouvelle instance est classée par un vote majoritaire de ses voisins. Ainsi
l'instance est classifiée (labélisée) comme appartenant à la classe la plus
commune parmi ses K plus proches voisins et ces derniers sont mesurés en
utilisant une fonction de distance.
• La distance Euclidienne:
• La distance de Minkowski:
• La distance de Hamming:
11/03/2020 57
Pour K= 1 on a:
D = Sqrt[(48-33)^2 + (142000-150000)^2] = 8000.01
La réponse est Default=Y
11/03/2020 64
Pour K=3 on :
Sur les trois plus proches voisins on a deux voisins étiquetés par Default = Y et un voisin qui est
classé comme Default = N. La prédiction pour la nouvelle instance est donc Default = Y
11/03/2020 65
Distance normalisée
• Un inconvénient majeur dans le calcul des mesures de distance directement
à partir du training set est dans le cas où les variables ont différentes
échelles de mesure ou dans le cas où on a un mélange de variables
numériques et catégoriques.
Distance normalisée
En utilisant la distance normalisée sur la même dataset de l'exemple, la nouvelle instance a
renvoyé un voisin différent ce qui n'est pas un bon signe de robustesse.
11/03/2020 67
Algorithme d’apprentissage:
Par Clustering / Cas du non-supervisé
11/03/2020 71
K-means
11/03/2020 72
Clustering
11/03/2020 73
K-means clustering
• K-means a l'intention de partitionner n points en k clusters dans lesquels chaque
point appartient au cluster qui a la moyenne la plus proche. Cette méthode produit
exactement k clusters différents et distincts les uns des autres.
• Le meilleur nombre de clusters k qui donnerait la meilleure séparation(distance) n'est
pas connu a priori et doit être calculé à partir des données. L'objectif de K-Means est
de minimiser la variance totale intra-cluster, ou bien la fonction d'erreur quadratique:
11/03/2020 74
K-means: comment?!
1. Regroupe les données en k groups avec k
qui est prédéfini.
2. Sélectionne k points au hasard comme
centres de cluster.
3. Attribue les données d'entrainement au
centre du cluster le plus proche en utilisant
la distance euclidienne.
4. Calcule le centroïd ou la moyenne de
toutes les instances de chaque groupe.
5. Répète les étapes 3 et 4 jusqu'à ce que les
mêmes points soient attribués au même
groupe à tours consécutifs.
11/03/2020 75
K-means
• K-Means est une méthode relativement efficace.
• Cependant, nous devons d'abord spécifier le nombre de clusters et les
résultats à la fin sont sensibles à l'initialisation et se terminent souvent à un
optimum local.
• Malheureusement, il n'existe pas de méthode théorique globale pour trouver
le nombre optimal de clusters K.
• Une approche pratique consiste à comparer les résultats de plusieurs
passages avec des K différents et à choisir le meilleur en fonction d'un critère
prédéfini.
• En général, un grand K diminue probablement l'erreur mais augmente le
risque d'overfitting.
11/03/2020 76
K-means: (exemple)
Supposons qu'on souhaite regrouper les visiteurs d'un site Web en utilisant
seulement leur âge (un espace unidimensionnel) comme suit:
15,15,16,19,19,20,20,21,22,28,35,40,41,42,43,44,60,61,65
11/03/2020 77
K-means: (exemple)
Supposons qu'on souhaite regrouper les visiteurs d'un site Web en utilisant seulement leur âge
(un espace unidimensionnel) comme suit:
15,15,16,19,19,20,20,21,22,28,35,40,41,42,43,44,60,61,65
On choisit K=2
Les clusters initiaux:
• Centroid (C1) = 16 [16]
• Centroid (C2) = 22 [22]
11/03/2020 78
K-means: (exemple)
Supposons qu'on souhaite regrouper les visiteurs d'un site Web en utilisant seulement leur âge (un
espace unidimensionnel) comme suit:
15,15,15.33,16,19,19,20,20,21,22,28,35,36.25,40,41,42,43,44,60,61,65
On choisit K=2
Les clusters initiaux:
• Centroid (C1) = 16 [16]
• Centroid (C2) = 22 [22]
Itération 1:
• C1 = 15.33 [15,15,16]
• C2 = 36.25 [19,19,20,20,21,22,28,35,40,41,42,43,44,60,61,65]
11/03/2020 79
K-means: (exemple)
Supposons qu'on souhaite regrouper les visiteurs d'un site Web en utilisant seulement leur âge (un
espace unidimensionnel) comme suit:
15,15,15.33,16,19,19,20,20,21,22,28,35,36.25,40,41,42,43,44,60,61,65
On choisit K=2
Les clusters initiaux:
• Centroid (C1) = 16 [16]
• Centroid (C2) = 22 [22]
Itération 1:
• C1 = 15.33 [15,15,16]
• C2 = 36.25 [19,19,20,20,21,22,28,35,40,41,42,43,44,60,61,65]
11/03/2020 80
K-means: (exemple)
Supposons qu'on souhaite regrouper les visiteurs d'un site Web en utilisant seulement leur âge (un espace
unidimensionnel) comme suit:
15,15,16,18.56,19,19,20,20,21,22,28,35,40,41,42,43,44,45.90,60,61,65
On choisit K=2
Les clusters initiaux:
• Centroid (C1) = 16 [16]
• Centroid (C2) = 22 [22]
Itération 1:
• C1 = 15.33 [15,15,16]
• C2 = 36.25 [19,19,20,20,21,22,28,35,40,41,42,43,44,60,61,65]
Itération 2:
• C1 = 18.56 [15,15,16,19,19,20,20,21,22]
• C2 = 45.90 [28,35,40,41,42,43,44,60,61,65]
11/03/2020 81
K-means: (exemple)
Supposons qu'on souhaite regrouper les visiteurs d'un site Web en utilisant seulement leur âge (un espace
unidimensionnel) comme suit:
15,15,16,19,19,19.50,20,20,21,22,28,35,40,41,42,43,44,47.89,60,61,65
On choisit K=2
Itération 1:
• C1 = 15.33 [15,15,16]
• C2 = 36.25 [19,19,20,20,21,22,28,35,40,41,42,43,44,60,61,65]
Itération 2:
• C1 = 18.56 [15,15,16,19,19,20,20,21,22]
• C2 = 45.90 [28,35,40,41,42,43,44,60,61,65]
Itération 3:
• C1 = 19.50 [15,15,16,19,19,20,20,21,22,28]
• C2 = 47.89 [35,40,41,42,43,44,60,61,65]
11/03/2020 82
K-means: (exemple)
Supposons qu'on souhaite regrouper les visiteurs d'un site Web en utilisant seulement leur âge (un espace
unidimensionnel) comme suit:
15,15,16,19,19,19.50,20,20,21,22,28,35,40,41,42,43,44,47.89,60,61,65
On choisit K=2
Itération 2:
• C1 = 18.56 [15,15,16,19,19,20,20,21,22]
• C2 = 45.90 [28,35,40,41,42,43,44,60,61,65]
Itération 3:
• C1 = 19.50 [15,15,16,19,19,20,20,21,22,28]
• C2 = 47.89 [35,40,41,42,43,44,60,61,65]
Itération 4:
• C1 = 19.50 [15,15,16,19,19,20,20,21,22,28]
• C2 = 47.89 [35,40,41,42,43,44,60,61,65]
11/03/2020 83
K-means: (exemple)
Supposons qu'on souhaite regrouper les visiteurs d'un site Web en utilisant seulement leur âge (un
espace unidimensionnel) comme suit:
15,15,16,19,19,19.50,20,20,21,22,28,35,40,41,42,43,44,47.89,60,61,65
Conclusion
• Aucun changement entre les itérations 3 et 4 n'a été noté.
• En utilisant k-means clustering, 2 groupes ont été identifiés 15-28 et 35-65.
• Le choix initial des centroïds peut affecter les clusters de sortie, c'est pourquoi
l'algorithme est souvent exécuté plusieurs fois avec des conditions de départ
différentes afin d'avoir une vision juste de ce que les clusters devraient être.
11/03/2020 84
Apprentissage automatique
11/03/2020 85
Algorithmes d’apprentissage