Modèle de mélange fini basé sur Dirichlet Distribution PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Modèle de mélange fini basé sur la distribution de Dirichlet

Ce billet de blog est la deuxième partie d'une série d'articles sur les modèles de mélange de Dirichlet Process. Dans l'article précédent, nous avions un aperçu de plusieurs techniques d'analyse de cluster et nous avons discuté de certains des problèmes / limitations qui se posent en les utilisant. De plus, nous avons brièvement présenté les modèles de mélanges de procédés Dirichlet, nous avons expliqué pourquoi ils sont utiles et nous avons présenté certaines de leurs applications.

Mise à jour: le Datumbox Machine Learning Framework est désormais open-source et gratuit pour download. Consultez le package com.datumbox.framework.machinelearning.clustering pour voir l'implémentation de Dirichlet Process Mixture Models en Java.

Les modèles de mélange du procédé Dirichlet peuvent être un peu difficiles à avaler au début, principalement parce qu'ils sont des modèles de mélange infinis avec de nombreuses représentations différentes. Heureusement, une bonne façon d'aborder le sujet consiste à partir des modèles de mélanges finis avec distribution de Dirichlet, puis à passer aux modèles infinis.

Par conséquent, dans cet article, je présenterai brièvement quelques distributions importantes dont nous aurons besoin, nous les utiliserons pour construire le modèle de Dirichlet Prior avec modèle de vraisemblance multinomiale, puis nous passerons au modèle de mélange fini basé sur la distribution de Dirichlet.

1. Distribution bêta

Les Distribution bêta est une famille de distributions continues qui est définie dans l'intervalle de [0,1]. Il est paramétré par deux paramètres positifs a et b et sa forme dépend fortement de la sélection de ces deux paramètres.

image

Figure 1: Distribution bêta pour différents paramètres a, b

La distribution bêta est couramment utilisée pour modéliser une distribution sur les probabilités et a la densité de probabilité suivante:

image

Équation 1: PDF bêta

Où Γ (x) est la fonction gamma et a, b les paramètres de la distribution. Le bêta est couramment utilisé comme distribution des valeurs de probabilité et nous donne la probabilité que la probabilité modélisée soit égale à une valeur particulière P = p0. Par sa définition, la distribution bêta est capable de modéliser la probabilité de résultats binaires qui prennent des valeurs vraies ou fausses. Les paramètres a et b peuvent être considérés comme les pseudocomptes de réussite et d'échec respectivement. Ainsi, la distribution bêta modélise la probabilité de succès compte tenu des succès et des échecs.

2. Distribution de Dirichlet

