Изменения

Перейти к: навигация, поиск
Нет описания правки
[[Файл:MNIST_compression_methods_comparison.png|thumb|250px|Пример работы t-SNE, Isomap, Sammon mapping, LLE на dataset-е MNIST]]
'''t-SNE (Стохастическое вложение соседей с t-распределением)''' (англ. ''t-Distributed Stochastic Neighbor Embedding, t-SNE'') {{---}} алгоритм визуализации высокоразмерных данных с помощью представления каждой точки данных в двух или трехмерном пространстве.
Данный алгоритм является модификацией алгоритма SNEcтохастического вложения соседей, который будет описан далее.
== SNE Стохастическое вложение соседей ==
Пусть стоит задача вложить высокоразмерные точки <tex>x_i \in X</tex> в низкоразмерное пространство. Обозначим точки, которые получаются после вложения через <tex>y_i \in Y</tex>. '''SNE (Стохастическое вложение соседей)''' (англ. ''Stochastic Neighbor Embedding, SNE'') конвертирует расстояния в высокоразмерном Евклидовом пространстве между точками в условные вероятности <tex>p_{j|i}</tex>. <tex>p_{j|i}</tex> - вероятность, что точка <tex>x_i</tex> выберет в качестве своего соседа точку <tex>x_j</tex> среди остальных точек данных. Будем считать, что вероятность для точки <tex>x_i</tex> найти соседа падает с увеличением расстояния от точки <tex>x_i</tex> в соответствии с распределением Гаусса<ref>[https://ru.wikipedia.org/wiki/Нормальное_распределение Нормальное распределение]</ref> с нулевым [[Математическое ожидание случайной величины|математическим ожиданием]] и [[Дисперсия случайной величины|стандартным отклонением]] <tex>\sigma_i</tex>. В соответствии с этим <tex>p_{j|i}</tex> выражается как
<tex>p_{j|i} = \frac{\exp{(-{\left\Vert x_i - x_j \right\Vert}^2/2\sigma_i^2)}}{\sum\limits_{k \neq i}\exp{({-\left\Vert x_i - x_k \right\Vert}^2/2\sigma_i^2)}}</tex>.
Есть следующая физическая интерпретация модели. Между точками в низкоразмерном пространстве натянуты пружины между каждой парой точек <tex>y_i</tex> и <tex>y_j</tex>. действующие в направлении <tex>y_i - y_j</tex>. Пружины могут притягивать или отталкивать точки в зависимости от расстояния между ними. Сила, прикладываемая пружиной, пропорциональна её длине <tex>\left\Vert y_i - y_j \right\Vert</tex> и жесткости <tex>p_{j|i} - q_{j|i} + p_{i|j} - q_{i|j}</tex>. Оптимизация функционала в данном случае эквивалентна поиску положения точек, в котором будет наблюдаться равновесие сил.
== Симметричный SNE Симметричное стохастическое вложение соседей ==
Следующая модификация SNE носит название '''симметричный симметричное стохастическое вложение соседей''' (англ. ''Symmetric Stochastic Neighbor Embedding, Symmetric SNE'''). Было странно, что в классическом SNE <tex>p_{j|i} \neq p_{i|j}</tex> и <tex>q_{j|i} \neq q_{i|j}</tex>. Симметричный SNE {{---}} попытка исправить эту ситуацию путем определения совместных вероятностей вместо условных. Теперь:
<tex>C = KL(P \Vert Q) = \sum\limits_i \sum\limits_j p_{i j} \log_2 \frac {p_{i j}} {q_{i j}}</tex>.
При использовании обычного SNE возникает следующая проблема, которая вытекает из разного распределения вероятностей в высокоразмерном и низкоразмерном пространствах. Пусть есть некоторое высокоразмерное пространство. Пусть в нем точки равномерно распределены вокруг некоторой точки <tex>x_i</tex>. Теперь попытаемся вложить высокоразмерное пространство в низкоразмерное. Заметим, что область пространства, доступная для размещения умеренно-удаленных точек высокоразмерного пространства относительно области пространства, доступное для размещения близких точек высокоразмерного пространства достаточно мала по сравнению с тем же самым в исходном пространстве (нужно сравнить отношения объемов сфер в низкоразмерном и высокоразмерном пространствах). Таким образом, если мы хотим правильно моделировать маленькие расстояния и не иметь их в низкоразмерном пространстве между умеренно-удаленными точками высокоразмерного пространства, следовало бы поместить умеренно-удаленные точки подальше от точки <tex>x_i</tex>, чем в исходном. В таком случае на слишком эти далекие точки в низкоразмерном пространстве будет действовать небольшая сила притяжения от точки <tex>x_i</tex>. Но, принимая во внимание остальные точки, таких сил будет достаточно много, что схлопнет точки и будет мешать образованию кластеров.
== Стохастическое вложение соседей с t-SNE распределением ==
Чтобы избежать проблемы скученности было решено использовать в низкоразмерном пространстве t-распределение Стьюдента с одной степенью свободы<ref>[https://ru.wikipedia.org/wiki/Распределение_Стьюдента Распределение Стьюдента]</ref> вместо распределения Гаусса. Данное распределение очень похоже на распределение Гаусса, но имеет большую вероятностную массу на участках, отдаленных от нуля, что решает описанную выше проблему, т.к. теперь удаленные точки лучше отталкиваются.
<tex>\frac {\delta C} {\delta y_i} = 4 \sum\limits_j (p_{i j} - q_{i j})(y_i - y_j)(1 + {\left\Vert y_i - y_j \right\Vert}^2)^{-1}</tex>.
== Оптимизации в cтохастическом вложении соседей с t-SNE распределением ==
В t-SNE используется 2 основные оптимизации:
Анонимный участник

Навигация