IA 101

Modèles d’apprentissage automatique génératifs et discriminatifs

mm

Certains modèles d’apprentissage automatique appartiennent à l’une des catégories de modèles « génératifs » ou « discriminatifs ». Mais quelle est la différence entre ces deux catégories de modèles ? Qu’est-ce que cela signifie pour un modèle d’être discriminatif ou génératif ?

La réponse courte est que les modèles génératifs sont ceux qui incluent la distribution des données, renvoyant une probabilité pour un exemple donné. Les modèles génératifs sont souvent utilisés pour prédire ce qui se passe ensuite dans une séquence. Pendant ce temps, les modèles discriminatifs sont utilisés pour la classification ou la régression et renvoient une prédiction basée sur la probabilité conditionnelle. Explorons les différences entre les modèles génératifs et discriminatifs en détail, afin que nous puissions vraiment comprendre ce qui sépare les deux types de modèles et quand chaque type doit être utilisé.

Modèles génératifs et discriminatifs

Il existe plusieurs façons de catégoriser un modèle d’apprentissage automatique. Un modèle peut être classé comme appartenant à différentes catégories comme : modèles génératifs, modèles discriminatifs, modèles paramétriques, modèles non paramétriques, modèles basés sur des arbres, modèles non basés sur des arbres.

Cet article se concentrera sur les différences entre les modèles génératifs et les modèles discriminatifs. Nous allons commencer par définir les modèles génératifs et les modèles discriminatifs, puis nous allons explorer quelques exemples de chaque type de modèle.

Modèles génératifs

Les modèles génératifs sont ceux qui se concentrent sur la distribution des classes dans le jeu de données. Les algorithmes d’apprentissage automatique modélisent généralement la distribution des points de données. Les modèles génératifs s’appuient sur la recherche de la probabilité conjointe. La création de points où une caractéristique d’entrée donnée et une étiquette de sortie/désirée existent simultanément.

Les modèles génératifs sont généralement utilisés pour estimer les probabilités et les probabilités, en modélisant les points de données et en discriminant entre les classes en fonction de ces probabilités. Puisque le modèle apprend une distribution de probabilité pour le jeu de données, il peut se référer à cette distribution de probabilité pour générer de nouvelles instances de données. Les modèles génératifs s’appuient souvent sur le théorème de Bayes pour trouver la probabilité conjointe, en trouvant p(x,y). En essence, les modèles génératifs modélisent comment les données ont été générées, en répondant à la question suivante :

« Quelle est la probabilité que cette classe ou une autre classe ait généré ces données/instance ? »

Les exemples de modèles d’apprentissage automatique génératifs incluent l’analyse discriminante linéaire (LDA), les modèles de Markov cachés et les réseaux bayésiens comme Naive Bayes.

Modèles discriminatifs

Alors que les modèles génératifs apprennent la distribution des données, les modèles discriminatifs apprennent la frontière de décision entre les classes dans un jeu de données. Avec les modèles discriminatifs, l’objectif est d’identifier la frontière de décision entre les classes pour appliquer des étiquettes de classe fiables aux instances de données. Les modèles discriminatifs séparent les classes dans le jeu de données en utilisant la probabilité conditionnelle, sans faire d’hypothèses sur les points de données individuels.

Les modèles discriminatifs visent à répondre à la question suivante :

« De quel côté de la frontière de décision se trouve cette instance ? »

Les exemples de modèles d’apprentissage automatique discriminatifs incluent les machines à vecteurs de support, la régression logistique, les arbres de décision et les forêts aléatoires.

Différences entre les modèles génératifs et les modèles discriminatifs

Voici un aperçu rapide des principales différences entre les modèles génératifs et les modèles discriminatifs.

Modèles génératifs :

  • Les modèles génératifs visent à capturer la distribution réelle des classes dans le jeu de données.
  • Les modèles génératifs prédisent la distribution de probabilité conjointe – p(x,y) – en utilisant le théorème de Bayes.
  • Les modèles génératifs sont coûteux en termes de calcul par rapport aux modèles discriminatifs.
  • Les modèles génératifs sont utiles pour les tâches d’apprentissage automatique non supervisées.
  • Les modèles génératifs sont affectés par la présence d’outliers plus que les modèles discriminatifs.

Modèles discriminatifs :

  • Les modèles discriminatifs modélisent la frontière de décision pour les classes du jeu de données.
  • Les modèles discriminatifs apprennent la probabilité conditionnelle – p(y|x).
  • Les modèles discriminatifs sont peu coûteux en termes de calcul par rapport aux modèles génératifs.
  • Les modèles discriminatifs sont utiles pour les tâches d’apprentissage automatique supervisées.
  • Les modèles discriminatifs ont l’avantage d’être plus robustes aux outliers, contrairement aux modèles génératifs.
  • Les modèles discriminatifs sont plus robustes aux outliers par rapport aux modèles génératifs.

Nous allons maintenant explorer brièvement quelques exemples de modèles d’apprentissage automatique génératifs et discriminatifs.

Exemples de modèles génératifs

Analyse discriminante linéaire (LDA)

