Supposons que j'ai un ensemble de signaux du domaine temporel sans aucune étiquette . Je veux les regrouper en 2 ou 3 classes. Les encodeurs automatiques sont des réseaux non supervisés qui apprennent à compresser les entrées. Donc, étant donné une entrée , les poids et , les biais et et la sortie , nous pouvons trouver les relations suivantes:
Donc serait une forme compressée de , et la reconstruction de ce dernier. Jusqu'ici tout va bien.
Ce que je ne comprends pas, c'est comment cela pourrait être utilisé pour le clustering (s'il existe un moyen de le faire). Par exemple, dans la première figure de cet article , il y a un schéma fonctionnel que je ne suis pas sûr de comprendre. Il utilise le comme entrées pour le réseau à action directe, mais il n'y a aucune mention de la façon dont ce réseau est formé. Je ne sais pas s'il y a quelque chose que j'ignore ou si le document est incomplet. De plus, ce didacticiel à la fin montre les poids appris par l'autoencodeur, et ils semblent être des noyaux qu'un CNN apprendrait à classer les images. Donc ... Je suppose que les poids de l'auto-encodeur peuvent être utilisés d'une manière ou d'une autre dans un réseau à action directe pour la classification, mais je ne sais pas comment.
Mes doutes sont:
- Si est un signal du domaine temporel de longueur (c'est-à-dire ), peut être un vecteur aussi? En d'autres termes, serait-il logique que soit une matrice avec une de ses dimensions supérieure à ? Je crois que non, mais je veux juste vérifier.
- Laquelle de ces quantités constituerait l'entrée d'un classificateur? Par exemple, si je veux utiliser un MLP classique qui a autant d'unités de sortie que de classes dans lesquelles je veux classer les signaux, que dois-je mettre à l'entrée de ce réseau entièrement connecté ( , , autre chose)?
- Comment puis-je utiliser les poids et les biais appris dans ce MLP? N'oubliez pas que nous avons supposé qu'aucune étiquette n'est disponible, il est donc impossible de former le réseau. Je pense que les et devraient être utiles d'une manière ou d'une autre dans le réseau entièrement connecté, mais je ne vois pas comment les utiliser.
Observation: notez que j'ai utilisé un MLP comme exemple car c'est l'architecture la plus basique, mais la question s'applique à tout autre réseau de neurones qui pourrait être utilisé pour classer les signaux du domaine temporel.
Avant de demander «comment utiliser l'encodeur automatique pour regrouper les données? nous devons d'abord demander «Les encodeurs automatiques peuvent-ils regrouper les données?
Puisqu'un autoencodeur apprend à recréer les points de données à partir de l'espace latent. Si nous supposons que l'autoencodeur mappe l'espace latent de «manière continue», les points de données qui proviennent du même cluster doivent être mappés ensemble. Ainsi, d'une certaine manière, l'encodeur regroupera des points similaires «ensemble», les regroupera «ensemble». Nous avons vu dans la littérature que les auto-encodeurs ne tiennent pas cette hypothèse de continuité dans l'espace latent.
Mais à notre avantage, les codeurs automatiques variationnels fonctionnent exactement de cette manière. Les codeurs variationnels apprennent les mappages d'espace latent avec les deux propriétés principales: continuité, exhaustivité1.
Par conséquent, l'utilisation d'un encodage autoencoders peut elle-même, peut parfois être suffisante. Cependant, un travail a été fait pour improviser / apprendre explicitement le clustering. L'algorithme proposé par Xie et al. (2016) 2 en est un exemple, qui "affine de manière itérative les grappes avec une distribution cible auxiliaire dérivée d'une affectation de grappe souple actuelle".
la source