Распутывание закономерностей: изучение увлекательного мира алгоритмов кластеризации

Кластеризация — это популярный метод машинного обучения, используемый для группировки точек данных на основе их сходства. Это тип метода обучения без учителя, в котором нет предопределенной выходной переменной или метки. Вместо этого алгоритм пытается обнаружить закономерности и структуру данных, группируя схожие точки данных.

Что такое кластеризация? Кластеризация — это процесс группировки набора точек данных таким образом, что точки данных в одной группе (называемой кластером) больше похожи друг на друга, чем в других группах. Целью кластеризации является выявление шаблонов или структур в данных, которые не очевидны сразу.

Классификация алгоритмов кластеризации

Алгоритмы кластеризации можно разделить на две категории в зависимости от подхода, который алгоритм использует для группировки данных.

  • Иерархическая кластеризация
  • Разделение Кластеризация

Обе классификации объясняются ниже.

Иерархическая кластеризация

При иерархической кластеризации кластеры формируются путем рекурсивного разделения данных на более мелкие кластеры до тех пор, пока каждый кластер не будет содержать только одну точку данных. Различают два типа иерархической кластеризации: агломеративную и разделительную.

1. Агломеративная кластеризацияначинается с каждой точки данных как отдельного кластера, и на каждой итерации мы объединяем ближайшую пару кластеров и повторяем этот шаг, пока не останется только один кластер. По сути, он использует восходящий подход. В иерархической кластеризации у нас есть концепция, называемая матрицей близости, которая хранит расстояние между каждой точкой. Множественные метрики расстояния могут использоваться для определения близости двух кластеров.

  • Евклидово расстояние: расстояние((x, y), (a, b)) = √(x — a)² + (y — b)²
  • Манхэттенское расстояние: расстояние (x1, y1) и (x2, y2) =
    |x1 — x2| + |у1 — у2|

2. Разделительная кластеризация или подход «сверху вниз» работает противоположным образом. Вместо того, чтобы начинать с n кластеров, он начинает с одного кластера и назначает все точки этому кластеру. Поэтому не имеет значения, есть ли у нас 10 0 или 1000 точек данных, все эти точки данных будут принадлежать одному и тому же кластеру в начале. Теперь на каждой итерации мы разделяем самую дальнюю точку в кластере и повторяем процесс до тех пор, пока каждый кластер не будет содержать только одну точку данных.

Разделение Кластеризация

При секционной кластеризации данные делятся на непересекающиеся кластеры путем минимизации расстояния между точками данных в каждом кластере и максимального расстояния между разными кластерами. Популярные алгоритмы кластеризации включают в себя несколько методов разбиения, таких как k-means, k-medoids, fuzzy c-means и т. д. Работа некоторых из них описана ниже:

Кластеризация K-средних: это широко используемый алгоритм кластеризации, который группирует точки данных в K кластеров. Алгоритм случайным образом выбирает K точек данных в качестве центроидов, а затем назначает каждую точку данных ближайшему центроиду. Затем центроиды обновляются путем получения среднего значения всех назначенных им точек данных. Полученное число K средних станет новыми центроидами для каждого кластера. Процесс повторяется до сходимости. Вы должны указать количество кластеров — k в качестве входных данных для алгоритма.

Иерархическая кластеризация. Иерархическая кластеризация — это восходящий подход, который создает иерархическую структуру кластеров. Алгоритм начинается с назначения каждой точки данных ее собственному кластеру, а затем итеративно объединяет ближайшие пары кластеров, пока все точки данных не окажутся в одном кластере.

Кластеризация на основе плотности: это метод непараметрической кластеризации, который группирует близко расположенные точки (высокая плотность точек). Кластеризация на основе плотности основана на идее, что кластеры представляют собой плотные области точек данных, разделенные областями с меньшей плотностью. Алгоритм идентифицирует области с высокой плотностью и расширяет их до тех пор, пока плотность не упадет ниже порогового значения. Полученные регионы представляют собой кластеры.

Алгоритм принимает следующие входные данные:

  • Параметр эпсилон — ε: степень близости точек в одном кластере. Его также называют радиусом круга, созданного вокруг каждой точки для проверки плотности.
  • MinPts: Минимальное количество очков, необходимое внутри круга, чтобы классифицировать его как основное очко.

Максимизация ожиданий (Гауссовские смешанные модели). Максимизация ожиданий (EM) – это вероятностный алгоритм кластеризации, который моделирует каждый кластер как распределение вероятностей. Алгоритм итеративно присваивает точки данных кластерам на основе их вероятностей и обновляет параметры распределения вероятностей.

От ручного планирования к интеллектуальной кластеризации: как мы трансформировали рабочий процесс доставки и сбора

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

Каждый день к нам поступает несколько заказов на доставку и сбор, и менеджер филиала должен вручную планировать поездку и назначать агента для этих заказов, поэтому эта часть планирования является для них дополнительным бременем. Мы сделали шаг в направлении автоматического планирования туров, используя возможности кластеризации, мы пытаемся генерировать интеллектуальные предложения туров, которые менеджер филиала может просмотреть и импортировать.

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

Мы продолжим совершенствовать наши рекомендации, а также постараемся создать туры на основе имеющейся рабочей силы. Также планируется включить оптимизированный маршрут для конкретного тура.

Мы только начинаем! следите за обновлениями о новых интересных функциях вокруг рекомендаций……..

прощай…..