Les concepts de bases des modèles d’apprentissage machine#
Pourquoi apprendre?#
L’idée de Turing et la métaphore de l’enfant.
La complexité des règles
L’ignorance des règles
L’inexistance des règles? Est-ce qu’il y a toujours des règles?
Types d’aprentissage#
supervisé
non supervisé
apprentissage par renforcement
Supervisé#
On a un jeu de données d’apprentissage de N couple de input-output:
et chaque couple est produit par une fonction inconnue
L’objectif est de trouver une foction h qui se rapproche le plus possible de f.
Normalement on a:
un jeu d’aprentissage - des données annotées - ce qu’on appelle la vérité de terrain.
un jeu de test - des données annotées qu’on n’utilise pas pour l’aprentissage, mais qui serviront à évaluer l’aprentissage
Non supervisé#
L’algorithme apprend en regardant des données non annotées. Un exemple est celui du clustering.
Exemple
Un algorithme d’apprentissage non supervisé peut être utilisé pour regrouper des articles en différents groupes thématiques, même s’il n’a aucune connaissance préalable des sujets traités.
Par exemple, il pourrait regrouper tous les articles sur la finance ensemble, tous les articles sur le sport ensemble, et ainsi de suite.
L’algorithme identifie les similitudes entre les documents en analysant les mots et les expressions utilisés, puis regroupe les documents similaires.
L’utilisateur n’a pas besoin de fournir d’exemples étiquetés au préalable. L’algorithme apprend de manière autonome à partir des données non structurées.
Par renforcement#
L’algorithme apprend sur la base des récompenses ou punitions qu’on lui donne à la fin du processus.
D’où viennent les règles?#
Sans théorie?
Le choix des données
Exemple
Choisir les données
ID Patient |
Âge |
Sexe |
Tabagisme (paquets-ans) |
Antécédents familiaux (oui/non) |
Exposition professionnelle (oui/non) |
Indice de masse corporelle (IMC) |
Niveau de pollution (indice) |
Symptômes (oui/non) |
|---|---|---|---|---|---|---|---|---|
1 |
65 |
M |
40 |
oui |
oui |
25 |
7 |
oui |
2 |
54 |
F |
10 |
non |
non |
30 |
5 |
non |
3 |
72 |
M |
60 |
oui |
oui |
22 |
8 |
oui |
4 |
45 |
F |
0 |
non |
non |
28 |
6 |
non |
5 |
58 |
M |
20 |
oui |
oui |
27 |
9 |
oui |
6 |
66 |
F |
15 |
non |
oui |
26 |
7 |
non |
7 |
50 |
M |
30 |
oui |
non |
29 |
4 |
oui |
8 |
62 |
F |
5 |
non |
oui |
24 |
6 |
non |
9 |
70 |
M |
45 |
oui |
oui |
23 |
8 |
oui |
10 |
40 |
F |
2 |
non |
non |
31 |
5 |
non |
Cet exemple propose des valeurs dont on sait qu’elles sont significatives par rapport au cancer.
Une autre approche est de prendre le plus de valeurs possibles et de faire trouver à l’algorithme des patterns qu’on ne connaît pas forcement.
ID Patient |
Âge |
Sexe |
Nombre de livres lus par an |
Pratique de méditation (heures/semaine) |
Temps passé sur les réseaux sociaux (heures/jour) |
Fréquence de voyage (fois/an) |
Couleur préférée |
Utilisation de café (tasses/jour) |
Animal de compagnie (oui/non) |
|---|---|---|---|---|---|---|---|---|---|
1 |
65 |
M |
10 |
2 |
3 |
1 |
bleu |
2 |
oui |
2 |
54 |
F |
5 |
0 |
4 |
3 |
rouge |
1 |
non |
3 |
72 |
M |
20 |
1 |
1 |
2 |
vert |
0 |
oui |
4 |
45 |
F |
15 |
3 |
2 |
0 |
jaune |
3 |
non |
5 |
58 |
M |
3 |
0 |
5 |
1 |
violet |
4 |
oui |
6 |
66 |
F |
8 |
2 |
1 |
4 |
orange |
1 |
non |
7 |
50 |
M |
12 |
1 |
2 |
2 |
bleu |
0 |
oui |
8 |
62 |
F |
0 |
3 |
3 |
5 |
vert |
2 |
non |
9 |
70 |
M |
7 |
1 |
4 |
1 |
rouge |
5 |
oui |
10 |
40 |
F |
18 |
0 |
0 |
2 |
jaune |
1 |
non |
Un monde inconnu#
La plupart du temps nous avons à faire à des situations pour lesquelles nous n’avons pas de certitude.
Pourquoi mon ordinateur ne s’allume pas?
Est-il préférable de se laver les dents avant ou après le petit-déjeunner?
Est-ce que le mal de tête recurrent que j’ai est signe d’un cancer au cerveau?
Calculer la probabilité#
L’idée de la distribution.
La règle de Bayes:
Problème#
Est-ce que le mal de tête recurrent que j’ai est signe d’un cancer au cerveau?
Notation#
Soit ( C ) l’événement “la personne a un cancer du cerveau”.
Soit ( H ) l’événement “la personne a des maux de tête”.
Nous avons les informations suivantes :
( P(C) = 0.01 ) (probabilité d’avoir un cancer du cerveau, par exemple, 1%)
( P(H | C) = 0.90 ) (probabilité d’avoir des maux de tête si la personne a un cancer du cerveau)
( P(H) = 0.80 ) (probabilité d’avoir des maux de tête)
Application de la règle de Bayes#
Nous voulons calculer ( P(C | H) ) (probabilité d’avoir un cancer du cerveau sachant que la personne a des maux de tête).
La règle de Bayes s’énonce comme suit :
Calculons :
Je ne risque donc pas grand chose…
Mettre à jour ses hypothèses#
Utilisons la phrase suivante : “Mon animal de compagnie se déplace lentement et adore la laitue.”
Utilisons la statistique bayesienne pour calculer, au fur et à mesure que nous construisons la phrase, la probabilité d’un de ces 3 mots:
chien
chat
tortue
Au début nous pouvons fixer les probabilités des trois mots comme étant
Admettons que nous considérons 60.000 mots français. Les probabilités des 3 mots seront:
Donc:
P(chat) = 0,0000167
P(chien) = 0,0000167
P(tortue) = 0,0000167
Maintenant nous voulons calculer la probabilité qu’un de ces mots acquiert dans le contexte où il y aura d’autres mots.
Avec la règle de Bayes:
Commençons notre phrase, avec le début de la phrase “mon animal de compagnie”. Il nous faudra des données sur la fréquence de ce contexte avec les trois mots chien, chat et tortue. Admettons qu’elle soit équivalente:
Admettons:
P(“Mon animal de compagnie” | chat) = 0,1
P(“Mon animal de compagnie” | chien) = 0,1
P(“Mon animal de compagnie” | tortue) = 0,05
Admettons que la probabilité de la phrase “mon animal de compagnie” soit:
P(contexte) = 0,000001
Nous pouvons maintenant mettre à jour notre probabilité:
P(chat | contexte) = (0,1 * 0,0000167) / 0,000012 ≈ 0,1392
P(chien | phrase) = (0,1 * 0,0000167) / 0,000012 ≈ 0,1392
P(tortue | phrase) = (0,05 * 0,0000167) / 0,000012 ≈ 0,0696
Mise à jour 2 : “se déplace lentement”
On prend comme probabilité initiale celle de la dernière mise à jour:
P(chat) = 0,1392
P(chien) = 0,1392
P(tortue) = 0,0696
Et admettons que la probabilité du nouveau contexte “se déplace lentement” soit:
P(contexte) = 0,111
Et que:
P(“se déplace lentement”|chat) = 0,1
P(“se déplace lentement”|chien) = 0,1
P(“se déplace lentement”|tortue) = 0,2
Calculs :
P(chat | contexte) = (0,01 * 0,1392) / 0,111 ≈ 0,1254
P(chien | contexte) = (0,001 * 0,1392) / 0,111 ≈ 0,1254
P(tortue | contexte) = (0,2 * 0,0696) / 0,111 ≈ 0,1254
Maintenant une autre mise à jour, avec les mots “et adore la laittue”.
Nous avons actuellement les probabilités suivantes:
P(chat) = 0,1254
P(chien) = 0,1254
P(tortue) = 0,1254
Admettons que notre
P(contexte) = 0,05
Et que :
P(“adore la laittue”|chat) = 0,01
P(“adore la laittue”|chien) = 0,02
P(“adore la laittue”|tortue) = 0,2
Nous allons avoir :
P(chat | contexte) = (0,01 * 0,1254) / 0,05 ≈ 0,02508
P(chien | contexte) = (0,02 * 0,1254) / 0,05 ≈ 0,05016
P(tortue | contexte) = (0,2 * 0,1254) / 0,05 ≈ 0,5016
Avec ce contexte Les probabilités sont de 50% pour le mot tortue, 5% pour le mot chien et 2% pour le mot chat.
Utiliser cette approche pour un modèle de langage mot-à-mot#
L’objectif d’un modèle de langage est de calculer la probabilité d’une phrase E = e1, …, eT. Pour simplifier le calcul, la probabilité d’une phrase complète est souvent décomposée en un produit de probabilités de mots individuels, conditionnées aux mots précédents.
Cela peut être formalisé comme suit:
où :
P(E) représente la probabilité de la phrase E.
- \[\prod_{t=1}^{T+1}\]
indique le produit des probabilités de chaque mot de la phrase, du premier (t=1) au dernier (t=T+1).
- \[P(e_t | e_{t-1})\]
est la probabilité conditionnelle du mot \(e_t\), étant donné tous les mots précédents dans la phrase
- \[e_{T+1} = 〈/s〉\]
</s> est un symbole spécial de fin de phrase, qui permet de déterminer la longueur finale de la phrase T.
Cette formule illustre l’idée que la probabilité d’une phrase est calculée en multipliant les probabilités de chaque mot, en tenant compte du contexte des mots précédents.