Вопрос

Я уже давно использую кластеризацию в своей сумке с методами ML, и я никогда не нашел удовлетворительного ответа на этот вопрос.

В DBSCAN мы определяем максимальный радиус для образования кластеров. Алгоритм сканирует пространство и группу вместе точки, которые все доступны друг от друга. Тем не менее, иногда мы можем получить невыпуклочный кластер.

Моя путаница связана с тем, как понятие «радиуса», который описывает выпуклый объект, может быть вводом в алгоритм, который приводит к невыпульсному объекту?

Это было полезно?

Решение

Кластер в DBSCan состоит из несколько Основные очки.

Радиус - это область, покрытая единственной точкой ядра, но вместе с точками соседей ядра форма будет намного сложнее. В частности, они могут быть намного больше, чем epsilon, поэтому вы должны выбрать небольшую ценность и полагаться на эту функцию «покрытия».

Википедия имеет пример невыпуктного кластера

Другие советы

Я думаю, что это не народно, потому что конкретное назначение кластера, которое вы получаете при применении DBSCAN, зависит от порядок, который вы проходите по данным.

Давайте попробуем проиллюстрировать это примером. Рассмотрим этот набор данных:

enter image description here

Вы хотите запустить DBSCAN с Radius $ R = 3 $ и $ Text {min_pts} = 4 $, так что вы получите это:

enter image description here

Точка в центре не является основной точкой, потому что в ней всего 3 балла, а не 4, и у нас есть только две основные точки. И в зависимости от того, как вы пересекаете точки данных, вы можете получить разные назначения кластера:

enter image description here

На верхнем изображении показан результат, который мы получим, пройдя слева направо, а нижняя картина-пройдя справа налево.

По -видимому, оба эти результаты будут соответствовать одинаковому значению функции стоимости, поэтому функция затрат имеет несколько минимумов, и она не выпуклая.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top