UMAP

Материал из testwiki
Перейти к навигации Перейти к поиску

Uniform Manifold Approximation and Projection (UMAP) — алгоритм машинного обучения, выполняющий нелинейное снижение размерностиШаблон:Sfn.

История создания и описание

UMAP был создан Лилендом Макиннесом совместно с его коллегами из Таттского института. Целью было получить алгоритм, похожий на t-SNEШаблон:Sfn, но с более сильным математическим обоснованием[1].

При снижении размерности UMAP сначала выполняет построение взвешенного графа, соединяя ребрами только те объекты, которые являются ближайшими соседями. Множество из ребер графа — это нечёткое множество с функцией принадлежности, она определяется как вероятность существования ребра между двумя вершинами. Затем алгоритм создает граф в низкоразмерном пространстве и приближает его к исходному, минимизируя сумму дивергенций Кульбака-ЛейблераШаблон:Efn для каждого ребра из множествШаблон:Sfn[2].

Алгоритм UMAP используется в различных областях науки: биоинформатика, материаловедение, машинное обучение[3].

Принцип работы алгоритма

На обработку алгоритму поступает выборка из n объектов: X={x1,,xn}. UMAP рассчитывает расстояние между объектами по заданной метрике и для каждого объекта xi определяет список из его k ближайших соседей: T={t1,,tk}.

Помимо этого, для каждого объекта рассчитывается расстояние до его ближайшего соседа: ρi=mintTd(xi,t). А также величина σi, заданная уравнением:

tTexp(d(xi,t)ρiσi)=log2k.

Далее алгоритм выполняет построение взвешенного ориентированного графа, в котором ребра соединяют каждый объект с его соседями. Вес ребра от xi объекта до его tj соседа рассчитывается следующим образом:

w(xitj)=exp(d(xi,tj)ρiσi)

Полученная ранее σi нормирует сумму весов для каждого объекта к заданному числу log2k.

Так как UMAP строит взвешенный ориентированный граф, то между вершинами могут существовать два ребра с разными весами. Вес ребра интерпретируется как вероятность существования данного ребра от одного объекта к другому. Исходя из этого, ребра между двумя вершинами объединяются в одно с весом, равным вероятности существования хотя бы одного ребра:

w(xi,xj)=w(xixj)+w(xjxi)w(xixj)w(xjxi).

Таким образом, алгоритм получает взвешенный неориентированный графШаблон:Sfn.

Множество ребер E такого графа является нечетким множеством из случайных величин Бернулли. Алгоритм создает новый граф в низкоразмерном пространстве и приближает множество его ребер к исходному. Для этого он минимизирует сумму дивергенций Кульбака-Лейблера для каждого ребра e из исходного и нового нечетких множеств:

eEwh(e)logwh(e)wl(e)+(1wh(e))log(1wh(e)1wl(e))minwlШаблон:Sfn,
wh(e) — функция принадлежности нечеткого множества из ребёр в высокоразмерном пространстве,
wl(e) — функция принадлежности нечеткого множества из ребёр в низкоразмерном пространстве.

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

Программное обеспечение

Литература

Примечания

Шаблон:Примечания Шаблон:Комментарии

Ссылки