Один из самых сложных этапов алгоритма k-means — выбор оптимального числа кластеров k. Чтобы оценить качество разбиения на кластеры, используется специальная метрика —
инерция.
Что такое инерция?
Инерция — это число, которое показывает, насколько «разбросаны» точки внутри своих кластеров.
Формула:
Инерция = сумма [(расстояние от каждой точки до центра её кластера)²]
Простой пример:
Допустим, у нас 4 точки и 1 кластер с центром в точке (5, 5):
Точки: (4, 5), (6, 5), (5, 4), (5, 6)
Центр: (5, 5)
Расстояния до центра:
(4,5) → (5,5): расстояние = 1
(6,5) → (5,5): расстояние = 1
(5,4) → (5,5): расстояние = 1
(5,6) → (5,5): расстояние = 1
Инерция = 1² + 1² + 1² + 1² = 4
Что означает инерция?
| Инерция |
Что это значит |
| Маленькая |
Точки сидят близко к центрам → кластеры плотные, хорошие |
| Большая |
Точки далеко от центров → кластеры рыхлые, плохие |
Цель: найти такое количество кластеров, чтобы инерция была маленькой, но кластеров не было слишком много.
Метод локтя
Метод локтя помогает выбрать, сколько кластеров нужно.
Мы запускаем алгоритм K‑Means для разных значений k (например, от 1 до 10) и смотрим, как меняется инерция — сумма расстояний от точек до своих центров.
Когда кластеры становятся точнее, инерция быстро уменьшается, но затем почти перестаёт снижаться.
На графике в этот момент появляется «локоть» — место, где линия резко меняет направление.
Инерция
│
500 │●
│ ╲
300 │ ●
│ ╲
100 │ ●═══●═══●
│ ↑
│ ЛОКОТЬ
└─────────────────── k
1 2 3 4 5
Это и есть оптимальное число кластеров: дальше качество почти не растёт, а сложность увеличивается.
Когда метод локтя НЕ работает?
Случай 1: Нет чёткого локтя
Иногда график плавный, без резкого излома:
Инерция
│
●
╲
╲
╲
╲
╲
╲
╲
●
└──────────── k
Что делать: использовать другие методы (силуэтный коэффициент) или экспертное мнение.
Случай 2: Несколько локтей
Инерция
│
●
╲___●
╲
╲___●
╲___●___●
└──────────────────── k
Что делать: выбрать тот локоть, который даёт практически полезное количество кластеров.