t-распределённое стохастическое вложение соседей (t-SNE)
Изучите t-SNE, мощный метод визуализации многомерных данных. Узнайте о его использовании, преимуществах и применении в AI и ML.
t-распределенное стохастическое вложение соседей (t-distributed Stochastic Neighbor Embedding, t-SNE) — это мощный нелинейный метод снижения размерности, используемый в основном для визуализации данных. Он позволяет исследователям и специалистам в области машинного обучения (ML) визуализировать многомерные наборы данных в пространстве низкой размерности, обычно в виде 2D- или 3D-графика. Разработанный Лоренсом ван дер Маатеном и Джеффри Хинтоном, его главная сила заключается в замечательной способности выявлять лежащую в основе локальную структуру данных, такую как кластеры и многообразия, которые другие методы могут пропустить. Реализации широко доступны в библиотеках, таких как Scikit-learn, и фреймворках, таких как PyTorch.
Основная идея t-SNE (t-distributed Stochastic Neighbor Embedding) заключается в размещении похожих точек данных близко друг к другу, а непохожих точек — далеко друг от друга на карте меньшей размерности. Это достигается путем преобразования многомерных евклидовых расстояний между точками данных в условные вероятности, представляющие сходства. Затем он использует аналогичное распределение вероятностей на карте меньшей размерности и минимизирует расхождение между этими двумя распределениями.
Приложения в области ИИ и МО
t-SNE широко используется для визуального исследования в различных областях искусственного интеллекта (AI).
- Визуализация признаков нейронной сети: В компьютерном зрении (CV) t-SNE неоценим для понимания того, что изучила модель глубокого обучения. Например, вы можете взять векторные представления (embeddings) признаков из промежуточного слоя сверточной нейронной сети (CNN), обученной для классификации изображений, и использовать t-SNE для их построения. Если модель, такая как модель Ultralytics YOLO, хорошо обучена на наборе данных, таком как CIFAR-10, результирующий график покажет отдельные кластеры, соответствующие различным категориям изображений (например, «кошки», «собаки», «автомобили»). Это обеспечивает визуальное подтверждение дискриминационной способности модели.
- Исследование текстовых данных: В обработке естественного языка (NLP) t-SNE может визуализировать многомерные векторные представления слов (word embeddings), такие как Word2Vec или GloVe. Это помогает в понимании семантических связей между словами; например, слова, такие как «король», «королева», «принц» и «принцесса», будут кластеризоваться вместе. Такие визуализации полезны для исследования текстовых корпусов и отладки языковых моделей, используемых в таких задачах, как классификация документов.
- Биоинформатика и медицинская визуализация: Исследователи используют t-SNE для визуализации сложных биологических данных, таких как паттерны экспрессии генов из микрочипов, для идентификации популяций клеток или подтипов заболеваний. Он также используется в анализе медицинских изображений для кластеризации различных типов тканей или опухолей, как, например, в наборе данных об опухолях головного мозга.
T-SNE против других методов
Важно отличать t-SNE от других методов снижения размерности.
- Метод главных компонент (PCA): PCA — это линейный метод, ориентированный на сохранение максимальной дисперсии в данных, что соответствует сохранению крупномасштабной, глобальной структуры. В отличие от этого, t-SNE — это нелинейный метод, который отлично выявляет локальную структуру (то есть то, как отдельные точки данных группируются вместе). В то время как PCA быстрее и детерминирован, его линейная природа может не позволить зафиксировать сложные взаимосвязи, которые может t-SNE. Обычно сначала используют PCA для уменьшения набора данных до промежуточного числа измерений (например, 30-50) перед применением t-SNE для снижения вычислительной нагрузки и шума.
- Autoencoders (Автокодировщики): Автокодировщики - это тип нейронной сети, которая может изучать мощные нелинейные представления данных. Будучи более гибкими, чем PCA и t-SNE, они часто менее интерпретируемы и требуют больше вычислительных ресурсов для обучения. Они в основном используются для извлечения признаков, а не для прямой визуализации.
Соображения и ограничения
Несмотря на свою мощность, у t-SNE есть некоторые ограничения, которые пользователи должны учитывать.
- Вычислительные затраты: Алгоритм имеет квадратичную временную и пространственную сложность по отношению к количеству точек данных, что замедляет его работу на наборах данных с сотнями тысяч образцов. Такие методы, как Barnes-Hut t-SNE, значительно повышают производительность.
- Чувствительность к гиперпараметрам: Результаты могут быть значительно подвержены влиянию ее гиперпараметров, особенно «perplexity», который является предположением о количестве близких соседей каждой точки. Не существует единого, универсально наилучшего значения perplexity. Отличным ресурсом для понимания этих эффектов является статья Distill «Как эффективно использовать t-SNE».
- Интерпретация глобальной структуры: Визуализации t-SNE следует интерпретировать с осторожностью. Относительные размеры кластеров и расстояния между ними на итоговом графике не обязательно отражают фактическое разделение в исходном многомерном пространстве. Основное внимание алгоритма уделяется сохранению локальных окрестностей, а не глобальной геометрии. Такие инструменты, как TensorFlow Projector, позволяют проводить интерактивное исследование, которое может помочь сформировать интуицию. Управление и визуализация таких анализов могут быть оптимизированы с помощью таких платформ, как Ultralytics HUB.