Обмен технологиями

Руководство по обучению искусственному интеллекту Машинное обучение — обучение и прогнозирование модели кластеризации K-средних

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Руководство по обучению искусственному интеллекту Машинное обучение — обучение и прогнозирование модели кластеризации K-средних

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

Модель кластеризации K-средних

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

Процесс кластеризации K-средних можно условно разделить на следующие этапы:

  1. Выберите K начальных центральных точек
  2. Назначьте каждый образец кластеру с ближайшей центральной точкой.
  3. Обновите центроид каждого кластера
  4. Повторяйте шаги 2 и 3 до тех пор, пока распределение кластеров не перестанет меняться или не будет достигнут верхний предел количества итераций.

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

Процесс обучения модели кластеризации K-средних

В этой части мы подробно представим процесс обучения модели кластеризации K-средних. Для простоты объяснения мы будем использовать для демонстрации библиотеку Python scikit-learn.

Во-первых, нам нужно импортировать соответствующие библиотеки:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
  • 1
  • 2
  • 3
  • 4

Далее мы генерируем некоторые смоделированные данные, чтобы продемонстрировать:

X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)
  • 1

Затем мы можем использовать модель кластеризации K-средних для обучения данным:

kmeans = KMeans(n_clusters=4)
kmeans.fit(X)
  • 1
  • 2

Наконец, мы можем визуализировать результаты обучения, а также центроиды кластеров:

plt.scatter(X[:, 0], X[:, 1], s=50, c="lightblue", marker="o", edgecolor="black")
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=250, marker="*", c="red", edgecolor="black")
plt.show()
  • 1
  • 2
  • 3

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

Процесс прогнозирования модели кластеризации K-средних

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

Во-первых, мы можем использовать обученную модель кластеризации K-средних для прогнозирования новых выборок:

new_samples = np.array([[0, 0], [4, 4]])
predicted_labels = kmeans.predict(new_samples)
print(predicted_labels)
  • 1
  • 2
  • 3

В приведенном выше коде мы создаем два новых образца.[0, 0]и[4, 4]и использоватьpredict метод его прогнозирования. Наконец, мы получаем предсказанные метки кластеров для новых образцов.

Пример

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

Предположим, у нас есть набор данных с тремя функциями.X , мы хотим разделить его на 3 кластера. Во-первых, мы можем обучить данные, используя модель кластеризации K-средних:

kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
  • 1
  • 2

Далее мы применяем обученную модель к новым образцам:

new_samples = np.array([[1, 1, 1], [2, 2, 2]])
predicted_labels = kmeans.predict(new_samples)
print(predicted_labels)
  • 1
  • 2
  • 3

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

Подведем итог

Благодаря введению этого блога мы получили подробное представление о процессе обучения и процессе прогнозирования модели кластеризации K-средних и продемонстрировали на примерах, как использовать библиотеку Python scikit-learn для выполнения кластеризации K-средних. Кластеризация K-средних — это простой и эффективный алгоритм кластеризации, который можно применять в различных областях, включая анализ данных, обработку изображений и т. д. Надеюсь, этот блог поможет вам изучить машинное обучение и искусственный интеллект!