Les Distribution de Dirichlet est la généralisation de la distribution bêta pour plusieurs résultats (ou en d'autres termes, elle est utilisée pour des événements avec plusieurs résultats). Il est paramétré avec k paramètres ai ce qui doit être positif. La distribution de Dirichlet est égale à la distribution bêta lorsque le nombre de variables k = 2.

image

Figure 2: Distribution de Dirichlet pour divers ai paramètres

La distribution de Dirichlet est couramment utilisée pour modéliser une distribution sur les probabilités et a la densité de probabilité suivante:

image

Équation 2: Dirichlet PDF

Où Γ (x) est la fonction gamma, le pi prendre des valeurs dans [0,1] et Σpi= 1. La distribution de Dirichlet modélise la distribution conjointe de pi et donne la probabilité de P1=p1,P2=p2,…., Pk-1=pk-1 avec Pk= 1 - ΣPi. Comme dans le cas de la bêta, l'uni les paramètres peuvent être considérés comme des pseudocomptes des apparitions de chaque i événement. La distribution de Dirichlet est utilisée pour modéliser la probabilité que k événements rivaux se produisent et est souvent désignée comme Dirichlet (a).

3. Dirichlet Prior avec probabilité multinomiale

Comme mentionné précédemment, la distribution de Dirichlet peut être considérée comme une distribution sur les distributions de probabilité. Dans les cas où nous voulons modéliser la probabilité que k événements se produisent, une approche bayésienne serait d'utiliser Probabilité multinomiale et Priichlet Prieurs .

Ci-dessous, nous pouvons voir le modèle graphique d'un tel modèle.

image

Figure 3: Modèle graphique de Priichlet Priors avec vraisemblance multinomiale

Dans le modèle graphique ci-dessus, α est un vecteur dimensionnel ak avec les hyperparamètres des a priori de Dirichlet, p est un vecteur dimensionnel k avec les valeurs de probabilité et xi est une valeur scalaire de 1 à k qui nous indique quel événement s'est produit. Notons enfin que le P suit la distribution de Dirichlet paramétrée avec le vecteur α et donc P ~ Dirichlet (α), alors que le xi les variables suivent la distribution discrète (multinomiale) paramétrée avec le vecteur p de probabilités. Des modèles hiérarchiques similaires peuvent être utilisés dans la classification des documents pour représenter les distributions de fréquences des mots clés dans différents sujets.

4. Modèle de mélange fini avec distribution de Dirichlet

En utilisant Dirichlet Distribution, nous pouvons construire un Modèle de mélange fini qui peut être utilisé pour effectuer un clustering. Supposons que nous avons le modèle suivant:

image

image

image

image

Équation 3: Modèle de mélange fini avec distribution de Dirichlet

Le modèle ci-dessus suppose ce qui suit: Nous avons un ensemble de données X avec n observations et nous voulons effectuer une analyse de cluster sur celui-ci. Le k est un nombre fini constant qui montre le nombre de clusters / composants que nous utiliserons. Le ci les variables stockent l'affectation de cluster de l'observation Xi, ils prennent des valeurs de 1 à k et suivent la distribution discrète avec le paramètre p qui sont les probabilités de mélange des composants. Le F est la distribution générative de notre X et il est paramétré avec un paramètre image qui dépend de l'affectation des grappes de chaque observation. Au total, nous avons k unique image paramètres égaux au nombre de nos clusters. le image variable stocke les paramètres qui paramètrent la distribution F générative et nous supposons qu'elle suit une base G0 Distribution. La variable p stocke les pourcentages de mélange pour chacun des k clusters et suit le Dirichlet avec les paramètres α / k. Enfin, α est un vecteur dimensionnel a avec les hyperparamètres (pseudocomptes) de la distribution de Dirichlet [2].

image

Figure 4: Modèle graphique du modèle de mélange fini avec distribution de Dirichlet

Une manière plus simple et moins mathématique d'expliquer le modèle est la suivante. Nous supposons que nos données peuvent être regroupées en k grappes. Chaque cluster a ses propres paramètres image et ces paramètres sont utilisés pour générer nos données. Les paramètres image sont supposés suivre une certaine distribution G0. Chaque observation est représentée par un vecteur xi et aci valeur qui indique le cluster auquel il appartient. Par conséquent, le ci peut être considérée comme une variable qui suit la distribution discrète avec un paramètre p qui n'est rien d'autre que les probabilités de mélange, c'est-à-dire la probabilité d'occurrence de chaque groupe. Étant donné que nous traitons notre problème de manière bayésienne, nous ne traitons pas le paramètre p comme un vecteur inconnu constant. Au lieu de cela, nous supposons que le P suit Dirichlet qui est paramétré par les hyperparamètres α / k.

5. Travailler avec des clusters k infinis

Le modèle de mélange précédent nous permet d'effectuer un apprentissage non supervisé, suit une approche bayésienne et peut être étendu pour avoir une structure hiérarchique. Néanmoins, il s'agit d'un modèle fini car il utilise un nombre k prédéfini constant de grappes. Par conséquent, cela nous oblige à définir le nombre de composants avant d'effectuer l'analyse de cluster et, comme nous l'avons vu précédemment dans la plupart des applications, cela est inconnu et ne peut pas être facilement estimé.

Une façon de résoudre ce problème consiste à imaginer que k a une très grande valeur qui tend vers l'infini. En d'autres termes, nous pouvons imaginer la limite de ce modèle lorsque k tend vers l'infini. Si tel est le cas, alors nous pouvons voir que malgré que le nombre de clusters k soit infini, le nombre réel de clusters qui sont actifs (ceux qui ont au moins une observation), ne peut pas être supérieur à n (qui est le nombre total des observations dans notre ensemble de données). En fait comme nous le verrons plus loin, le nombre de clusters actifs sera nettement inférieur à n et ils seront proportionnels à image.

Bien sûr, prendre la limite de k à l'infini n'est pas trivial. Plusieurs questions se posent telles que la possibilité de prendre une telle limite, à quoi ressemblerait ce modèle et comment construire et utiliser un tel modèle.

Dans le prochain article, nous nous concentrerons précisément sur ces questions: nous définirons le processus Dirichlet, nous présenterons les différentes représentations de DP et enfin nous nous concentrerons sur le processus de restaurant chinois qui est un moyen intuitif et efficace de construire un processus Dirichlet.

J'espère que vous avez trouvé ce post utile. Si vous l'avez fait, veuillez prendre un moment pour partager l'article sur Facebook et Twitter. 🙂

Horodatage:

Plus de Boîte de données