Lorsque vous traitez des données en streaming, vous ne voudrez peut-être pas / ne devrez pas intégrer tous les points de l'historique dans une seule carte t-SNE. Vous pouvez également effectuer une intégration en ligne en suivant ces étapes simples:
choisissez une fenêtre temporelle de durée T, suffisamment longue pour que chaque motif d'intérêt apparaisse au moins deux fois dans la durée de la fenêtre.
faites défiler la fenêtre au fur et à mesure que les données circulent, avec un pas de temps dt beaucoup plus petit que T. Pour chaque position de la fenêtre, calculez un t-SNE incorporant les points de données dans la fenêtre temporelle.
ensemencer chaque incorporation avec le résultat de la précédente. Dans t-SNE, il faut choisir les coordonnées initiales des points de données dans l'espace de faible dimension. Dans notre cas, comme nous choisissons dt beaucoup plus petit que T, deux plongements successifs partagent la plupart de leurs points de données. Pour tous les points de données partagés, faites correspondre leurs coordonnées initiales dans l'incorporation actuelle à leurs coordonnées finales dans l'incorporation précédente . Cette étape garantira que les modèles similaires ont une représentation cohérente à travers les incorporations successives. (dans l' implémentation sklearn en python, le paramètre de départ est "init". Par défaut, l'implémentation sklearn définit la position initiale des points de manière aléatoire)
Remarque 1: Il est important que les modèles d'intérêt apparaissent au moins une fois dans une fenêtre de temps donnée, afin que la mémoire de la représentation ne se perde pas lorsque la fenêtre glisse dans l'ensemble de données. En effet, le t-SNE ne converge généralement pas vers une solution unique mais uniquement vers un minimum local, donc si la mémoire est perdue, un modèle similaire pourrait être représenté de manière très différente dans deux instanciations d'une incorporation.
Note 2: Cette méthode est particulièrement pertinente lorsqu'il s'agit de séries chronologiques non stationnaires, où l'on souhaite suivre des modèles qui évoluent lentement dans le temps. En effet, chaque incorporation est ici adaptée spécifiquement à la petite fenêtre temporelle sur laquelle elle est calculée, garantissant qu'elle capture la structure temporellement locale de la meilleure façon (contrairement à une incorporation complète de l'ensemble de données non stationnaire).
Remarque 3: Dans cette méthode, les plongements successifs ne peuvent pas être parallélisés, car il faut le résultat de l'incorporation précédente pour ensemencer le suivant. Cependant, parce que la graine (c.-à-d. Les coordonnées initiales des points) est bien choisie pour la plupart des points (tous les points partagés entre les intégrations successives), une incorporation converge généralement très rapidement, en quelques itérations seulement.
Pour un exemple d'application de cette méthode à des séries chronologiques non stationnaires, voir cet article ( ICLR 2016, Apprendre des représentations stables dans un monde en mutation avec t-SNE en ligne: preuve de concept chez l'oiseau chanteur ), où il a été appliqué avec succès pour suivre l'émergence des syllabes à travers le développement de l'oiseau chanteur.