De nombreux modèles de machine learning peuvent être classés en deux grandes catégories :

  • Génératifs

  • Discriminants

Comprendre cette différence est essentiel, car elle révèle l'approche fondamentale que chaque type de modèle adopte pour résoudre un problème.

Ça t'aidera à choisir quelle voie est la mieux adaptée aux caractéristiques de ton jeu de données.

Le visuel suivant illustre leurs différences :

Schéma comparant les modèles discriminants et génératifs en machine learning

Aujourd'hui, on va les décortiquer en détail.

1) Les modèles discriminants

Frontière de décision apprise par un modèle discriminant pour séparer les classes

Les modèles discriminants, comme leur nom l'indique, sont principalement axés sur l'apprentissage de frontières de décision qui séparent les différentes classes.

Mathématiquement, ils maximisent la probabilité conditionnelle P(Y|X), ce qui se lit ainsi : « Étant donné une entrée X, maximise la probabilité de l'étiquette Y. »

Ces modèles sont donc explicitement conçus pour les tâches de classification.

Exemples courants :

  • Régression logistique

  • Random Forest

  • Réseaux de neurones

  • Arbres de décision, etc.

2) Les modèles génératifs

Distribution conditionnelle des données par classe apprise par un modèle génératif

Les modèles génératifs, eux, sont principalement axés sur l'apprentissage de la distribution conditionnelle par classe, comme illustré dans la figure ci-dessus.

Ils maximisent la probabilité jointe P(X, Y) en apprenant la distribution conditionnelle par classe P(X|Y) :

Équation : un modèle génératif maximise la probabilité jointe P(X, Y) via P(X|Y)

Exemples courants :

  • Naive Bayes

  • Analyse discriminante linéaire (LDA)

  • Modèles de mélange gaussien, etc.

❝

On a déjà couvert les probabilités jointes et conditionnelles. Lis ce shot data si tu veux comprendre ce que c'est : Un guide visuel sur les probabilités conjointes, marginales et conditionnelles.

Comme les modèles génératifs apprennent la distribution sous-jacente des données, ils peuvent générer de nouveaux échantillons.

Génération de nouveaux échantillons par un modèle génératif à partir de la distribution apprise

Ce n'est pas possible avec les modèles discriminants.

De plus, les modèles génératifs ont des propriétés discriminantes — c'est-à-dire qu'ils peuvent être utilisés pour des tâches de classification si nécessaire.

Modèles génératifs dotés de propriétés discriminantes, utilisables aussi pour la classification

En revanche, les modèles discriminants n'ont pas de propriétés génératives.

Quiz : discriminant ou génératif ?

Prenons un exemple pour mieux comprendre.

Imagine que tu es un système de classification de langues.

Système de classification de langues, exemple pour distinguer modèles génératifs et discriminants

Il y a deux façons de classifier des langues.

  1. Apprendre chaque langue, puis classifier une nouvelle langue sur la base des connaissances acquises.

  2. Identifier certains patterns distinctifs dans chaque langue sans vraiment l'apprendre. Une fois fait, classifier une nouvelle langue à partir de ces patterns.

Tu arrives à deviner lequel est génératif et lequel est discriminant ?

Réponse

La première approche est générative. En effet, tu as appris la distribution sous-jacente de chaque langue.

Autrement dit, tu as appris la distribution jointe P(Mots, Langue).

Approche générative : modélisation de la distribution jointe P(Mots, Langue) de chaque langue

Et comme tu comprends la distribution sous-jacente, tu peux maintenant générer de nouvelles phrases, non ?

La deuxième approche est discriminante. Tu n'as appris que des patterns distinctifs propres à chaque langue.

Ça ressemble à ça :

  • Si tels mots apparaissent, c'est probablement la « Langue A ».

  • Si cet ensemble de mots apparaît, c'est probablement la « Langue B ».

  • Et ainsi de suite.

Approche discriminante : identification des patterns propres à chaque langue pour classifier

Autrement dit, tu as appris la distribution conditionnelle P(Langue|Mots).

Est-ce que tu peux générer de nouvelles phrases ici ?

Non, n'est-ce pas ?

Voilà la différence entre les modèles génératifs et discriminants.

Par ailleurs, la description ci-dessus pourrait te donner l'impression que les modèles génératifs sont plus polyvalents — mais ce n'est pas vrai.

Les modèles génératifs ont leurs propres complications.

Par exemple, ils nécessitent généralement plus de données que les modèles discriminants.

Relie ça à l'exemple de classification de langues.

Imagine la quantité de données dont tu aurais besoin pour apprendre toutes les langues (approche générative) versus la quantité nécessaire pour identifier quelques patterns distinctifs (approche discriminante).

En règle générale, les modèles discriminants surpassent les modèles génératifs sur les tâches de classification.

Les modèles discriminants peuvent eux-mêmes être divisés en deux sous-catégories, qu'on verra dans le prochain post.

Envie d'aller plus loin ? DataXp t'attend : formations et parcours pour progresser en data science, machine learning et IA.

👉 En attendant, à toi de jouer : quels autres problèmes rencontre-t-on lors de l'entraînement de modèles génératifs ?


Commentaires

Avatar

ou participer

À lire ensuite

Des shots dans la même veine, à lire entre deux tâches.

Voir tous les shots
caret-right