Je lis Bishop sur l'algorithme EM pour GMM et la relation entre GMM et k-means.
Dans ce livre, il est dit que k-means est une version difficile à attribuer de GMM. Je me demande si cela implique que si les données que j'essaie de regrouper ne sont pas gaussiennes, je ne peux pas utiliser k-means (ou du moins ce n'est pas approprié à utiliser)? Par exemple, que se passe-t-il si les données sont des images de chiffres manuscrits, constitués de 8 * 8 pixels chacun avec une valeur de 0 ou 1 (et supposent qu'ils sont indépendants donc ce devrait être un mélange de Bernoulli)?
Je suis un peu confus à ce sujet et j'apprécierai toutes vos pensées.
clustering
data-mining
k-means
gaussian-mixture
eddie.xie
la source
la source
Réponses:
Dans des situations EM GMM typiques, on prend en compte la variance et la covariance. Cela ne se fait pas en k-means.
Mais en effet, l'une des heuristiques populaires pour k-means (remarque: k-means est un problème, pas un algorithme) - l'algorithme Lloyd - est essentiellement un algorithme EM, utilisant un modèle centroïde (sans variance) et des affectations dures.
Lorsque vous effectuez un regroupement de style k-means (c.-à-d. Minimisation de la variance), vous
La fonction objective k-means peut être formalisée comme suit:
On dit généralement que k-means suppose des grappes sphériques. Il est également communément admis que les amas k-means sont des cellules de Voronoï, c'est-à-dire non sphériques. Les deux sont corrects et les deux sont faux. Tout d'abord, les grappes ne sont pas des cellules Voronoi complètes, mais uniquement les objets connus qu'elles contiennent. Il n'est pas nécessaire de considérer l'espace mort entre les clusters comme faisant partie de l'un ou l'autre cluster, car la présence d'un objet affecterait le résultat de l'algorithme. Mais il n'est pas beaucoup mieux de l'appeler "sphérique" non plus, simplement parce que la distance euclidienne est sphérique. K-means ne se soucie pas de la distance euclidienne. Tout ce que c'est, c'est une heuristique pour minimiser les variances . Et c'est en fait ce que vous devriez considérer comme k-means: minimisation de la variance.
la source
minimize squared euclidean distance
ouminimize the variances
? Il doit y avoir des mots «somme de» ou «regroupés» ou autres, parce que nous avons plus de 2 clusters, n'est-ce pas?coincidentally minimize Euclidean distance, because the sqrt function is monotone
est, pour être précis, pas correct.minimize squared Euclidean distance, because WCSS variance contribution = squared euclidean distance
moyenne ? Êtes-vous en train de dire que «les carrés au carré entre les objets en grappes sont minimisés parce que le WCSS des écarts est minimisé», ou simplement «le WCSS des écarts est minimisé, qui - les écarts - sont des distances euclidiennes par nature»? Ou quelque chose d'autre?GMM utilise des collines qui se chevauchent et s'étendent à l'infini (mais ne comptent pratiquement que pour 3 sigma). Chaque point obtient tous les scores de probabilité des collines. De plus, les collines sont "en forme d'oeuf" [d'accord, ce sont des ellipses symétriques ] et, en utilisant la matrice de covariance complète, peuvent être inclinées .
K-signifie assigner un point à un seul cluster, de sorte que les scores des autres centres de cluster sont ignorés (sont implicitement remis à zéro / ne se soucient pas). Les collines sont des bulles de savon sphériques. Lorsque deux bulles de savon se touchent, la frontière entre elles devient un plan (hyper-) plat. Tout comme lorsque vous soufflez une mousse de nombreuses bulles de savon, les bulles à l'intérieur ne sont pas plates mais sont carrées, de sorte que les frontières entre de nombreuses (hyper-) sphères forment en fait une partition Voronoi de l'espace. En 2D, cela a tendance à ressembler vaguement à un emballage rapproché hexagonal, pensez à une ruche (bien sûr, les cellules de Voronoi ne sont pas garanties d'être des hexagones). Une colline K-signifie est ronde et ne s'incline pas, elle a donc moins de pouvoir de représentation; mais il est beaucoup plus rapide à calculer, surtout dans les dimensions supérieures.
Parce que K-means utilise la métrique de distance euclidienne, il suppose que les dimensions sont comparables et de poids égal. Donc, si la dimension X a des unités de miles par heure, variant de 0 à 80, et la dimension Y a des unités de livres, variant de 0 à 400, et que vous ajustez des cercles dans cet espace XY, alors une dimension (et sa propagation) va être plus puissant que l'autre dimension et éclipsera les résultats. C'est pourquoi il est habituel de normaliser les données lors de la prise de K-means.
GMM et K-means modélisent les données en ajustant les meilleures approximations à ce qui est donné. GMM s'adapte aux œufs inclinés et K-means s'adapte aux sphères jusqu'à ce qu'il soit. Mais les données sous-jacentes pourraient avoir la forme de n'importe quoi, ce pourrait être une spirale ou une peinture de Picasso, et chaque algorithme fonctionnerait toujours et prendrait son meilleur coup. Le fait que le modèle résultant ressemble ou non aux données réelles dépend du processus physique sous-jacent générant les données. (Par exemple, les mesures de retard sont unilatérales; un gaussien est-il un bon ajustement? Peut-être.)
Ainsi, votre image binaire 8x8 va être interprétée comme un hypercube à 64 dimensions dans le premier hyperquadrant. Les algorithmes utilisent ensuite des analogies géométriques pour trouver des clusters. La distance, avec K-moyennes, apparaît comme une distance euclidienne dans un espace à 64 dimensions. C'est une façon de le faire.
la source