Выбор ответа Senior Кластеризация и снижение размерности обновлено
PCA или UMAP для признаков
Вопрос
Нужно снизить размерность эмбеддингов с 768 до 64 перед kNN-поиском в проде. Что разумнее?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: PCA (или обученная проекция): линейная, детерминированная, быстро применяется к новым точкам. Для снижения размерности как шага пайплайна важны стабильность, скорость трансформации новых объектов и сохранение расстояний.
Варианты ответа
- PCA (или обученная проекция): линейная, детерминированная, быстро применяется к новым точкамправильный ответ
- t-SNE до 64 измерений с perplexity 30: он лучше всех сохраняет соседства для kNN-поиска
- UMAP с perplexity 30: он нелинейный и сохраняет структуру лучше PCA при любых данных
- Случайно выбрать 64 координаты из 768: по Джонсону-Линденштрауссу расстояния сохранятся
Разбор
Для снижения размерности как шага пайплайна важны стабильность, скорость трансформации новых объектов и сохранение расстояний. PCA даёт всё это и легко проверяется по доле объяснённой дисперсии и recall поиска. t-SNE предназначен для визуализации в 2-3 измерения и не обобщается на новые точки. UMAP умеет transform, но стохастичен, медленнее и искажает расстояния; perplexity вообще параметр t-SNE.
- t-SNE в 64 измерения практически не используют.
- У UMAP нет perplexity и он не «всегда лучше».
- Случайный отбор координат теряет информацию; лемма Джонсона-Линденштраусса про случайную проекцию (смешивание всех координат), а не про выбор подмножества, она иногда уместна.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Кластеризация и снижение размерности»
- Isolation Forest
- Как выбрать число кластеров
- k-means на списках
- Средний силуэт
- Особенность DBSCAN
- Методы снижения размерности
- Один шаг k-means
- Гауссова смесь (GMM)