Насколько я знаю, как автоэнкодеры, так и t-SNE используются для нелинейного уменьшения размерности. Каковы различия между ними и почему я должен использовать одно против другого?
Насколько я знаю, как автоэнкодеры, так и t-SNE используются для нелинейного уменьшения размерности. Каковы различия между ними и почему я должен использовать одно против другого?
Ответы:
Они оба пытаются найти более низкую размерность встраивания ваших данных. Однако существуют разные проблемы минимизации. Более конкретно, автоматический кодер пытается минимизировать ошибку восстановления, в то время как t-SNE пытается найти пространство меньшего размера и в то же время пытается сохранить соседние расстояния. В результате этого атрибута t-SNE обычно предпочтительнее для графиков и визуализаций.
[Автоэнкодеры] в первую очередь фокусируются на максимизации дисперсии данных в скрытом пространстве, в результате чего автоэнкодеры менее успешны в сохранении локальной структуры данных в скрытом пространстве, чем обучающиеся по множеству ...
Из «Изучения параметрического вложения путем сохранения локальной структуры» Лорен ван дер Маатен ( https://lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf )
Автоэнкодер и t-SNE могут использоваться вместе для лучшей визуализации в данных большого размера, как описано в [1]:
В частности, для 2D-визуализации t-SNE, вероятно, является наилучшим алгоритмом, но обычно для этого требуются относительно небольшие данные. Таким образом, хорошей стратегией для визуализации отношений сходства в многомерных данных является начало с использованием автоматического кодера для сжатия ваших данных в низкоразмерное пространство (например, 32-мерное), а затем использование t-SNE для сопоставления сжатых данных с двухмерной плоскостью. ,
[1] https://blog.keras.io/building-autoencoders-in-keras.html
Автоэнкодер предназначен для сохранения предыдущих данных в двухнормативном смысле, что можно считать сохранением кинетической энергии данных, если данные являются скоростью.
В то время как в t-SNE используется дивергенция KL, которая не является симметричной, это приведет к тому, что t-SNE будет уделять больше внимания локальной структуре, в то время как автоэнкодер стремится сохранить общую ошибку L2 небольшой, что в глобальном смысле.