Стохастическое вложение соседей с t-распределением — различия между версиями
(→Оптимизации в t-SNE) |
(→Физическая интерпретация) |
||
Строка 36: | Строка 36: | ||
== Физическая интерпретация == | == Физическая интерпретация == | ||
− | Есть следующая физическая интерпретация модели. Между точками в низкоразмерном пространстве натянуты пружины между каждой парой точек <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>. | + | Есть следующая физическая интерпретация модели. Между точками в низкоразмерном пространстве натянуты пружины между каждой парой точек <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 == |
Версия 13:41, 19 января 2020
Содержание
Определение
t-SNE (Стохастическое вложение соседей с t-распределением) -- алгоритм визуализации высокоразмерных данных с помощью представления каждой точки данных в двух или трехмерном пространстве.
Данный алгоритм является модификацией алгоритма SNE, который будет описан далее.
SNE
Пусть стоит задача вложить высокоразмерные точки
.
Теперь определим похожие вероятности
.
Заметим, что данное распределение получается из тех же самых предложений, что были сделаны для высокоразмерного пространства, за исключением того, что все распределения Гаусса имеют стандартное отклонение
для всех точек.Если удастся хорошо вложить высокоразмерное пространство в низкоразмерное, должны совпасть распределения совместных вероятностей. То есть
.
В данном случае имеем
.
Дивергенция Кульбэка-Лейблера не является симметричной мерой, поэтому, например, вложение близких точек в удаленные даёт гораздо большее значение ошибки, чем вложение далеких точек в близкие. Другими словами, целевая функция нацелена на сохранение локальной структуры вокруг точек.
Параметры
,
которая возрастает с ростом . В самом алгоритме вычисляются с помощью бинарного поиска по заранее заданной пользователем величине, называемой перплексией, которая определяется как
.
Изначально точки
Физическая интерпретация
Есть следующая физическая интерпретация модели. Между точками в низкоразмерном пространстве натянуты пружины между каждой парой точек
и . действующие в направлении . Пружины могут притягивать или отталкивать точки в зависимости от расстояния между ними. Сила, прикладываемая пружиной, пропорциональна её длине и жесткости . Оптимизацией функционала в данном случае является поиск положения точек, в котором будет наблюдаться равновесие сил.Симметричный SNE
Следующая модификация SNE носит название симметричный SNE. Было странно, что в классическом SNE
.
Очевидным образом определяется
,
но то же решение для привело бы к проблеме, что для выброса будет очень маленькой для любого , таким образом будет почти нулевой соответствующая дивергенция Кульбэка-Лейблера для любого распределения q_{i j}. Это означало бы, что положение точки определялось бы очень неточно относительно положения других точек. Поэтому в t-SNE определили как:
.
Очевидный плюс такого определения в том, что для всех точек, что хорошо скажется на выбросах. А также теперь , . Авторами утверждается, что симметричный SNE вкладывает данные в низкоразмерное пространство почти также как и ассимитричный, а иногда даже лучше.
Градиент при таком подходе принимает вид:
.Проблема скученности
При использовании обычного SNE возникает следующая проблема, которая вытекает из разного распределения вероятностей в высокоразмерном и низкоразмерном пространствах. Пусть есть некоторое высокоразмерное пространство. Пусть в нем точки равномерно распределены вокруг некоторой точки
. Теперь попытаемся вложить высокоразмерное пространство в низкоразмерное. Заметим, что область пространства, доступная для размещения умеренно-удаленных точек высокоразмерного пространства относительно области пространства, доступное для размещения близких точек высокоразмерного пространства достаточно мала по сравнению с тем же самым в исходном пространстве (нужно сравнить отношения объемов сфер в низкоразмерном и высокоразмерном пространствах). Таким образом, если мы хотим правильно моделировать близкие расстояния и не иметь лишних маленьких расстояний, возникающих между умеренно-удаленными между собой точками, следовало бы поместить умеренно-удаленные точки подальше от точки , чем в исходном. В таком случае на слишком далекие точки в низкоразмерном пространстве будет действовать небольшая сила притяжения от точки . Но, принимая во внимание остальные точки, таких сил будет достаточно много, что схлопнет точки и будет мешать образованию кластеров.t-SNE
Чтобы избежать проблемы скученности было решено использовать в низкоразмерном пространстве t-распределение Стьюдента с одной степенью свободы вместо распределения Гаусса. Данное распределение очень похоже на распределение Гаусса, но имеет большую вероятностную массу на участках, отдаленных от нуля, что решает описанную выше проблему, т.к. теперь удаленные точки лучше отталкиваются.
В связи с заменой распределения
.
Еще одно свойство данного распределения состоит в том, что
описывает закон обратных квадратов для далеких точек в низкоразмерном пространстве, что позволяет думать не об отдельных точках, а о кластерах, которые будут взаимодействовать между собой как отдельные точки.После замены распределения изменился градиент целевой функции, теперь он равен:
.
Оптимизации в t-SNE
В t-SNE используется 2 основные оптимизации:
1) Первая оптимизация называется "раннее сжатие". В данной оптимизации на ранних итерациях оптимизации к целевой функции добавляется
-штраф на расстояния в низкоразмерном пространстве, что влечет за собой сжатие всех точек в нуле. В связи с этим кластерам будет легче переходить друг через друга, чтобы правильно расположиться в пространстве.2) Вторая оптимизация называется "раннее преувеличение". В данной оптимизации на ранних итерациях
умножаются на некоторое положительное число, например на . Так как остаются теми же самыми, они слишком маленькие, чтобы моделировать соответствующие . Как следствие, образуются очень плотные кластера, которые широко раскиданы в низкоразмерном пространстве. Это создает много пустого пространства, которое используется кластерами, чтобы легко менять и находить наилучшее взаимное расположение.