Uniform Manifold Aproximation and Projection (UMAP) este un algoritm de învățare automată care efectuează reducerea neliniară a dimensionalității [1] .
UMAP a fost creat de Leland McInnes împreună cu colegii săi de la Institutul Tutt . Scopul a fost de a avea un algoritm similar cu t-SNE [2] dar cu o bază matematică mai puternică [3] .
Când reduceți dimensiunea, UMAP efectuează mai întâi o construcție grafică ponderată , conectând marginile numai la acele obiecte care sunt cele mai apropiate. Mulțimea muchiilor unui graf este o mulțime neclară cu o funcție de membru , este definită ca probabilitatea existenței unei muchii între două vârfuri. Apoi algoritmul creează un grafic în spațiul de dimensiuni reduse și îl aproximează cu cel original, minimizând suma divergențelor Kullback-Leibler [a] pentru fiecare muchie din mulțimile [4] [5] .
Algoritmul UMAP este utilizat în diverse domenii ale științei: bioinformatică , știința materialelor , învățarea automată [6] .
Algoritmul primește o selecție de obiecte pentru procesare: . UMAP calculează distanța dintre obiecte în funcție de o metrică dată și pentru fiecare obiect determină o listă cu cei mai apropiați vecini ai săi: .
În plus, pentru fiecare obiect se calculează distanța până la cel mai apropiat vecin: . Precum și valoarea dată de ecuație:
.Apoi, algoritmul construiește un grafic direcționat ponderat în care muchiile conectează fiecare obiect cu vecinii săi. Greutatea unei margini de la un obiect la vecinul său se calculează după cum urmează:
Cel obținut mai devreme normalizează suma greutăților pentru fiecare obiect la un număr dat .
Deoarece UMAP construiește un grafic direcționat ponderat, între vârfuri pot exista două muchii cu greutăți diferite. Greutatea unei muchii este interpretată ca probabilitatea existenței unei muchii date de la un obiect la altul. Pe baza acesteia, muchiile dintre două vârfuri sunt combinate într-unul singur cu o pondere egală cu probabilitatea existenței a cel puțin unei muchii:
.Astfel, algoritmul obține un graf nedirecționat ponderat [7] .
Mulțimea muchiilor unui astfel de grafic este un set neclar de variabile aleatoare Bernoulli . Algoritmul creează un nou grafic într-un spațiu cu dimensiuni reduse și aproximează setul marginilor sale de cel original. Pentru a face acest lucru, minimizează suma divergențelor Kullback-Leibler pentru fiecare muchie din seturile fuzzy originale și noi:
[8] , este funcția de apartenență a unui set neclar de muchii într-un spațiu de dimensiuni mari, este funcția de membru a unui set neclar de muchii într-un spațiu cu dimensiuni reduse.UMAP rezolvă problema minimizării utilizând coborârea gradientului stocastic . Setul de margini rezultat determină noua locație a obiectelor și, în consecință, maparea cu dimensiuni reduse a spațiului original.