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

Кластеризация:

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

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

K в K-Means обозначает количество кластеров, на которые мы разделим набор данных. если K = 3, то мы разделим весь набор данных на три отдельные подгруппы. мы предопределили K (количество кластеров). это итеративный алгоритм. это означает, что он вычисляет центр тяжести и присваивает точки данных итеративным образом. он будет продолжать задачу обновления до тех пор, пока центроиды не изменят свое положение.

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

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

Я надеюсь, что это поможет вам..

Шаг 1:сначала нам нужно указать количество кластеров, которые должен сгенерировать алгоритм. поэтому определите значения для K.

Шаг 2: выберите k случайно выбранных точек данных в качестве центроида без замены. это может быть точка, отличная от существующей точки данных.

Шаг 3: вычислить сумму квадратов расстояний между всеми точками данных и всеми центроидами.

Шаг 4: назначьте или распределите каждую точку данных с ближайшим к ней центроидом.

Шаг 5: вычислить новый центроид каждого кластера путем усреднения всех точек данных, присутствующих в этих кластерах.

шаг 6: повторите шаг 4, затем шаг 5. этот шаг будет продолжаться до тех пор, пока новые точки данных не будут назначены кластеру илицентроиды не изменят свои позиции.

Ожидание — максимизация:

k-means следует подходу EM для решения проблемы. Проще говоря, шаг E назначает точки данных ближайшим кластерам, а шаг M используется для вычисления нового центроида каждого кластера. если вы хотите узнать больше об этой технике, пожалуйста, обратитесь к этой статье.

Графическое объяснение:

представим алгоритм графически.

это наш воображаемый набор данных

Шаг 1:выберите значение для k. для нашего примера допустим k = 3.

Шаг 2:выберите k случайно выбранных точек, которые будут первым набором центроидов.

Шаг 3: измеряется расстояние между всеми точками данных и всеми центроидами.

Шаг 4:распределите каждую точку данных по ближайшему центроиду, чтобы он попал в его кластеры.

три кластера здесь представлены красным, зеленым и синим цветами.

Шаг 4: вычислить новые положения центроидов путем усреднения точек данных.

полые звездообразные точки являются новыми центроидами соответствующих скоплений.

Шаг 5: теперь переназначьте точки ближайшему центроиду.

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

Методы оценки

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

1. Метод локтя

2. Анализ силуэта

Локтевой метод

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

формула для WCSS

где i обозначает каждый кластер и j для каждой точки. C_i — центроиды i-го кластера.

расстояние здесь может быть любым методом измерения, таким как евклидово расстояние или манхэттенское расстояние.

Он работает следующим образом:

  1. он выполняет кластеризацию k-средних для данного набора данных для разных значений k (обычно в диапазоне от 1 до 10)
  2. для каждого значения k вычисляет значение WCSS
  3. строит кривую между значением K и значением WCSS
  4. острая точка изгиба или точка графика имеет вид руки, то эта точка считается оптимальным значением К.

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

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

Анализ силуэта

для этого, пожалуйста, обратитесь к этой удивительно хорошо объясненной статье аналитики видья.

он очень хорошо объяснил эту концепцию.

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

вы можете следовать за мной на

средний или Linkedin или Github. или Твиттер