Когда дело доходит до неконтролируемого обучения в методах машинного обучения, первое, что приходит мне на ум, — это методы кластеризации. Требование неконтролируемого обучения важно в наборах данных, где у нас нет никаких переменных ответа, чтобы узнать, является ли конкретный продукт или клиенты хороши с точки зрения бизнеса, скорее он находит сходство между другими объектами, чтобы объединяться в группы, или, другими словами, он находит различия между объектами, чтобы отделить их от других.
Базовый алгоритм для выполнения классификации:
Предположим, что наборы данных клиента имеют один атрибут, то есть только возраст, и имеют 100 записей, и нам нужно разделить их на десять сегментов или кластеров. Исходя из моего базового понимания статистики, я сделаю 10 сегментов возрастного диапазона 1–10, 11–20,…., 91–100 и начну помещать каждую запись в определенные сегменты до 100-й записи, и я готов с моей классификацией, но что, если У меня есть записи о возрасте, такие как 1,2,3,4,5,9,11,12,13,14,19,21,22,23,24, тогда в соответствии с моей предыдущей логикой классификации
Ведро 1 будет содержать: 1,2,3,4,5,9
Ведро 2 будет содержать: 11,12,13,14,19
Ведро 3 будет содержать: 21,22,23,24
В соответствии с предопределенной логикой кластеризации, чтобы классифицировать их по группам от 1 до 10, я создал определенные границы, исходя из моего представления, что они не основаны на близости наборов данных. Лучшим кластером будет:
Ведро 1: 1,2,3,4,5
Ведро 2: 9,10,11,12,13,14
Ведро 3: 19,21,22,23,24
Почему?
Предположим, мне нужно разделить на 3 кластера, выбрать любые 3 числа в качестве центров из всех этих или любое число, которое может быть из вышеупомянутых наборов данных, но если я немного дальновиден, я не буду выбирать точки данных из диапазон наборов данных, поскольку нет возможности для центров, будет лежать за пределами диапазона наборов данных.
Шаг 1: Предположим, что мои 3 числа — 5, 19 и 22. Теперь я создал 3 центра: первый — это человек (виртуальный), возраст которого составляет 5 лет, второй (виртуальный) — возраст 19 лет, а третий одному (виртуальному) 22 года.
Шаг 2: Теперь я разрешаю другим присоединяться к любой из трех групп на основании наименьшей разницы между возрастом из этих центров.
Кто присоединится к центру 5: 1,2,3,4,5,9,10,11,12
Кто присоединится к центрам 19: 13, 14, 19
Кто присоединится к центрам в 22 года: 21,22,23,24
Здесь 12 могут присоединиться к любой из групп 5 или 19 как имеющие равную разницу между возрастными группами.
Шаг 3: Возьмите среднее значение каждой группы и назначьте их в качестве новых центров и снова разрешите всем другим наборам данных присоединиться к ним на основе наименьшей разницы между возрастными группами.
Теперь остальные 3 центра 6,3, 15,3 и 22,5.
кто присоединится к центру 6.3: 1,2,3,4,5,9,10
Кто присоединится к центру 15.3: 11,12,13,14
Кто присоединится к центру 22.5: 19, 21,22,23,24
Теперь я могу сказать, что этот кластер лучше предыдущего, а также могу поддержать свои мысли, рассчитав дисперсию внутри групп. Во втором кластере дисперсии будут меньше.
Итерацию необходимо выполнять до тех пор, пока мы не получим стабильные кластеры. Стабильные кластеры Я имею в виду, что кластер не изменится в дальнейших итерациях.
Вышеупомянутый процесс формирования кластера предназначен только для одной переменной, поэтому мы легко рассчитали расстояние, но если у нас есть более одной переменной, то расчет расстояния будет основан на евклидовом расстоянии, а остальной процесс кластеризации будет таким же. По сути, это означает, что если мы определили всех клиентов как одну точку в N-мерном пространстве (поскольку у нас есть N атрибутов клиентов), количество атрибутов равно количеству измерений, а местоположение клиента определяется всеми n точками в пространстве. . Например, если у нас есть 3 атрибута: Возраст, Зарплата, Пол, то мы можем разместить клиента в трехмерном пространстве с 3 координатами (Возраст = 5, Зарплата = 100000, Пол = Мужской (1))
Теперь здесь возникает проблема важности и преобладания одной переменной над другой, например, если мы хотим найти клиента на основе приведенных выше данных, преобладание заработной платы таково, что значение возраста и зарплаты будет не там, а на самом деле все переменные одинаково важны, поэтому нам нужно нормализовать каждую переменную в пределах шкалы от -1 до 1, используя формулу:
(X-Xсреднее)/Стандартное отклонение.
Это приведет все переменные в пределы от -1 до 1. Мы снова выполним категоризацию таким же образом, как и раньше, но здесь расстояние между двумя объектами будет рассчитываться в трех измерениях, поскольку есть 3 атрибута присутствия клиентов, используя формула :
Кв.((X1-X2)² +(Y1-Y2)²+(Z1-Z2)²)
В остальном вся процедура будет такой же, как и в 1 измерении.