Кластеризация средств: определение F.R.I.E.N.D.S в мире незнакомцев

Время быстрой проверки: что определяет кого-то как друга? Как вы заметите этого человека в беспорядке? Как заводить друзей?

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

  • Это оно!! Вот и все…! С учетом приведенного выше контекста вам будет легче связать и понять несколько похожую аналогию, представленную на серебряном блюде, прямо сейчас. Без лишних слов, давайте сразу перейдем к теме сегодняшнего важнейшего обсуждения - 'K- означает кластеризацию ».

Я знаю, что это звучит немного похоже на тяжелый жаргон науки о данных с K-means?! и кластеризация?!, но не нужно паниковать, это просто еще один причудливый термин из заднего кармана DScientist. Итак, чтобы понять интуицию, стоящую за этим, давайте просто «.split ()» термин, попробуем «. описать ()» каждый токен и вопросы, связанные с ним.

Начнем ..?! .. Громче - да поможет .. !! .. Дасс! .. Круто… Педаль толкающая!

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

Что такое машинное обучение без учителя? - Тип машинного обучения, при котором выходные данные неизвестны. Мы пытаемся изучить взаимосвязи, структуру и базовый шаблон на основе заданных входных данных.

Что такое K? - это количество кластеров, которые вы хотите сформировать из данных. Его «-средняя» часть будет объяснена более подробно ниже.

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

Теперь, когда у нас есть основная идея, давайте перейдем к сути темы.

Алгоритм K-средних:

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

Итак, у нас есть диаграмма рассеяния. Допустим, у нас есть две переменные, нанесенные по оси X и оси Y из нашего набора данных (до графика K-средних). Вопрос в том, можем ли мы идентифицировать определенные группы среди наших переменных и как бы мы делаем это. Как мы определяем количество групп?

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

Как это работает:

Я разберу его в простом пошаговом формате.

ШАГ 1: выберите количество кластеров K - мы увидим, как выбрать оптимальное количество кластеров ниже в разделе. Но пока мы предполагаем, что K по нашему выбору. Это может быть любое число (3, 5 или 2 и т. Д.).

ШАГ 2: выберите произвольно K точек, центроиды (не обязательно из вашего набора данных). Центроид является центральной точкой кластера. Вы можете выбрать любые две точки из этого первого графика рассеяния, они могут быть любыми случайные значения X и Y при условии, что выбранное вами количество центроидов равно количеству кластеров, выбранных на шаге 1.

ШАГ 3. Назначьте каждую точку данных ближайшему центроиду. ›Это образует кластер K. Теперь поймите, что ближайший - это расплывчатый термин. Это зависит от того, какое расстояние вы измеряете, которое будет определяться бизнесом. Проблема. Чаще всего используют евклидовы расстояния. Когда данные содержат большие значения, манхэттенские расстояния могут быть хорошим вариантом, а если набор данных полон категориальных переменных, предпочтительным выбором является косинусное расстояние.

ШАГ 4. Вычислите и разместите новый центроид каждого кластера. Это станет более ясным, когда мы изучим пример.

ШАГ 5: переназначьте каждую точку данных новому ближайшему центроиду. Если какое-либо переназначение имело место, перейдите к ШАГУ 4, в противном случае остановитесь - очевидно, это как итерационный процесс из шагов 4 и 5.

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

Здесь у нас есть наблюдения в нашем наборе данных. Они построены против двух переменных, и сразу первый вопрос: можете ли вы визуально определить конечные кластеры, которые мы получим. Это довольно сложно, не правда ли! Это только для двух переменных, представьте, что было бы, если бы у нас было три переменных и пять переменных. Мы не сможем построить пятимерный график рассеяния, подобный этому. Вот когда появляется алгоритм K-средних и упрощает процесс. Теперь давайте посмотрим, как он будет действовать. В этом случае мы вручную выполняем K- означает алгоритм кластеризации и посмотрите, как именно он работает. То, что обычно делается с помощью таких инструментов, как python, R и т. д.

Хорошо, допустим, мы каким-то образом определили оптимальное количество кластеров, равное 2. Мы снова обсудим, как найти оптимальное количество кластеров ниже, но на данный момент давайте согласимся, что это всего 2 кластера.

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

