Участник:Dmitry/Плотностный алгоритм кластеризации
Авторы описания: Титов Д.Е.
Содержание
- 1 Свойства и структура алгоритма
- 1.1 Общее описание алгоритма
- 1.2 Математическое описание алгоритма
- 1.3 Вычислительное ядро алгоритма
- 1.4 Макроструктура алгоритма
- 1.5 Схема реализации последовательного алгоритма
- 1.6 Последовательная сложность алгоритма
- 1.7 Информационный граф
- 1.8 Ресурс параллелизма алгоритма
- 1.9 Входные и выходные данные алгоритма
- 1.10 Свойства алгоритма
- 2 Программная реализация алгоритма
- 2.1 Особенности реализации последовательного алгоритма
- 2.2 Локальность данных и вычислений
- 2.3 Возможные способы и особенности параллельной реализации алгоритма
- 2.4 Масштабируемость алгоритма и его реализации
- 2.5 Динамические характеристики и эффективность реализации алгоритма
- 2.6 Выводы для классов архитектур
- 2.7 Существующие реализации алгоритма
- 3 Литература
1 Свойства и структура алгоритма
1.1 Общее описание алгоритма
Под кластеризацией понимается деление заданного множества точек данных (объектов) на подгруппы, каждая из которых, насколько это возможно, однородна. В основе метода кластеризации DBSCAN лежит объединение некоторых объектов в соответствии с их внутригрупповым «соединением». Для проведения корректной процедуры кластеризации необходимо указать критерии, по которым объекты будут объединены в кластеры. Прежде всего, необходимо сказать, что кластеры представляют собой плотные области некоторых объектов в пространстве данных, разделенных между собой объектами, плотность которых значительно ниже. Расположение точек в одном кластере обусловлено их соединением, т.е. некоторой связью между собой.
1.2 Математическое описание алгоритма
Плотность точек для данной точки X определяется двумя параметрами. Первым из них является \varepsilon – радиус «соседства» (приближенности) точки X. Тогда множество M_\varepsilon(X) будет включать в себя такие точки f_i, (i=\overline{1,n}), для которых следующее неравенство будет истинно:
[math]dist(X,f_i) \le \varepsilon[/math], [math](i=\overline{1,n})[/math]
Функция dist(var1, var2) определяет расстояние между объектами выборки D. Это расстояние может вычисляться различными способами, например, как евклидово расстояние или с помощью метрики Минковского.
Вторым параметром определения плотности точек является MCP – это минимальное количество точек, которые расположены ближе всего к данной точке согласно определенному радиусу \varepsilon.
Точка f_i, (i=\overline{1,n}) будет являться окруженной точкой (согласно \varepsilon и MCP) если:
[math]M_\varepsilon(X) \le MPC[/math]
Это значит, что точка f_i, (i=\overline{1,n}) окруженная, если количество «соседствующих» точек выборки D окажется большим, либо равным значению параметра MCP (рис. 1).
Точка X является прямо достижимой по плотности от точки f (при соответствующих \varepsilon и MPC), если точка X \in M(X), т.е. точка X – это одна из точек f для другого окружения (соседства), где f – окруженная точка (рис. 2).
Достижимость по плотности – это транзитивное замыкание прямо достижимой по плотности точки. Точка f достижима по плотности из точки X, но точка X не достижима по плотности из точки f (рис. 3).