t-SNE: почему одинаковые значения данных визуально не близки?

9

У меня есть 200 точек данных, которые имеют одинаковые значения для всех функций.

После уменьшения размера t-SNE они больше не выглядят такими ровными, вот так: введите описание изображения здесь

Почему они не находятся в одной точке визуализации и даже, кажется, распределены в двух разных кластерах?

ScientiaEtVeritas
источник
4
Обязательно прочитайте distill.pub/2016/misread-tsne
Emre
Может ли это быть вызвано используемой вами точностью (double / float)?
Эль Бурро
Большинство значений являются целыми числами. И это очень мало, около 500 функций, в основном с нулями. Я не знаю, может ли это быть вызвано точностью. Но расстояние между этими кластерами и между этими точками данных относительно велико.
ScientiaEtVeritas
Какие кластеры? Я думал, что все одинаковы - или вы имеете в виду сюжет?
Эль Бурро
Да, я имею в виду кластеры на участке.
ScientiaEtVeritas

Ответы:

3

Вы правы в том, что одни и те же значения в T-SNE могут быть распределены по разным точкам, причина этого очевидна, если взглянуть на алгоритм, по которому работает T-SNE.

x1=[0,1]x2=[0,1]

import numpy as np from sklearn.manifold import TSNE m = TSNE(n_components=2, random_state=0) m.fit_transform(np.array([[0,1],[0,1]]))

Вы также заметите, что изменение random_stateфактически изменяет выходные координаты модели. Нет никакой реальной корреляции между фактическими координатами и их результатами. Так как первый шаг TSNE вычисляет условную вероятность.

xixjpj|i=exp(||xjxi||22σ2)kiexp(||xjxi||22σ2)pij=pi|j+pj|i2Npijxixj

R2

Таким образом, правда заключается не в том, чтобы смотреть на эти два кластера, а на расстояние между ними, потому что оно передает больше информации, чем сами координаты.

Надеюсь, что это ответил на ваш вопрос :)

PSub
источник