Scikit-Learn implémente différentes classes pour estimer les modèles de mélanges gaussiens, qui correspondent à différentes stratégies d`estimation, détaillées ci-dessous. Maintenant, nous pouvons tirer des échantillons de 100 nouveaux points dans cet espace de 41 dimensions projetées, en utilisant le GMM comme modèle génératif: avant tout, nous devons sélectionner le nombre de segments dans lesquels nous aimerions partitionner nos données. Pour ce faire, nous pouvons utiliser le critère d`information Bayésien (BIC). Ce critère est couramment utilisé pour la sélection de modèle avec la préférence pour le modèle possédant le BIC le plus bas. La documentation de sklearn a un bon exemple sur ce processus. Nous venons de voir un exemple simple d`utilisation de GMM comme modèle génératif de données afin de créer de nouveaux échantillons à partir de la distribution définie par les données d`entrée. Ici, nous allons courir avec cette idée et de générer de nouveaux chiffres manuscrits à partir du corpus de chiffres standard que nous avons utilisé avant. Cette caractérisation utilise F et H pour décrire les distributions arbitraires sur les observations et les paramètres, respectivement. Typiquement H sera le conjugué antérieur de F.

Les deux choix les plus courants de F sont gaussiens aka “normal” (pour les observations à valeur réelle) et catégoriques (pour les observations discrètes). D`autres possibilités courantes pour la distribution des composants de mélange sont: Si vous examinez les détails des ajustements précédents, vous verrez que l`option covariance_type a été définie différemment au sein de chacun. Cet hyperparamètre contrôle les degrés de liberté dans la forme de chaque cluster; Il est essentiel de le régler attentivement pour tout problème donné. La valeur par défaut est covariance_type = “diag”, ce qui signifie que la taille du cluster le long de chaque dimension peut être définie indépendamment, avec l`ellipse résultante contraint à s`aligner avec les axes. Un modèle légèrement plus simple et plus rapide est covariance_type = “sphérique”, ce qui contraint la forme du cluster de telle sorte que toutes les cotes soient égales. Le regroupement résultant aura des caractéristiques similaires à celle de k-means, bien qu`il ne soit pas entièrement équivalent. Un modèle plus compliqué et coûteux en calcul (d`autant plus que le nombre de dimensions augmente) est d`utiliser covariance_type = “Full”, ce qui permet à chaque cluster d`être modélisé comme une ellipse avec une orientation arbitraire. Le fait que GMM est un modèle génératif nous donne un moyen naturel de déterminer le nombre optimal de composants pour un jeu de données donné. Un modèle génératif est intrinsèquement une distribution de probabilité pour le jeu de données, et nous pouvons donc tout simplement évaluer la probabilité de la donnée sous le modèle, en utilisant la validation croisée pour éviter le surajustement.

Un autre moyen de correction pour le surajustement consiste à ajuster le modèle probabilités en utilisant un critère analytique tel que le critère d`information Akour (AIC) ou le critère d`information Bayésien (BIC).