Mon ensemble de données est composé de séquences vectorielles. Chaque vecteur a 50 dimensions réelles. Le nombre de vecteurs dans une séquence va de 3-5 à 10-15. En d'autres termes, la longueur d'une séquence n'est pas fixe.
Une bonne partie des séquences (pas des vecteurs!) Sont annotées avec une étiquette de classe. Ma tâche est d'apprendre un classifieur qui, étant donné une séquence de vecteurs, l'étiquette de classe pour la séquence entière est calculée.
Je ne peux pas dire la nature exacte des données mais la nature des séquences n'est pas temporelle. Néanmoins, un vecteur ne peut pas être échangé avec un vecteur sans changer l'étiquette ( ). En d'autres termes, l'ordre des vecteurs est important. Les vecteurs eux-mêmes sont comparables, par exemple, il est logique de calculer un produit scalaire et d'utiliser cette valeur de similitude.
Ma question est: quels sont les outils / algorithmes qui peuvent aider à classer ces données?
MISE À JOUR: Les données ont une telle propriété qu'un ou très peu de vecteurs influencent fortement l'étiquette de classe.
SOLUTION POSSIBLE: Après quelques recherches, il semble que les réseaux de neurones récurrents (RNN) conviennent assez naturellement. L'idée primordiale est de choisir une taille de contexte , de concaténer des vecteurs de mots, de faire un regroupement maximal et de les alimenter via NN classique. À chaque position de fenêtre de contexte possible dans une phrase, un vecteur d'entité est construit. Le vecteur d'entité final est construit en utilisant le regroupement maximal par exemple. La rétropropagation est effectuée pour ajuster les paramètres du réseau. J'ai déjà obtenu des résultats positifs (le GPU est un must).
la source