Кластеризация:
как искать структуру, когда никто не дал ответ
На этой неделе мы перестали предсказывать готовый target и начали расследование: что считать похожестью, как превратить сказку в числа и почему красивое разбиение ещё не становится истиной.
Кластер
Объекты внутри похожи сильнее, чем на объекты из других групп.
Не одна истина
Результат зависит от признаков, метрики, алгоритма и параметров.
Главный вопрос
Почему именно эти объекты должны считаться похожими?
Маршрут недели: сказки Grimm → Hierarchical → K-means → Silhouette → DBSCAN / Spectral.
Компьютер не читает сказку.
Он читает представление, которое мы построили.
Word Cloud
Разведка, а не вывод. Частое слово может быть совершенно бесполезно для различения сказок.
Bag of Words
Строка = сказка, столбец = слово, значение = частота. Теперь тексты стали точками в многомерном пространстве.
Cosine distance
Сравнивает профиль слов. Короткая и длинная сказка могут быть похожи, если пропорции слов похожи.
Ограничение: похожий сюжет, написанный разными словами, Bag of Words + cosine не обязаны распознать как похожий.
Сначала каждый сам по себе.
Потом выращиваем дерево отношений.
Single
Самая близкая пара. Может давать chaining — длинные цепочки.
Complete
Самая дальняя пара. Строже держит группы отдельно.
Average
Среднее расстояние между группами. Спокойный компромисс.
Weighted
После объединения сравнивает группы более равноправно; полезно знать как ещё один вариант Orange.
Ward
Старается меньше увеличивать внутренний разброс. Его стандартная variance-интуиция относится к евклидовой геометрии.
Как читать дендрограмму?
Листья — объекты. Раннее объединение — большая похожесть. Длинный скачок — уже более разные группы.
Главный плюс
Не нужно заранее знать k: сначала строим дерево, затем выбираем уровень разреза — грубый или более детальный.
Совет: сначала смотрите на дерево. Потом выбирайте число кластеров. Не наоборот.
Сначала задаём k.
Потом центры начинают переезжать.
Почему means?
Новый центр — среднее положение объектов своего кластера.
Почему старт важен?
Разные начальные центры могут привести к разным локальным решениям. Поэтому делают несколько запусков.
Что любит K-means?
Компактные облака вокруг центров. Изогнутые формы и сильно разные плотности могут его запутать.
K-means — быстрый рабочий инструмент, но не оракул.
После кластеризации спрашиваем:
насколько объект «сидит» в своей группе?
Хорошая посадка
Объект близок к своему кластеру и далёк от соседнего.
Сравниваем k
Средний Silhouette помогает выбрать кандидата среди нескольких k.
Silhouette Plot
Показывает слабые кластеры и пограничные объекты, к которым стоит вернуться.
Странный объект
Не кричим «алгоритм сломался». Открываем объект, смотрим признаки и соседей.
Плохие признаки
Даже хороший алгоритм построит плохие группы, если представление не отражает нужную похожесть.
Слишком сильная история
Человек умеет придумать смысл даже там, где его нет. Интерпретацию надо проверять.
Формула осторожности: данные → представление → preprocessing → метрика → алгоритм → параметры → проверка смысла.
Нет универсального победителя.
Метод выбирают под данные и вопрос.
Hierarchical 🌳
Дерево отношений. k заранее не нужен. Хорошо для разведки и объяснения структуры.
K-means 🎯
Центры и заданное k. Быстрый baseline для компактных групп.
DBSCAN 🧲
Плотные области + шум. k заранее не нужен, но нужно подобрать eps и min_samples.
Spectral 🕸️
Граф похожести → новое пространство. Полезна для сложной геометрии, но дороже и сложнее.