Неконтролируемое обучение

Неконтролируемое обучение — это метод понимания данных, который не имеет выхода (цель/классы/категории). Он пытается найти некоторые сходства в данных и реагирует на наличие или отсутствие таких сходств в каждом новом фрагменте данных. Группировка (кластеризация) результатов является ключевым моментом в обучении без учителя.

Существует несколько способов группировки наблюдений. Позвольте мне представить два метода.

Кластеризация K-средних

Метод K-средней кластеризации позволяет группировать наблюдения, взяв среднее (среднее) расстояний от нескольких определенных центроидов до каждого наблюдения. «К» представляет количество кластеров. Здесь я объясню, как кластеризовать данные шаг за шагом.

  • шаг 1) Инициализируйте центроиды — сгруппируйте наблюдение в три группы. Три звезды представляют собой начальный центроид каждой группы.
  • шаг 2) Рассчитать расстояния — найти каждое расстояние от центроидов до точки наблюдения.

  • шаг 3) Назначьте точки ближайшим центроидам — назначьте наблюдение классу, ближайшему к центроиду.
  • шаг 4) Обновите позиции центроидов — пересчитайте каждый центроид по назначенному наблюдению.

Кластеризация K-средних многократно повторяет шаги 2–4, пока центроиды не сойдутся в определенных точках. Каждое наблюдение будет сгруппировано в том месте, где их расстояние до центроида будет кратчайшим.

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

Пространственная кластеризация приложений с шумом на основе плотности (DBSCAN)

DBSCAN — один из наиболее распространенных алгоритмов кластеризации, который по набору точек в некотором пространстве группирует вместе точки, которые плотно упакованы вместе, помечая как выбросы точки, лежащие поодиночке в областях с низкой плотностью. Требуется два параметра; эпсилон (расстояние) и минимальное количество выборок в пределах эпсилон.

Процедура DBSCAN

  1. Выберите эпсилон и минимальное количество выборок в эпсилон.

2. Выберите произвольную точку и проверьте, есть ли хотя бы выбранное минимальное количество выборок на расстоянии эпсилон.

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

3. Остановитесь после проверки всех точек.

Взгляните на визуализацию некоторых примеров ниже.

Создано 5 кластеров с эпсилон 1.0 и мин. количество выборок 4. Это означает, что все точки в кластере имеют по крайней мере 4 выборки на расстоянии 1.

Все остальные точки, имеющие меньше минимальной выборки, равной 4, будут рассматриваться как выбросы.

Давайте посмотрим на второй пример с большим минимальным количеством выборок.

Сгенерировано 7 кластеров с эпсилон 1.0 и мин. количество образцов 6.

Если epsilon слишком мал, вы получите много кластеров.

Если эпсилон слишком велик, вы, вероятно, получите только один кластер, который не имеет смысла.

Давайте посмотрим на последний пример с малым эпсилон.

Существует много кластеров, сгенерированных с эпсилон 0,5 и мин. количество образцов 4.

Если мин. количество выборок слишком мало, кластеров обычно меньше.

Если мин. количество выборок слишком велико, в нем может быть больше кластеров.

Мы говорили о наиболее распространенном алгоритме обучения без учителя (кластеризации), который представляет собой кластеризацию K-средних и DBSCAN. Это мощный метод группировки наблюдений, но вам все равно нужно быть осторожным с настройкой параметров для достижения наилучшего результата.