Имеет ли смысл ближайший сосед с t-SNE?


10

Ответы здесь утверждают, что размеры в t-SNE не имеют смысла , и что расстояния между точками не являются мерой сходства .

Однако можем ли мы что-нибудь сказать о точке, основанной на ее ближайших соседях в пространстве t-SNE? Этот ответ на вопрос, почему точки, которые в точности совпадают, не являются кластеризованными, предполагает, что соотношение расстояний между точками одинаково между представлениями более низкого и более высокого измерений.

Например, изображение ниже показывает t-SNE в одном из моих наборов данных (15 классов).

Могу ли я сказать, что cro 479(вверху справа) является выбросом? Является ли fra 1353(внизу слева) больше похожим cir 375на другие изображения в fraклассе и т. Д.? Или это могут быть просто артефакты, например, они fra 1353застряли на другой стороне нескольких кластеров и не могут пробиться к другому fraклассу?

введите описание изображения здесь



Ответы:


8

Нет, не обязательно, что это так, однако, это запутанная цель T-SNE.

Прежде чем углубляться в суть ответа, давайте взглянем на некоторые основные определения, как математически, так и интуитивно.

Ближайшие соседи : рассмотрим метрическое пространство и набор векторов , учитывая новый вектор мы хотим найти точки такие, что, Интуитивно понятно, что это просто минимум расстояний, использующий подходящее определение нормы в .рdИкс1,,,,,ИксNрdИксрd||Икс1-Икс||,,,||ИксN-Икс||рd

Теперь перейдем к вопросу, действительно ли ближайшие соседи имеют значение при применении уменьшения размерности. Обычно в своих ответах я намереваюсь что-то объяснить с помощью математики, кода и интуиции. Давайте сначала рассмотрим интуитивный аспект вещей. Если у вас есть точка, которая находится на расстоянии от другой точки, из нашего понимания алгоритма t-sne мы знаем, что это расстояние сохраняется при переходе в более высокие измерения. Предположим далее, что точка является ближайшим соседом в некотором измерении . По определению существует связь между расстоянием в иdYИксddd+К, Итак, у нас есть интуиция, которая заключается в том, что расстояние поддерживается в разных измерениях, или, по крайней мере, это то, к чему мы стремимся. Попробуем обосновать это какой-нибудь математикой.

В этом ответе я говорю о математике, связанной с t-sne, хотя и не подробно ( t-SNE: почему одинаковые значения данных визуально не близки? ). В данном случае математика в основном максимизирует вероятность того, что две точки останутся близкими в проецируемом пространстве, как они находятся в исходном пространстве, предполагая, что распределение точек экспоненциально. Итак, глядя на это уравнение . Обратите внимание, что вероятность зависит от расстояния между двумя точками, поэтому, чем дальше они находятся друг от друга, тем дальше они находятся друг от друга, когда проецируются на более низкие измерения. Обратите внимание, что если они находятся далеко друг от друга впJ|язнак равноеИксп(-||ИксJ-Икся||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.


Спасибо за хороший ответ. Подводя итог: точки, которые имеют высокое сходство, имеют высокую вероятность остаться рядом. Я предполагаю, что параметр недоумения контролирует, сколько точек используется для вычисления вероятности, поэтому кластеры могут стать непересекающимися, если недоумение низкое. Можете ли вы прокомментировать раннее преувеличение? Кроме того, я предполагаю, что вероятность того, что точки будут отклоняться или неправильно классифицироваться (имея все их NN в другом классе) с использованием пространства TSNE, будет увеличена, если они будут согласованы после нескольких TSNE со случайной инициализацией?
геометрикал

Да, недоумение является одним из основных факторов, который влияет на то, как близко точки находятся друг к другу. Раннее преувеличение, интуитивно, это то, насколько узкие кластеры в исходном пространстве и сколько пространства будет между ними во встроенном пространстве (так что это смесь недоумения и раннего преувеличения, которое влияет на расстояния между точками. Относительно вашего последнего вопроса, ответ да, это из-за возведения в норму нормы, которая может вызвать проблемы во встраиваемом пространстве, поэтому есть вероятность ошибочной классификации
PSub
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.