На шаге 3 в основном мы должны проверить, что для каждой точки данных в нашем наборе данных определить, какой из двух центроидов (синий или красный) является ближайшим. Это мы определим, обновив наши знания о геометрии. мы соединяем эти центроиды прямой линией и делим эту линию пополам с перпендикуляром (отмеченным зеленым пунктиром). Любая точка на зеленой линии равноудалена от обоих центроидов. Точки, расположенные над линией, принадлежат центроиду синего кластера, а точки, лежащие ниже линии, принадлежат центроиду красного кластера. Для простоты точки кластеров, которым они принадлежат, будут окрашены в одинаковые цвета. Прежде чем мы продолжим дальше, я хотел бы упомянуть, что ближайший - неоднозначный термин. Поскольку ближайшая точка, когда вы визуализируете объекты на диаграмме рассеяния, довольно прямолинейна, подразумевает, что расстояние, на которое мы смотрим. Из диаграммы рассеяния мы можем очень хорошо сделать вывод, что точка x находится ближе к кластеру A, а точка y ближе к кластеру B. (Типы мер расстояния: Евклидова, Манхэттенская, Косинусная и т. Д.)

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

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

Большой! Теперь мы вошли в шаг 5. После построения зеленой линии мы видим, что три точки неправильно классифицированы из-за предыдущего членства.

Поэтому мы сместим их и перекрасим в соответствии с центроидом кластера. После переназначения точек данных мы вернемся к шагу 4.

На основе переназначения мы повторно вычисляем центроид и размещаем его для каждого кластера.

Определение нового центра масс каждого кластера показано пунктирными квадратами и перемещение центроидов в этих местах.

Повторение шага 5.

Замечание, что красная точка данных над зеленой линией (см. Рис. 2а шага 5) переназначается синему кластеру.

Повторение шага 4. Как мы видим, это итеративный процесс. Мы продолжаем делать это до тех пор, пока алгоритм не сойдется.

Шаг 4 на третьей итерации.

Шаг 5, третья итерация.

Здесь вы снова видите эквидистантную зеленую линию.

Шаг 4 на четвертой итерации.

Переназначение каждой точки данных новому ближайшему центроиду на шаге 5.

Шаг 4 на пятой итерации.

Мы очень близки к окончательному членству в наших кластерах.

Повторяем шаг 4 в шестой раз.

Вычислили и поместили новые центроиды в каждый кластер.

Теперь, когда мы выполнили шаг 5 в шестой раз, пожалуйста, обратите внимание, что нет изменений в членстве в кластерах. Сравните рис. 5a и рис. 6a шага 5. Следовательно, мы можем с уверенностью заключить, что наш алгоритм K-средних конвергентной и окончательной модели готово.

Это два кластера, которые мы предложили алгоритмом K-средних. Надеюсь, я успешно демистифицировал алгоритм простыми словами.

Здесь представляет собой практический пример кластеризации K-средних, выполненной для набора данных Iris.

Выбор оптимального значения K -

Теперь один серьезный недостаток кластеризации K-средних, значение K.

Теперь, чтобы понять, если бы, например, 2 кластера были бы лучше в приведенном выше сценарии или может быть 10 кластеров, нам нужна определенная метрика. Нам нужен способ оценить, как определенное количество кластеров работает лучше по сравнению с другим набором кластеров, и желательно, чтобы этот показатель поддавался количественной оценке. Итак, какую метрику мы накладываем на наш алгоритм кластеризации, чтобы что-то сказать нам о конечном результате?

И лекарство от этого - «В пределах кластера».

Внутри кластера вариация математически представлена ​​как сумма квадратов ошибок (WCSS / SSE). Она также называется «методом локтя».

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

В основном то, что мы здесь делаем, это ...

Каждая точка данных в кластере 1 (Pi в кластере 1), измерение разницы между точкой данных Pi и центроидом C1 кластера 1 {Distance (Pi, C1)} и их суммирование (большой знак «E» называется сигмой, что означает суммирование )

то же самое и с другими кластерами.

Если вы построите график K против SSE, вы увидите, что ошибка уменьшается с увеличением K; это потому, что, когда количество кластеров увеличивается, они должны быть меньше, поэтому искажения также меньше.

Идея метода локтя состоит в том, чтобы выбрать значение K, при котором SSE резко уменьшается.

Это дает на графике «эффект локтя».

Познакомьтесь с кодом с набором данных торгового центра ЗДЕСЬ, где я коснулся концепции метода Elbow и нескольких других концепций.

Ссылки:







Насколько вы нерешительны по шкале от 1 до Гамлета? Что ж, есть один тонкий способ избавиться от проблемных дилемм жизни, мы увидим , когда встретимся в следующий раз!