Вопрос с собеседования · AI и LLM
Как работает k-means и как выбрать число кластеров?
JuniorМодели машинного обученияscikit-learn
Ещё спрашивают так:
- Какие алгоритмы кластеризации вы знаете?
Коротко
K-means итеративно: расставить k центров, отнести каждую точку к ближайшему центру, пересчитать центры как средние своих точек — повторять до стабилизации. Число k выбирают методом локтя, силуэтом и, главное, по смыслу задачи.
- Чувствителен к масштабу признаков — масштабировать обязательно
- Находит выпуклые кластеры примерно одного размера
- Результат зависит от начальных центров — k-means++ и несколько запусков
А ещё DBSCAN находит кластеры произвольной формы и выбросы; иерархическая кластеризация даёт дерево
Подробно
Алгоритм:
- Выбрать k начальных центров (k-means++ — далеко друг от друга).
- Каждую точку отнести к ближайшему центру.
- Пересчитать центр каждого кластера как среднее его точек.
- Повторять шаги 2–3, пока назначения не перестанут меняться.
Минимизируется сумма квадратов расстояний от точек до их центров (inertia).
Выбор k:
- метод локтя — график inertia от k, ищем излом;
- коэффициент силуэта — насколько точка ближе к своему кластеру, чем к соседнему (от −1 до 1);
- бизнес-смысл — пять сегментов клиентов маркетинг может использовать, пятьдесят — нет.
Ограничения и альтернативы:
- кластеры вытянутой формы и разной плотности — DBSCAN или HDBSCAN;
- нужны вероятности принадлежности — гауссовы смеси (GMM);
- нужна иерархия — агломеративная кластеризация.
Что хотят услышать
- Шаги алгоритма.
- Способы выбора k.
- Ограничения и альтернативы.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗K-means сам определяет число кластеров по плотности точек и не требует задавать k заранее
- ✓Точки к ближайшим центрам, центры — средние, до стабилизации; k — локоть, силуэт
- ✗K-means нечувствителен к масштабу признаков
- ✗K-means хорошо находит кластеры произвольной формы и выбросы
Связанные вопросы
Партнёр платформы
Разбор собеседования
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.