Comment un réseau de neurones artificiel ANN peut-il être utilisé pour un regroupement non supervisé?

53

Je comprends comment artificial neural network (ANN), peut être formé de manière supervisée à l’aide de backpropogation pour améliorer l’ajustement en diminuant l’erreur dans les prédictions. J'ai entendu dire qu'un ANN peut être utilisé pour un apprentissage non supervisé, mais comment peut-on le faire sans une fonction de coût quelconque pour guider les étapes d'optimisation? Avec k-means ou l'algorithme EM, il existe une fonction pour laquelle chaque itération cherche à augmenter.

  • Comment pouvons-nous regrouper avec un ANN et quel mécanisme utilise-t-il pour regrouper des points de données dans la même localité?

(et quelles fonctionnalités supplémentaires apportent l'ajout de couches supplémentaires?)

Vass
la source
Êtes-vous intéressé par l'apprentissage non supervisé NN en général ou spécifiquement par la mise en cluster non supervisée avec des réseaux de neurones?
Denis Tarasov
@DenisTarasov, je m'intéresse principalement au regroupement non supervisé avec NN, mais je ne connais pas grand-chose de l'apprentissage NN non supervisé en général. Il serait bon qu'une réponse inclue un peu de l'apprentissage non supervisé NN en général avant de discuter de l'application spécifique.
Vass
1
SOM (Self Organizing Map) est un type de réseau utilisé pour la mise en cluster.
Cagdas Ozgenc
Apprentissage non supervisé dans ANN - Il extrait les propriétés statistiques de l'ensemble d'apprentissage. - L'apprentissage non supervisé est plus difficile, mais il est considéré comme biologiquement plausible. - Ne nécessite aucun enseignant.
Yonas

Réponses:

57

Les réseaux de neurones sont largement utilisés dans l'apprentissage non supervisé afin d'apprendre de meilleures représentations des données d'entrée. Par exemple, avec un ensemble de documents texte, NN peut apprendre à mapper un document sur un vecteur à valeur réelle de telle sorte que les vecteurs résultants soient similaires pour des documents ayant un contenu similaire, c'est-à-dire préservant la distance. Ceci peut être réalisé en utilisant, par exemple, des auto-encodeurs - un modèle formé pour reconstruire le vecteur d'origine à partir d'une représentation plus petite (activations de couche cachée) avec une erreur de reconstruction (distance de la fonction ID) en tant que fonction de coût. Ce processus ne vous donne pas de clusters, mais crée des représentations significatives pouvant être utilisées pour le clustering. Vous pouvez, par exemple, exécuter un algorithme de clustering sur les activations de la couche masquée.

Mise en cluster: Il existe un certain nombre d'architectures NN différentes spécialement conçues pour la mise en cluster. Le plus connu est probablement les cartes auto-organisatrices. Une MOS est un NN ayant un ensemble de neurones connectés pour former une grille topologique (généralement rectangulaire). Lorsqu'un modèle est présenté à une MOS, le neurone avec le vecteur de poids le plus proche est considéré comme un gagnant et ses poids sont adaptés au modèle, ainsi que les poids de son voisinage. De cette manière, une MOS trouve naturellement des clusters de données. Un algorithme quelque peu lié est la croissance du gaz neuronal (il ne se limite pas à un nombre prédéfini de neurones).

Une autre approche est la théorie de la résonance adaptative où nous avons deux couches: "champ de comparaison" et "champ de reconnaissance". Le champ de reconnaissance détermine également la meilleure correspondance (neurone) avec le vecteur transféré du champ de comparaison et possède également des connexions inhibitrices latérales. Les détails de la mise en œuvre et les équations exactes peuvent être facilement trouvés en googlant les noms de ces modèles, je ne les mettrai donc pas ici.

Denis Tarasov
la source
16

Vous voulez examiner des cartes auto-organisatrices . Kohonen (qui les a inventés) a écrit un livre à leur sujet. Il existe des packages pour cela dans R ( som , kohonen ) et des implémentations dans d'autres langages tels que MATLAB .

gung - Rétablir Monica
la source
pouvez-vous entrer dans les détails sur la façon dont le NN peut le faire et développer sa théorie? peut-être aussi expliquer l’effet de l’utilisation d’un NN profond (DNN)?
Vass
1
J'ai bien peur d'avoir très peu de compétences ici, @Vass. Je ne pense pas que l'ajout de couches supplémentaires fera beaucoup, sauf pour le ralentir. Quelqu'un d'autre va devoir vous donner la théorie, je voulais juste que vous commenciez.
Gay - Rétablir Monica
1
Un étudiant de notre laboratoire a expérimenté la mise en cluster en utilisant SOM. Cela a pris une éternité et les résultats ont été très décevants par rapport à d’autres approches (dans notre cas, les algorithmes de clustering de graphes standard). J'ai toujours été intrigué par le fait que le domaine cible 2D standard (grille topologique) semble être un espace hautement arbitraire. Plus inquiétant encore, c’est très simpliste et nécessite essentiellement de compresser les données dans un espace décrit par deux variables seulement.
Micans
@micans présente de bons arguments, mais les données ne sont pas simplement compressées dans un espace décrit par deux variables seulement, car chaque nœud est également associé à un prototype. De plus, si l'exécution est lente, il peut s'agir d'un problème d'implémentation. Statistiquement, d’autres méthodes que SOM devraient permettre d’obtenir de meilleurs résultats de classification. En ce qui concerne le problème de la topologie, le cerveau semble être organisé en couches de topologie 2D, mais il donne d'excellents résultats (du moins, j'aimerais bien le penser).
Tom Anderson