Математическая статистика и машинное обучение для наук о жизни

Почему UMAP превосходит tSNE

Действительно ли инициализация имеет значение?

Это четырнадцатый пост из столбца Математическая статистика и машинное обучение для наук о жизни, где я пытаюсь объяснить простым языком некоторые загадочные аналитические методы, используемые в биоинформатике, Биомедицина, генетика и т. Д. В моих предыдущих сообщениях Как именно работает UMAP и Как программировать UMAP с нуля я объяснил ограничения tSNE и как UMAP преодолевает их. Судя по полученным отзывам, мне показалось, что основной посыл публикаций недостаточно подчеркнут. Итак, здесь я хотел бы еще раз подчеркнуть ключевую проблему tSNE, которая заключается в расхождении Кульбака-Лейблера (KL), и проверить недавнюю гипотезу о том, что инициализация влияет на уменьшение размеров tSNE и UMAP.

KL-дивергенция как корень проблем для tSNE

Если вы попытаетесь понять разницу между tSNE и UMAP, первое, что вы заметите, прочитав документ UMAP, это то, что UMAP использует Лапласиан графов для своей инициализации, тогда как tSNE по умолчанию реализует случайную инициализацию . Следовательно, если вы хороший детектив, есть соблазн сказать, что именно неслучайная инициализация делает UMAP лучше tSNE.

Мы собираемся проверить гипотезу инициализации для нескольких реальных наборов данных RNAseq (scRNAseq) одной клетки ниже. Однако сначала я хотел бы вкратце напомнить, почему оптимизация KL-дивергенции делает tSNE невозможным для сохранения глобальных расстояний при выполнении уменьшения размерности. Просто построив функции затрат tSNE (KL-дивергенция) и UMAP (кросс-энтропия (CE)) друг относительно друга, ниже мы можем увидеть, что на большие расстояния, X, между точками в больших измерениях, расстояния Y между точками в низких измерениях не гарантируются, чтобы быть большими в смысле штрафа KL. Напротив, вы получаете огромный штраф за перекрестную энтропию (CE) для большого X в случае, если Y мало. Поэтому более разумный выбор функции стоимости с помощью UMAP действительно гарантирует, что точки, расположенные далеко друг от друга в больших измерениях, останутся далеко друг от друга в низких измерениях.

Я подробно объяснил это серьезное расхождение в функциях стоимости между tSNE и UMAP в предыдущем посте Как именно работает UMAP. Единственный способ для tSNE лучше сохранять глобальное расстояние - это выйти далеко за пределы рекомендованного (от 5 до 50) диапазона значений недоумения. Однако это вычислительно дорого и по-прежнему не гарантирует сохранения глобального расстояния, потому что вы никогда не можете быть уверены в том, что недоумение или параметр σ в параметре приведенное ниже уравнение для вероятности наблюдения точек на расстоянии X, уходит на бесконечность быстрее, чем X.

Опять же, проверьте Как точно работает UMAP, чтобы узнать подробности. Если вы действительно хотите попробовать большие затруднения для набора данных, например, 1M ячеек, где большие затруднения становятся особенно важными для разрешения глобальной структуры, и вы хотели бы достичь недоумения 500–1000, вам лучше иметь как минимум 1 ТБ ОЗУ и подождать несколько дней. Я описал вычислительные проблемы достижения больших затруднений ранее в посте Глубокое обучение для одноклеточной биологии, где мне никогда не удавалось достичь недоумения = 500 на узле кластера HPC с 512 ТБ ОЗУ для набора данных 1,3 млн ячеек. Здесь я хотел бы еще раз подчеркнуть

Пока tSNE использует KL-дивергенцию в качестве функции стоимости, он не может конкурировать с UMAP в сохранении глобального расстояния.

Однако, если бы tSNE использовал бы другую, более разумную функцию затрат, это уже не было бы tSNE, не так ли?

tSNE: разные сценарии инициализации

Здесь мы собираемся проверить, влияет ли и как инициализация случайных, главных компонент (PCA) и лапласовских собственных карт, то есть графа лапласиана, на графики уменьшения размерности tSNE. Для этой цели я буду использовать несколько наборов данных scRNAseq из моих предыдущих постов Как кластеризовать в больших измерениях и Как настроить гиперпараметры tSNE, где я продемонстрировал несколько правил выбора оптимальной сложности, количества главных компонентов (ПК) и алгоритм кластеризации, которые подходят для конкретного набора данных scRNAseq. Здесь мы собираемся читать наборы данных scRNAseq в цикле, вычислять PCA и собственные лапласианские карты как

и использовать результаты кластеризации (раскрашивание ячеек) и оптимальные гиперпараметры (optPerp и optPC), определенные в двух предыдущих сообщениях, упомянутых выше, для вычисления графиков tSNE для различных сценариев инициализации.

Графики уменьшения размерности tSNE, вычисленные для нескольких наборов данных scRNAseq для инициализаций случайных, PCA и лапласовских собственных карт, показаны ниже.

