Урок по треку Классический ML 7 мин

Кластеризация и снижение размерности за 7 минут

k-means, DBSCAN, иерархическая кластеризация, оценка кластеров, PCA, t-SNE и UMAP.

Без меток задачи формулируются расплывчато: «сегментируйте клиентов», «посмотрите на структуру эмбеддингов». На собесе проверяют, знаете ли вы ограничения алгоритмов и как оценить результат.

k-means

Алгоритм Ллойда чередует два шага:

  1. Назначить каждую точку ближайшему центру.
  2. Пересчитать центры как средние своих точек.

Каждый шаг не увеличивает инерцию (сумму квадратов расстояний до центров), поэтому алгоритм сходится, но к локальному минимуму. Лечат инициализацией k-means++ и несколькими перезапусками.

Пример: точки 1, 2, 3, 10, 11, центры 2 и 9. Назначения {1, 2, 3} и {10, 11}, новые центры 2 и 10.5, инерция 2.5.

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

Как выбрать k: инерция падает монотонно, поэтому ищут «локоть»; силуэт; но главный критерий это польза и интерпретируемость сегментов.

Силуэт

s = (b - a) / max(a, b)

a средняя дистанция до своего кластера, b до ближайшего чужого. Около 1 хорошо, около 0 на границе, отрицательный объект скорее в чужом кластере.

Другие алгоритмы

  • DBSCAN: кластеры как плотные области. Сам находит число кластеров и форму, помечает выбросы как шум. Параметры eps и min_samples; один eps на всё плохо работает при разной плотности, тогда HDBSCAN.
  • Иерархическая (агломеративная): объединяет ближайшие кластеры, строит дендрограмму. Память O(n²).
  • GMM: смесь гауссиан, обучается EM. Мягкие назначения и эллиптические кластеры.

Поиск аномалий

Isolation Forest: строит деревья со случайными признаками и порогами. Аномалию изолировать легко, у неё короткий путь в дереве. Быстрый и без меток.

Снижение размерности

  • PCA: линейный, детерминированный, быстро применяется к новым точкам. Для сжатия признаков, шумоподавления, ускорения поиска. Требует центрирования и, при разных единицах, стандартизации.
  • t-SNE: визуализация в 2-3 измерения. Сохраняет локальные соседства, но размеры кластеров и расстояния между ними на картинке почти ничего не значат. Зависит от perplexity и сида, новые точки не проецирует.
  • UMAP: быстрее, лучше держит глобальную структуру, умеет transform, но тоже стохастичен.
  • Автоэнкодеры: нелинейное сжатие нейросетью, нужно много данных.

Перед t-SNE часто делают PCA до 50 компонент, чтобы убрать шум и ускорить расчёт.

Сегментация на практике

  1. Понять, что будем делать с сегментами.
  2. Признаки: RFM и поведение, логарифмы для денег, масштабирование.
  3. k-means как база, GMM или HDBSCAN при сложной форме.
  4. Выбрать k по локтю, силуэту и смыслу.
  5. Проверить стабильность (сиды, бутстреп, следующий месяц) и описать профили.
  6. Пользу доказать экспериментом.

Частые ошибки

  • Выбирать k по минимуму инерции.
  • Запускать k-means без масштабирования.
  • Читать расстояния между кластерами на картинке t-SNE.
  • Ставить t-SNE шагом в пайплайн модели.

Что спросят на собесе

  • Как работает k-means, чем плох, как выбрать k.
  • Чем DBSCAN отличается от k-means.
  • Что такое силуэт.
  • Сравнить PCA, t-SNE и UMAP.
  • Как бы вы сегментировали клиентов.

Закрепите за 5 минут

После урока в тренажёре 3-5 проверочных вопросов, дальше модуль уходит в повторения.