Les modèles LDA fonctionnent en estimant la variance et la moyenne des données pour chaque classe dans le jeu de données. Une fois que la moyenne et la variance pour chaque classe ont été calculées, des prédictions peuvent être faites en estimant la probabilité qu’un ensemble d’entrées appartienne à une classe donnée.

Modèles de Markov cachés

Les chaînes de Markov peuvent être considérées comme des graphiques avec des probabilités qui indiquent à quel point il est probable que nous passions d’un point de la chaîne, un « état », à un autre état. Les chaînes de Markov sont utilisées pour déterminer la probabilité de passer d’un état j à un état i, qui peut être noté p(i,j). C’est juste la probabilité conjointe mentionnée ci-dessus. Un modèle de Markov caché est où une chaîne de Markov invisible et non observable est utilisée. Les entrées de données sont données au modèle et les probabilités pour l’état actuel et l’état précédent sont utilisées pour calculer le résultat le plus probable.

Réseaux bayésiens

Les réseaux bayésiens sont un type de modèle graphique probabiliste. Ils représentent les dépendances conditionnelles entre les variables, comme représenté par un graphique acyclique dirigé. Dans un réseau bayésien, chaque arête du graphique représente une dépendance conditionnelle, et chaque nœud correspond à une variable unique. La dépendance conditionnelle pour les relations uniques dans le graphique peut être utilisée pour déterminer la distribution conjointe des variables et calculer la probabilité conjointe. En d’autres termes, un réseau bayésien capture un sous-ensemble des relations indépendantes dans une distribution de probabilité conjointe spécifique.

Une fois qu’un réseau bayésien a été créé et correctement défini, avec des variables aléatoires, des relations conditionnelles et des distributions de probabilité connues, il peut être utilisé pour estimer la probabilité d’événements ou de résultats.

L’un des types de réseaux bayésiens les plus couramment utilisés est un modèle Naive Bayes. Un modèle Naive Bayes traite le défi de calculer la probabilité pour les jeux de données avec de nombreux paramètres/variables en traitant toutes les fonctionnalités comme indépendantes les unes des autres.

Exemples de modèles discriminatifs

Machines à vecteurs de support

Les machines à vecteurs de support fonctionnent en dessinant une frontière de décision entre les points de données, en trouvant la frontière de décision qui sépare le mieux les classes différentes dans le jeu de données. L’algorithme SVM dessine des lignes ou des hyperplans qui séparent les points, pour les espaces à 2 dimensions et 3 dimensions respectivement. SVM cherche à trouver la ligne/hyperplan qui sépare le mieux les classes en essayant de maximiser la marge, ou la distance entre la ligne/hyperplan et les points les plus proches. Les modèles SVM peuvent également être utilisés sur des jeux de données qui ne sont pas séparés de manière linéaire en utilisant le « trick du noyau » pour identifier les frontières de décision non linéaires.

Régression logistique

La régression logistique est un algorithme qui utilise une fonction logit (log-odds) pour déterminer la probabilité qu’une entrée soit dans l’un des deux états. Une fonction sigmoïde est utilisée pour « écraser » la probabilité vers 0 ou 1, vrai ou faux. Les probabilités supérieures à 0,50 sont supposées être de la classe 1, tandis que les probabilités de 0,49 ou inférieures sont supposées être de la classe 0. Pour cette raison, la régression logistique est généralement utilisée pour les problèmes de classification binaires. Cependant, la régression logistique peut être appliquée à des problèmes de classification multi-classes en utilisant une approche « un contre tous », en créant un modèle de classification binaire pour chaque classe et en déterminant la probabilité qu’un exemple soit une classe cible ou une autre classe dans le jeu de données.

Arbre de décision

Un arbre de décision fonctionne en divisant un jeu de données en portions de plus en plus petites, et une fois que les sous-ensembles ne peuvent plus être divisés, le résultat est un arbre avec des nœuds et des feuilles. Les nœuds dans un arbre de décision sont où les décisions concernant les points de données sont prises en utilisant différents critères de filtrage. Les feuilles dans un arbre de décision sont les points de données qui ont été classés. Les algorithmes d’arbre de décision peuvent gérer à la fois les données numériques et catégorielles, et les divisions dans l’arbre sont basées sur des variables/fonctionnalités spécifiques.

Forêts aléatoires

Un modèle de forêt aléatoire est essentiellement une collection d’arbres de décision où les prédictions des arbres individuels sont moyennées pour arriver à une décision finale. L’algorithme de forêt aléatoire sélectionne les observations et les fonctionnalités de manière aléatoire, en construisant les arbres individuels en fonction de ces sélections.

Cet article de tutoriel explorera comment créer un graphique en boîte dans Matplotlib. Les graphiques en boîte sont utilisés pour visualiser les statistiques résumées d’un jeu de données, en affichant les attributs de la distribution comme la plage et la distribution des données.

Blogueur et programmeur avec des spécialités en Machine Learning et Deep Learning sujets. Daniel espère aider les autres à utiliser le pouvoir de l'IA pour le bien social.