Вопрос с собеседования · AI и LLM

Как работает k-means и как выбрать число кластеров?

JuniorМодели машинного обученияscikit-learn
Ещё спрашивают так:
  • Какие алгоритмы кластеризации вы знаете?
Коротко

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

  • Чувствителен к масштабу признаков — масштабировать обязательно
  • Находит выпуклые кластеры примерно одного размера
  • Результат зависит от начальных центров — k-means++ и несколько запусков

А ещё DBSCAN находит кластеры произвольной формы и выбросы; иерархическая кластеризация даёт дерево

Подробно

Алгоритм:

  1. Выбрать k начальных центров (k-means++ — далеко друг от друга).
  2. Каждую точку отнести к ближайшему центру.
  3. Пересчитать центр каждого кластера как среднее его точек.
  4. Повторять шаги 2–3, пока назначения не перестанут меняться.

Минимизируется сумма квадратов расстояний от точек до их центров (inertia).

Выбор k:

  • метод локтя — график inertia от k, ищем излом;
  • коэффициент силуэта — насколько точка ближе к своему кластеру, чем к соседнему (от −1 до 1);
  • бизнес-смысл — пять сегментов клиентов маркетинг может использовать, пятьдесят — нет.

Ограничения и альтернативы:

  • кластеры вытянутой формы и разной плотности — DBSCAN или HDBSCAN;
  • нужны вероятности принадлежности — гауссовы смеси (GMM);
  • нужна иерархия — агломеративная кластеризация.

Что хотят услышать

  • Шаги алгоритма.
  • Способы выбора k.
  • Ограничения и альтернативы.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗K-means сам определяет число кластеров по плотности точек и не требует задавать k заранее
  • ✓Точки к ближайшим центрам, центры — средние, до стабилизации; k — локоть, силуэт
  • ✗K-means нечувствителен к масштабу признаков
  • ✗K-means хорошо находит кластеры произвольной формы и выбросы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования