Analiza danych wielowymiarowych znajduje zastosowanie w wielu różnych dziedzinach nauki, takich jak medycyna, biologia, psychologia lub ekonomia. Często wyniki obserwacji lub badań są zapisywane w postaci wektorów o wielu współrzędnych. Niestety, nadal dużym problemem jest analiza tych danych i pozyskiwanie z nich szukanych informacji.
W ostatnich kilkunastu latach opracowano wiele metod służących do ekstrakcji cech. Znaczna część z nich opiera się na wizualizacji danych w dwu lub trójwymiarowej przestrzeni za pomocą odpowiednich przekształceń. Jedną z nieliniowych metod ekstrakcji cech jest skalowanie wielowymiarowe (ang. Multidimensional Scaling - MDS). Metoda ta polega na poszukiwaniu takiego ułożenia D- wymiarowych wektorów w docelowej d-wymiarowej przestrzeni (d=2,3 i d<<D), aby oryginalne odległości pomiędzy D-wymiarowymi wektorami zostały jak najlepiej zachowane. Główną przeszkodą w zastosowaniu algorytmu MDS do mapowani dużych zbiorów danych jest jego złożoność czasowa, która jest liniowo zależna od ilości odległości pomiędzy wektorami. Jest ona rzędu O(N2), gdzie N oznacza ilość wektorów. W ramach pracy przeanalizowano i przetestowano dwa różne podejścia pozwalające na przyśpieszenie obliczeń:
• redukcja ilości odległości używanych podczas mapowania, tj. wzięcie pod uwagę tylko małego podzbioru elementów macierzy odległości
• przyśpieszenie obliczeń poprzez ich rozproszenie pomiędzy komputery lub wykorzystanie urządzeń GPU
Wszystkie zaproponowane w ramach pracy algorytmy zostały zaimplementowane oraz przetestowane zarówno dla sztucznych jak i rzeczywistych zbiorów danych.
Methods of improving multidimensional scaling algorithm's efficiency with the aim of visualization huge datasets
Methods of analyzing multidimensional data are employed in many domains of science such as medicine, biology, psychology and economy. The results of observation or measurement are very often presented as feature vectors in multidimensional space. Unfortunately, analyzing and extracting information from huge, multidimensional data sets still pose a serious problem.
In the last decade a variety of feature extraction methods have been elaborated. The majority of them are based on transformations, which map multidimensional data onto two or three-dimensional space for visualization purposes. Multidimensional scaling (MDS) belongs to the nonlinear class of data extraction procedures. The multidimensional scaling tries to reconstruct the D-dimensional feature space in a d-dimensional target space (d=2,3 and d<<D) that the distances (dissimilarities) between D-dimensional points are preserved as accurately as possible. The main obstacle in employing MDS for mapping large datasets is its time complexity, which depends linearly on the number of distances between points. Its time complexity is bounded from below by the quadratic term O(N2), where N denotes number of vectors. In this work two different approaches to speed up the computations are analyzed and verified:
• reduce the number of distances processing during mapping process by taking into account only small subset of selected elements from dissimilarities' matrix
• speed up calculations through splitting them up between computers or employing GPU devices
All proposed in this work algorithms were implemented and tested both on artificial and real datasets.