Обучение без учителя
Кластеризация k-means и DBSCAN, PCA и LDA, t-SNE/UMAP и поиск аномалий на автоэнкодерах.
12 вопросов
JuniorТеорияОчень частоКак пошагово работает k-means и какую величину уменьшает каждый его шаг?
Как пошагово работает k-means и какую величину уменьшает каждый его шаг?
k-means чередует два шага — приписать каждую точку к ближайшему центроиду, затем сдвинуть центроид в среднее своих точек. Оба шага уменьшают одну и ту же величину, сумму квадратов расстояний внутри кластеров, поэтому прогон сходится к локальному оптимуму.
Типичные ошибки
- ✗Считают, что k-means сходится к глобальному оптимуму
- ✗Путают обновление центроида по среднему с обновлением по медиане
- ✗Думают, что два шага оптимизируют разные величины
Уточняющие вопросы
- →Что останавливает цикл и может ли величина расти между итерациями?
- →Почему итоговое разбиение зависит от стартовых центроидов?
JuniorТеорияОчень частоКак выбирают k для k-means и почему излом на графике так часто неоднозначен?
Как выбирают k для k-means и почему излом на графике так часто неоднозначен?
Строят график инерции по k и ищут излом либо считают silhouette для каждого k и берут максимум. Инерция монотонно падает с ростом k, поэтому на гладких данных резкого излома нет и его читают субъективно; silhouette даёт вместо этого сравнимое число.
Типичные ошибки
- ✗Ждут, что у инерции будет минимум на истинном k
- ✗Вычитывают резкий излом из гладкой монотонной кривой
- ✗Считают излом и silhouette взаимозаменяемыми, а не дополняющими
Уточняющие вопросы
- →Что говорит о точке значение silhouette около нуля?
- →Как ограничение бизнеса на число сегментов изменит выбор k?
JuniorТеорияЧастоЧто задают eps и min_samples в плотностном алгоритме DBSCAN и какая точка считается шумом?
Что задают eps и min_samples в плотностном алгоритме DBSCAN и какая точка считается шумом?
eps задаёт радиус окрестности, а min_samples — сколько точек должно в неё попасть, чтобы точка считалась core. Core-точки и их соседи образуют кластеры; точка, которая не core и не лежит в пределах eps от core-точки, помечается шумом.
Типичные ошибки
- ✗Меняют местами смысл eps и min_samples
- ✗Считают, что каждая точка попадает в какой-то кластер
- ✗Думают, что шум определяется расстоянием до центроида
Уточняющие вопросы
- →Как рост eps меняет число кластеров и количество шума?
- →Что такое граничная точка и почему её приписывание зависит от порядка обхода?
MiddleТеорияЧастоКруглые сгустки, переплетённые полумесяцы, вложенная таксономия — выберите метод для каждого.
Круглые сгустки, переплетённые полумесяцы, вложенная таксономия — выберите метод для каждого.
Круглые сгустки схожего размера — это k-means, ровно его сферическое допущение. Переплетённые полумесяцы — DBSCAN, он идёт по плотности и помечает выбросы шумом. Вложенная таксономия — иерархическая кластеризация, её дендрограмма показывает сами уровни.
Типичные ошибки
- ✗Натягивают k-means на невыпуклые формы, увеличивая k
- ✗Считают DBSCAN универсальным при одном значении eps
- ✗Выбирают алгоритм по размеру данных, а не по геометрии кластеров
Уточняющие вопросы
- →Какой linkage возьмёте для таксономии и почему этот выбор важен?
- →Что ломается в DBSCAN, если полумесяцы сильно различаются по плотности?
MiddleТеорияЧастоСколько главных компонент оставить и что на деле говорит доля объяснённой дисперсии?
Сколько главных компонент оставить и что на деле говорит доля объяснённой дисперсии?
Число компонент берут по целевой накопленной дисперсии либо по излому scree-графика. Но объяснённая дисперсия измеряет восстановление входов, а не пользу для метки — сигнал может лежать в направлении с малой дисперсией, поэтому число сверяют с метрикой модели.
Типичные ошибки
- ✗Считают 95 процентов объяснённой дисперсии гарантией качества модели
- ✗Предполагают, что дисперсия и предсказательная сила связаны монотонно
- ✗Обучают PCA на всём наборе данных до разбиения на train и test
Уточняющие вопросы
- →Приведите случай, где разделяющее направление почти не имеет дисперсии.
- →Где именно в пайплайне кросс-валидации должно стоять обучение PCA?
MiddleТеорияЧастоЧем контролируемая проекция LDA отличается от PCA и когда её подпространство лучше?
Чем контролируемая проекция LDA отличается от PCA и когда её подпространство лучше?
PCA не использует метки и максимизирует общую дисперсию; LDA берёт метки и максимизирует межклассовый разброс относительно внутриклассового. При разделяющем направлении с малой дисперсией выигрывает LDA, но он ограничен C-1 компонентами и ждёт схожих ковариаций.
Типичные ошибки
- ✗Считают LDA методом без учителя или думают, что PCA использует метки
- ✗Забывают про ограничение числа компонент LDA величиной C-1
- ✗Полагают, что наличие меток делает LDA безусловно лучше
Уточняющие вопросы
- →Сколько компонент вернёт LDA на задаче с тремя классами?
- →Что происходит с LDA, если у одного класса ковариация гораздо шире остальных?
JuniorТеорияИногдаКакую проблему случайной инициализации решает k-means++ и чего это стоит?
Какую проблему случайной инициализации решает k-means++ и чего это стоит?
Случайные seed могут собрать несколько центроидов в одном плотном участке и оставить настоящий кластер без центра, а прогон застрянет в плохом оптимуме. k-means++ берёт каждый seed с вероятностью, пропорциональной квадрату расстояния до ближайшего, ценой лишних проходов.
Типичные ошибки
- ✗Считают, что k-means++ гарантирует глобальный оптимум
- ✗Думают, что он заменяет масштабирование признаков
- ✗Путают взвешенное по расстоянию сэмплирование с детерминированным выбором самых далёких точек
Уточняющие вопросы
- →Чем сэмплирование пропорционально квадрату расстояния лучше выбора самой далёкой точки?
- →Нужны ли несколько рестартов, если k-means++ уже включён?
JuniorТеорияИногдаЧто метод снижения размерности PCA делает геометрически и зачем сначала масштабировать?
Что метод снижения размерности PCA делает геометрически и зачем сначала масштабировать?
PCA находит ортогональные направления максимальной дисперсии и проецирует данные на первые из них. Так как максимизируется сырая дисперсия, признак в крупных единицах перетягивает компоненты на себя, поэтому признаки разных шкал надо стандартизовать до обучения.
Типичные ошибки
- ✗Считают, что PCA использует метки или максимизирует разделение классов
- ✗Думают, что PCA отбирает исходные признаки, а не комбинирует их
- ✗Запускают PCA на немасштабированных признаках с разными единицами
Уточняющие вопросы
- →Что станет с компонентами, если один признак в метрах, а другой в миллиметрах?
- →Коррелированы ли получившиеся компоненты между собой и почему?
MiddleТеорияИногдаЧто служит скором при поиске аномалий автоэнкодером и как выбрать порог без меток?
Что служит скором при поиске аномалий автоэнкодером и как выбрать порог без меток?
Скор — это ошибка восстановления: модель учится на преимущественно нормальных данных, и плохо восстановленные точки получают высокий скор. Без меток порог ставят на перцентиль обучающей ошибки под допустимый поток алертов и подстраивают под силы аналитиков.
Типичные ошибки
- ✗Обучают автоэнкодер на данных, сильно засорённых аномалиями
- ✗Фиксируют порог по эмпирическому правилу вместо бюджета алертов
- ✗Считают, что для скора обязательно нужны размеченные аномалии
Уточняющие вопросы
- →Что произойдёт со скором, если в обучающих данных уже много аномалий?
- →Как пересматривать порог по мере дрейфа нормального трафика?
MiddleТеорияИногдаПочему k-means проваливается на вытянутых и неравномерно плотных кластерах?
Почему k-means проваливается на вытянутых и неравномерно плотных кластерах?
Минимизация квадрата евклидова расстояния до центроида предполагает сферические кластеры схожего размера и разброса. Вытянутые или неравномерно плотные группы это нарушают, и k-means режет их поперёк; плотностный метод вроде DBSCAN идёт по реальной форме.
Типичные ошибки
- ✗Винят масштабирование или число итераций вместо допущения о форме
- ✗Считают, что верное k спасает k-means на несферических кластерах
- ✗Не берут плотностную альтернативу, когда формы нерегулярны
Уточняющие вопросы
- →Как модель гауссовых смесей ослабляет часть этого допущения?
- →Чем DBSCAN платит за умение работать с произвольными формами?
MiddleТеорияИногдаПочему по нелинейным эмбеддингам t-SNE и UMAP нельзя судить о размерах кластеров и зазорах?
Почему по нелинейным эмбеддингам t-SNE и UMAP нельзя судить о размерах кластеров и зазорах?
Оба сохраняют локальное соседство, а не глобальную геометрию, поэтому расстояния между кластерами, их видимые размеры и зазоры — артефакты perplexity и раскладки. Картинку читают качественно и никогда не подают координаты эмбеддинга в классификатор как признаки.
Типичные ошибки
- ✗Интерпретируют размеры кластеров или ширину зазоров на эмбеддинге
- ✗Используют координаты эмбеддинга как признаки модели
- ✗Считают, что подбор perplexity или усреднение прогонов вернут глобальную геометрию
Уточняющие вопросы
- →Почему обученный t-SNE нельзя применить к новым точкам так, как применяют PCA?
- →Что взять вместо него, если компактное числовое представление действительно нужно?
SeniorДизайнРедкоУ ритейл-приложения около 8M покупателей в месяц, и нужно от пяти до восьми маркетинговых сегментов, с которыми CRM-команда сможет работать и которые останутся узнаваемыми от квартала к кварталу. Есть два года транзакций, сессий и категорий каталога. Спроектируйте пайплайн целиком — какие признаки строите и что делаете с тяжёлым правым хвостом трат, что стандартизуете и снижаете ли размерность, какой алгоритм кластеризации берёте и как определяете число сегментов, а также чем убедите скептичного руководителя CRM, что сегменты реальны, а не артефакт алгоритма, и что они устоят при переобучении в следующем квартале.
У ритейл-приложения около 8M покупателей в месяц, и нужно от пяти до восьми маркетинговых сегментов, с которыми CRM-команда сможет работать и которые останутся узнаваемыми от квартала к кварталу. Есть два года транзакций, сессий и категорий каталога. Спроектируйте пайплайн целиком — какие признаки строите и что делаете с тяжёлым правым хвостом трат, что стандартизуете и снижаете ли размерность, какой алгоритм кластеризации берёте и как определяете число сегментов, а также чем убедите скептичного руководителя CRM, что сегменты реальны, а не артефакт алгоритма, и что они устоят при переобучении в следующем квартале.
Строим RFM-признаки, логарифмируем скошенные траты, стандартизуем и кластеризуем k-means, выбирая k по silhouette и пригодности для CRM. Реальность показываем профилированием на отложенном поведении, стабильность — согласием разбиений при переобучении на срезах.
Типичные ошибки
- ✗Кластеризуют немасштабированные признаки с тяжёлым хвостом по тратам
- ✗Выбирают k по минимуму инерции вместо измеримого критерия и пригодности
- ✗Подтверждают стабильность на тех же данных, а не на разных временных срезах
Уточняющие вопросы
- →Как сохранить соответствие сегментов между двумя квартальными переобучениями?
- →Что заставит вас отбросить математически чистый сегмент как непригодный для CRM?