Лично я не наблюдаю большой разницы в графиках уменьшения размерности tSNE между разными сценариями инициализации. Однако, принимая во внимание монотонную функциональную форму KL-дивергенции, описанную выше, я ожидал бы, что при достаточном времени / итерациях для обучения алгоритм tSNE не должен быть чувствительным. условиям инициализации. Другими словами, если вы начнете, например, инициализации PCA и преждевременного прерывания tSNE, он по-прежнему будет напоминать PCA и, следовательно, сохранит большую часть глобальной структуры. Однако, если вы продолжите тренировку tSNE, ущерб от KL-дивергенции для глобального сохранения расстояния будет все более и более заметным и в конечном итоге преодолеет положительный эффект «хорошей» инициализации.

UMAP: разные сценарии инициализации

Здесь мы собираемся повторить тот же цикл для наборов данных scRNAseq, но сделаем графики уменьшения размерности UMAP для разных сценариев инициализации.

Опять же, разница в графиках уменьшения размерности UMAP для разных сценариев инициализации не очевидна. Мы можем заметить, что иногда графики UMAP приводят к слишком большому количеству пробелов. Однако на самом деле это отлично подходит для кластеризации. Практически любой алгоритм кластеризации сможет идентифицировать хорошо разделенные плотные капли точек данных как кластеры. Поэтому использование алгоритма кластеризации на основе плотности, такого как HDBSCAN на графике 2D UMAP, кажется простым. В случае, если внутренняя размерность данных не равна 2, по-прежнему просто использовать ряд важных компонентов UMAP, например, кластеризация на основе графов, которая является наиболее надежной для данных большой размерности. Кластеризация данных scRNAseq по важным компонентам UMAP, таким образом, должна быть более информативной по сравнению с нынешней кластеризацией по золотому стандарту по ряду значимых Основные компоненты (ПК) реализованы в большинстве конвейеров анализа scRNAseq. Напротив, кластеризация на количестве компонентов tSNE является очень сложной вычислительной задачей.

Заключительные комментарии

Я получил много отзывов из моих предыдущих постов Как именно работает UMAP и Как программировать UMAP с нуля, и хотел бы кратко ответить на несколько наиболее распространенных вопросов.

  • Что такого особенного? UMAP и tSNE одинаково хорошо работают для нас

Действительно, качество 2D-визуализаций часто сравнимо между tSNE и UMAP. Однако математика, лежащая в основе этих двух, очень разная. Хотя tSNE предназначен исключительно для целей визуализации, UMAP - это гораздо больше. Для сообщества scRNAseq наиболее важным, вероятно, является то, что кластеризация компонентов UMAP - это нормально, тогда как для tSNE это не так.

  • Обычно мы запускаем UMAP и tSNE в компьютерном кластере HPC и не видим тех вычислительных проблем, о которых вы говорите

Действительно, опытные специалисты по данным не увидят большой разницы в использовании tSNE или UMAP, чего нельзя сказать о людях с биологическим происхождением, которые составляют большую часть сообщества scRNAseq. Хотя UMAP можно запускать на портативном компьютере для довольно больших наборов данных, обычно вам потребуется много оперативной памяти и ЦП и, следовательно, кластер HPC для запуска tSNE с этими наборами данных.

  • tSNE действительно может сохранять глобальные расстояния с большим недоумением

Теоретически да. На практике становится невозможным достичь больших затруднений для больших наборов данных. Создание одного графика tSNE может занять дни и тонны ОЗУ, что делает практически невозможным применение процедуры повторной выборки для алгоритма tSNE.

  • Почему вы так несправедливо по отношению к tSNE?

На самом деле я большой поклонник tSNE и считаю его передовым методом, который произвел революцию во многих областях науки о данных. Тем не менее, tSNE необходимо справляться с растущими объемами данных и требованиями более интеллектуального анализа, который в настоящее время ограничен очень важными допущениями алгоритма tSNE, такими как KL-дивергенция. Подобно тому, почему Evolution предпочитает людей с более высокой физической подготовкой, новые данные нуждаются в более гибких и интеллектуальных алгоритмах уменьшения размеров с улучшенной функцией приспособленности / стоимости, то есть UMAP.

Резюме

В этом посте мы узнали, что KL-дивергенция является основным препятствием для глобального сохранения расстояния алгоритмом tSNE. Основываясь на проверке нескольких наборов данных scRNAseq, мы не смогли подтвердить, что на уменьшение размеров tSNE и UMAP влияют разные сценарии инициализации.

В комментариях ниже дайте мне знать, какие аналитические методы в Науках о жизни кажутся вам особенно загадочными, и я постараюсь осветить их в будущих публикациях. Проверяйте коды из поста на моем гитхабе. Следите за мной на Medium Николай Осколков, в Twitter @NikolayOskolkov и подключайтесь в Linkedin. В следующий раз я обращусь к эволюционной биологии и покажу, как оценить размер популяции в прошлом с помощью древней ДНК, следите за обновлениями.