
Разбиение данных на группы вокруг центров, найденных итеративно.Кластеризация методом k-средних — это алгоритм обучения без учителя, который разбивает набор данных на заданное число кластеров, каждый из которых представлен своим центроидом (средним значением своих точек). Цель — минимизировать внутрикластерную дисперсию, делая точки в одном кластере максимально похожими, а разные кластеры — различимыми. Это один из самых простых и широко используемых методов кластеризации, часто служащий базовым для более сложных подходов.
Термин «k-средних» впервые использовал Джеймс МакКуин в 1967 году, хотя основная идея восходит к Гуго Штейнгаузу (1956) и алгоритму Ллойда (1957) для импульсно-кодовой модуляции.
Алгоритм начинается со случайной инициализации k центроидов. Затем он итеративно выполняет два шага: (1) назначает каждую точку данных ближайшему центроиду и (2) пересчитывает каждый центроид как среднее всех точек, назначенных ему. Эти шаги повторяются, пока центроиды не перестанут существенно меняться. Результат зависит от начального размещения, поэтому обычно алгоритм запускают несколько раз с разными начальными значениями и выбирают лучший результат. Число кластеров k должно быть выбрано заранее, часто с помощью метода локтя или анализа силуэтов.
Метод k-средних используется для сегментации клиентов в маркетинге, сжатия изображений за счет уменьшения цветовой палитры и обнаружения аномалий путем выявления точек, далеких от любого центроида.
Метод k-средних настолько эффективен, что может кластеризовать миллионы точек за секунды, но он предполагает, что кластеры сферические и примерно одинакового размера, что редко встречается в реальных данных.












