Алгоритм кластеризации данных на основе плотности
clusterDBSCAN кластеры точек данных, принадлежащих пространству P-мерных признаков, используя основанную на плотности пространственную кластеризацию приложений с алгоритмом шума (DBSCAN). Алгоритм кластеризации назначает точки, близкие друг к другу в пространстве элементов, одному кластеру. Например, радиолокационная система может возвращать множество обнаружений расширенной цели, которые находятся на близком расстоянии по дальности, углу и доплеровской частоте. clusterDBSCAN назначает эти обнаружения одному обнаружению.
Алгоритм DBSCAN предполагает, что кластеры являются плотными областями в пространстве данных, разделенными областями более низкой плотности, и что все плотные области имеют одинаковые плотности.
Чтобы измерить плотность в точке, алгоритм подсчитывает количество точек данных в окрестности точки. Окрестность - это P-мерный эллипс (гиперэллипс) в пространстве элементов. Радиусы эллипса определяются P-вектором start. λ может быть скаляром, в этом случае гиперэллипс становится гиперсферой. Расстояния между точками в пространстве элемента вычисляются с использованием евклидовой метрики расстояния. Окрестности называются, по-видимому, в-окрестности. Значение startопределяется значением Epsilon собственность. Epsilon может быть скалярным или P-вектором:
Вектор используется, когда различные размеры в пространстве элемента имеют разные единицы измерения.
Скаляр применяет одно и то же значение ко всем измерениям.
Кластеризация начинается с поиска всех основных точек. Если точка имеет достаточное количество точек в своей λ-окрестности, точка называется точкой ядра. Минимальное количество точек, необходимое для того, чтобы точка стала базовой точкой, задается параметром MinNumPoints собственность.
Остальными точками в δ-окрестности точки ядра могут быть сами точки ядра. Если нет, то это пограничные пункты. Все точки в λ-окрестности называются непосредственно плотностью, достижимой из точки ядра.
Если та, что находится в окрестности ядра, содержит другие точки ядра, то точки в тех, что находятся в окрестностях ядра, объединяются вместе, образуя объединение тех, что находятся в окрестностях. Этот процесс продолжается до тех пор, пока не будут добавлены основные точки.
Все точки в объединении («union») («union») («sourchorities») - это плотность, достижимая из первой точки ядра. Фактически, все точки в объединении доступны по плотности из всех основных точек в объединении.
Все точки в объединении δ-окрестностей также называются связанными плотностью, даже если граничные точки не обязательно доступны друг от друга. Кластер является максимальным набором точек, связанных плотностью, и может иметь произвольную форму.
Точки, которые не являются точками ядра или границами, являются точками шума. Они не принадлежат ни к одному кластеру.
clusterDBSCAN Объект может оценить, используя k-ближайший поиск соседа, или можно задать значения. Чтобы дать объекту оценку, установите EpsilonSource свойство для 'Auto'.
clusterDBSCAN объект может различать данные, содержащие неоднозначности. Диапазон и Доплер являются примерами возможно неоднозначных данных. Набор EnableDisambiguation свойство для true для устранения неоднозначности данных.
Для обнаружения кластеров:
Создать clusterDBSCAN и задайте его свойства.
Вызовите объект с аргументами, как если бы это была функция.
Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.
создает clusterer = clusterDBSCANclusterDBSCAN объект, clusterer, объект со значениями свойств по умолчанию.
создает clusterer = clusterDBSCAN(Name,Value)clusterDBSCAN объект, clusterer, с каждым указанным свойством Name установить в указанное значение Value. Можно указать дополнительные аргументы пары имя-значение в любом порядке как (Name1,Value1,...,NameN,ValueN). Все неопределенные свойства принимают значения по умолчанию. Например,
clusterer = clusterDBSCAN('MinNumPoints',3,'Epsilon',2, ... 'EnableDisambiguation',true,'AmbiguousDimension',[1 2]);
EnableDisambiguation для свойства установлено значение true, а для свойства установлено значение AmbiguousDimension установить в значение [1,2].[ также возвращает альтернативный набор идентификаторов кластера, idx,clusterids] = clusterer(X)clusterids, для использования в phased.RangeEstimator и phased.DopplerEstimator объекты. clusterids присваивает уникальный идентификатор каждой точке шума.
[___] = clusterer( автоматически оценивает эпсилон из матрицы входных данных, X,update)X, когда update имеет значение true. Оценка использует поиск k-NN для создания набора кривых поиска. Дополнительные сведения см. в разделе Оценка Epsilon. Оценка представляет собой среднее из L самых последних значений Эпсилона, где L указано в EpsilonHistoryLength
Чтобы включить этот синтаксис, установите EpsilonSource свойство для 'Auto', при необходимости установите MaxNumPoints , а также дополнительно установить EpsilonHistoryLength собственность.
Чтобы использовать функцию объекта, укажите object™ System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:
release(obj)
[1] Эстер М., Кригель Х.-П., Сандер Дж. и Сюй Х. «Алгоритм на основе плотности для обнаружения кластеров в больших пространственных базах данных с шумом». Proc. 2nd Int. Conf. on Knowledge Discovery and Data Mining, Portland, OR, AAAI Press, 1996, pp. 226-231.
[2] Эрих Шуберт, Йорг Сандер, Мартин Эстер, Ханс-Петер Кригель и Сяовэй Сюй. 2017. «DBSCAN: повторный доступ, повторный доступ: почему и как следует (по-прежнему) использовать DBSCAN». ACM Trans. Database Syst. 42, 3, статья 19 (июль 2017), 21 стр.
[3] Доминик Келлнер, Йенс Клаппштейн и Клаус Дитмайер, «Сетевой DBSCAN для кластеризации расширенных объектов в радиолокационных данных», симпозиум IEEE Intelligent Vehicles 2012.
[4] Томас Вагнер, Рейнхард Фегер и Андреас Штельцер, «Алгоритм быстрой кластеризации на основе сетки для измерений дальности/доплеровского/DoA», Труды 13-й Европейской конференции радаров.
[5] Михаэль Анкерст, Маркус М. Бреуниг, Ханс-Петер Кригель, Йорг Сандер, "ОПТИКА: Заказ точек для идентификации структуры кластеризации", Proc. ACM SIGMOD "99 Int. Conf. on Management of Data, Philadelphia PA, 1999.