Скачиваний:
1
Добавлен:
07.06.2026
Размер:
375.2 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Факультет Информационных технологий и программной инженерии

Кафедра Систем обработки данных

Направление: 09.03.02 Информационные системы и технологии

Профиль: Прикладные информационные системы и технологии

Практическое задание №3

«Алгоритмы k-means и c-means»

по дисциплине

«ИИСиТ»

Выполнил:

студент группы ИСТ-223

Хакова Ю. М. «____» _________ 2026 г.

Принял:

ст. пр. каф. ИУС

Козлова О.А. «____» _________ 2026 г.

1. Алгоритм k-means

Метод k-средних (k-means) используется для кластеризации данных на основе алгоритма разбиения векторного пространства на заранее определенное число кластеров k. Цель алгоритма — разделить множество объектов на кластеры таким образом, чтобы объекты внутри одного кластера были максимально похожи друг на друга, а объекты из разных кластеров максимально различались.

Алгоритм минимизирует суммарное внутрикластерное расстояние между объектами и центрами кластеров.

Целевая функция имеет вид:

где

— объект данных,

— j-й кластер,

— центр кластера.

Алгоритм представляет собой итерационную процедуру, в которой выполняются следующие шаги:

  1. Выбирается число кластеров k.

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

  3. Для каждого наблюдения исходного множества определяется ближайший к нему центр кластера. Расстояние вычисляется по Евклидовой метрике:

где

— число признаков объекта.

  1. Формируются кластеры: каждый объект относится к тому кластеру, центр которого находится на минимальном расстоянии.

  2. Для каждого кластера вычисляется центроид (центр тяжести):

где — число элементов в кластере.

  1. Центр кластера смещается в вычисленный центроид.

  2. Шаги 3–6 повторяются до тех пор, пока центры кластеров перестанут изменяться или пока изменение не станет меньше заданного порога.

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

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

Преимуществами алгоритма являются высокая скорость работы и простота реализации.

К недостаткам можно отнести:

  • необходимость заранее задавать число кластеров k;

  • зависимость результата от выбора начальных центров кластеров;

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

Рисунок 1 – Алгоритм k-means

2. Алгоритм c-means

Алгоритм C-means (Fuzzy C-Means) является расширением метода k-means и используется для нечёткой кластеризации данных. В отличие от k-means, где каждый объект принадлежит только одному кластеру, в алгоритме C-means каждый объект может принадлежать нескольким кластерам одновременно с различной степенью принадлежности.

Для описания принадлежности объектов используется матрица принадлежности:

,

где — степень принадлежности объекта кластеру .

При этом выполняется условие:

где — число кластеров.

Алгоритм минимизирует следующую целевую функцию:

где — центр кластера,

— параметр нечёткости (обычно ).

Алгоритм выполняется итерационно и включает следующие шаги:

  1. Задается число кластеров , параметр нечёткости и порог точности .

  2. Случайным образом инициализируется матрица принадлежности при условии:

  1. Вычисляются центры кластеров по формуле:

  1. Рассчитываются расстояния между объектами и центрами кластеров:

  1. Пересчитываются степени принадлежности объектов к кластерам:

  1. Проверяется условие сходимости. Если изменение матрицы принадлежности меньше заданного порога:

то алгоритм завершается, иначе выполняется новая итерация.

В результате работы алгоритма определяются центры кластеров и степени принадлежности каждого объекта к каждому кластеру.

Преимуществами алгоритма являются:

  • возможность описывать размытые границы между кластерами;

  • более гибкое представление структуры данных;

  • лучшая работа с пересекающимися кластерами.

К недостаткам можно отнести:

  • более высокую вычислительную сложность по сравнению с k-means;

  • необходимость выбора параметра нечёткости m;

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

Рисунок 2 – Алгоритм c-means

Санкт-Петербург

2026

Соседние файлы в папке ПР