Нет, не обязательно, что это так, однако, это запутанная цель T-SNE.
Прежде чем углубляться в суть ответа, давайте взглянем на некоторые основные определения, как математически, так и интуитивно.
Ближайшие соседи : рассмотрим метрическое пространство и набор векторов , учитывая новый вектор мы хотим найти точки такие, что, Интуитивно понятно, что это просто минимум расстояний, использующий подходящее определение нормы в .рdИкс1, . , , , XN∈ Rdx ∈ Rd|| Икс1- х | | ≤ . , , ≤ | |ИксN- х | |рd
Теперь перейдем к вопросу, действительно ли ближайшие соседи имеют значение при применении уменьшения размерности. Обычно в своих ответах я намереваюсь что-то объяснить с помощью математики, кода и интуиции. Давайте сначала рассмотрим интуитивный аспект вещей. Если у вас есть точка, которая находится на расстоянии от другой точки, из нашего понимания алгоритма t-sne мы знаем, что это расстояние сохраняется при переходе в более высокие измерения. Предположим далее, что точка является ближайшим соседом в некотором измерении . По определению существует связь между расстоянием в иdYИксddd+ к, Итак, у нас есть интуиция, которая заключается в том, что расстояние поддерживается в разных измерениях, или, по крайней мере, это то, к чему мы стремимся. Попробуем обосновать это какой-нибудь математикой.
В этом ответе я говорю о математике, связанной с t-sne, хотя и не подробно ( t-SNE: почему одинаковые значения данных визуально не близки? ). В данном случае математика в основном максимизирует вероятность того, что две точки останутся близкими в проецируемом пространстве, как они находятся в исходном пространстве, предполагая, что распределение точек экспоненциально. Итак, глядя на это уравнение . Обратите внимание, что вероятность зависит от расстояния между двумя точками, поэтому, чем дальше они находятся друг от друга, тем дальше они находятся друг от друга, когда проецируются на более низкие измерения. Обратите внимание, что если они находятся далеко друг от друга впJ |я= е х р ( - | | xJ- хя||22 σ2)ΣК ≠ яе х р ( - | | хJ- хя||22 σ2)рК, есть большая вероятность, что они не будут близки в прогнозируемом измерении. Итак, теперь у нас есть математическое обоснование того, почему точки «должны» оставаться близкими. Но, опять же, поскольку это экспоненциальное распределение, если эти точки находятся значительно далеко друг от друга, нет гарантии, что свойство ближайших соседей сохраняется, хотя это и является целью.
Теперь, наконец, хороший пример кодирования, который демонстрирует эту концепцию тоже.
from sklearn.manifold import TSNE
from sklearn.neighbors import KNeighborsClassifier
X = [[0],[1],[2],[3],[4],[5],[6],[7],[8],[9]]
y = [0,1,2,3,4,5,6,7,8,9]
neighs = KNeighborsClassifier(n_neighbors=3)
neighs.fit(X, y)
X_embedded = TSNE(n_components=1).fit_transform(X)
neighs_tsne = KNeighborsClassifier(n_neighbors=3)
neighs_tsne.fit(X_embedded, y)
print(neighs.predict([[1.1]]))
>>>[0]
print(neighs_tsne.predict([[1.1]]))
>>>[0]
Хотя это очень наивный пример и не отражает сложности, он работает экспериментально для некоторых простых примеров.
РЕДАКТИРОВАТЬ: Кроме того, добавив некоторые моменты в отношении самого вопроса, так что нет необходимости, что это так, может быть, однако, рационализация его с помощью математики докажет, что у вас нет конкретного результата (нет окончательного да или нет) ,
Я надеюсь, что это прояснило некоторые ваши проблемы с TSNE.