Existe-t-il des méthodes de clustering "non paramétriques" pour lesquelles nous n'avons pas besoin de spécifier le nombre de clusters? Et d'autres paramètres comme le nombre de points par cluster, etc.
Existe-t-il des méthodes de clustering "non paramétriques" pour lesquelles nous n'avons pas besoin de spécifier le nombre de clusters? Et d'autres paramètres comme le nombre de points par cluster, etc.
Réponses:
Les algorithmes de clustering qui vous obligent à prédéfinir le nombre de clusters sont une petite minorité. Il existe un grand nombre d'algorithmes qui n'en ont pas. Ils sont difficiles à résumer; c'est un peu comme demander une description de tout organisme qui n'est pas un chat.
Les algorithmes de clustering sont souvent classés en grands royaumes:
Il peut y avoir des catégories supplémentaires, et les gens peuvent être en désaccord avec ces catégories et quels algorithmes vont dans quelle catégorie, car c'est heuristique. Néanmoins, quelque chose comme ce schéma est courant. En partant de là, ce ne sont principalement que les méthodes de partitionnement (1) qui nécessitent une pré-spécification du nombre de clusters à trouver. Quelles autres informations doivent être prédéfinies (par exemple, le nombre de points par cluster), et s'il semble raisonnable d'appeler divers algorithmes «non paramétriques», est également très variable et difficile à résumer.
Le clustering hiérarchique ne vous oblige pas à prédéfinir le nombre de clusters, comme le fait k-means, mais vous sélectionnez un certain nombre de clusters dans votre sortie. D'un autre côté, DBSCAN n'exige pas non plus (mais il nécessite la spécification d'un nombre minimum de points pour un «voisinage» - bien qu'il y ait des valeurs par défaut, donc dans un certain sens, vous pouvez ignorer le spécifier - ce qui met un plancher sur le nombre de modèles dans un cluster). GMM ne nécessite même aucun de ces trois, mais nécessite des hypothèses paramétriques sur le processus de génération de données. Pour autant que je sache, il n'y a pas d'algorithme de clustering qui ne vous oblige jamais à spécifier un nombre de clusters, un nombre minimum de données par cluster, ou tout modèle / arrangement de données au sein de clusters. Je ne vois pas comment il pourrait y en avoir.
Cela peut vous aider à lire un aperçu des différents types d'algorithmes de clustering. Ce qui suit pourrait être un point de départ:
Mclust
utilisé est conçu pour optimiser le BIC, mais l'AIC pourrait être utilisé ou une séquence de tests de rapport de vraisemblance. Je suppose que vous pourriez l'appeler un méta-algorithme, b / c il a des étapes constitutives (par exemple, EM), mais c'est l'algorithme que vous utilisez, et en tout cas il ne vous oblige pas à pré-spécifier k. Vous pouvez clairement voir dans mon exemple lié que je n'y ai pas prédéfini k.
L'exemple le plus simple est le clustering hiérarchique , où vous comparez chaque point avec l'autre en utilisant une mesure de distance , puis réunissez la paire qui a la plus petite distance pour créer un pseudo-point joint (par exemple, b et c font bc comme sur l'image au dessous de). Ensuite, vous répétez la procédure en joignant les points et les pseudo-points, en fonction de leurs distances par paires jusqu'à ce que chaque point soit joint au graphique.
(source: https://en.wikipedia.org/wiki/Hierarchical_clustering )
La procédure n'est pas paramétrique et la seule chose dont vous avez besoin est la mesure de distance. À la fin, vous devez décider comment tailler l'arborescence créée à l'aide de cette procédure, de sorte qu'une décision sur le nombre attendu de clusters doit être prise.
Une méthode "sans paramètre" signifie que vous n'obtenez qu'un seul coup (sauf peut-être le hasard), sans possibilité de personnalisation .
Le clustering est désormais une technique exploratoire . Vous ne devez pas supposer qu'il existe un seul "vrai" clustering . Vous devriez plutôt être intéressé à explorer différents regroupements des mêmes données pour en savoir plus. Traiter le clustering comme une boîte noire ne fonctionne jamais bien.
Par exemple, vous voulez pouvoir personnaliser la fonction de distance utilisée en fonction de vos données (c'est aussi un paramètre!) Si le résultat est trop grossier, vous voulez pouvoir obtenir un résultat plus fin, ou s'il est trop fin , obtenez-en une version plus grossière.
Les meilleures méthodes sont souvent celles qui vous permettent de bien naviguer dans le résultat, comme le dendrogramme dans le clustering hiérarchique. Vous pouvez ensuite explorer facilement les sous-structures.
Découvrez les modèles de mélange Dirichlet . Ils constituent un bon moyen de donner un sens aux données si vous ne connaissez pas le nombre de clusters au préalable. Cependant, ils font des hypothèses sur les formes des clusters, que vos données peuvent violer.