Классическое машинное обучение

Isolation Forest

Isolation Forest

актуальноТекущий рабочий стандарт

Направления: Машинное обучение · Классический ML

Обнаружение случайными разбиениями: аномальный объект отделяется от остальных за меньшее число разрезов.

Ключевые тезисы

  • Не требует разметки и хорошо масштабируется: сложность почти линейна по числу объектов.
  • Работает с многомерными данными лучше, чем методы на основе плотности.
  • Параметр contamination задаёт ожидаемую долю и напрямую определяет порог.

Какую задачу решает

Большинство методов сначала описывают , а потом ищут отклонения от неё. переворачивает логику: аномалию не нужно описывать, её достаточно изолировать. Если строить случайные разбиения пространства, редкий и непохожий объект отделится от остальных за несколько разрезов, а типичный будет долго сидеть в плотной толпе.

Скором аномальности служит средняя глубина, на которой объект оказывается изолирован в случайных деревьев. Метод не требует ни разметки, ни предположений о форме распределения и работает линейно по числу объектов — редкое сочетание, которое и сделало его стандартом для табличных .

Локальные аномалии, которые метод пропустит

Есть два кластера: плотный и разрежённый. Объект внутри разрежённого кластера изолируется быстро — метод пометит его аномалией, хотя для своего кластера он совершенно нормален. И наоборот: объект между двумя плотными кластерами может изолироваться небыстро и остаться незамеченным. мыслит глобально, поэтому если у ваших данных есть выраженная групповая структура с разной плотностью, добавьте кластера или возьмите LOF, который сравнивает объект именно с его локальным окружением.

Подробный разбор

2 подтемы — объяснения, формулы, примеры и интерактивные графики.

Алгоритм строит случайные деревья, выбирая случайный и случайный порог. Аномальные объекты отсекаются от остальных за меньшее число разбиений, поэтому их средняя глубина в деревьях мала.

Обозначения
  • математическое ожидание — среднее по распределению
  • объект: вектор признаков
  • число объектов в выборке
Скор близкий к 1 — , около 0.5 — обычный объект

  • contamination задаёт долю и напрямую определяет порог — выбирайте его по бюджету проверок.
  • Метод плохо работает с категориальными признаками и требует осмысленного кодирования.
  • Не находит «локальные» внутри плотного кластера — для них нужен LOF.
  • Хорошо масштабируется: подвыборка 256 объектов на дерево — стандарт.

Где применяется

  • метрикПоиск аномальных значений в телеметрии и бизнес-показателях без размеченных инцидентов.
  • АнтифродПервичный отбор подозрительных транзакций для ручной проверки или более тяжёлой модели.
  • Контроль Поиск битых строк и в пайплайне до того, как они попадут в обучение.
  • Промышленная диагностикаОтклонения в показаниях датчиков, где примеров поломок почти нет.

Плюсы, минусы и альтернативы

Плюсы

  • Не требует размеченных .
  • Линейная сложность и малая память — работает на больших данных.
  • Не делает предположений о форме распределения.
  • Естественно справляется с высокой размерностью лучше методов на расстояниях.
  • Практически не требует настройки, кроме доли .

Минусы

  • contamination приходится задавать, а истинная доля обычно неизвестна.
  • Плохо ловит локальные — объект, нормальный глобально, но странный для своей группы.
  • Разрезы параллельны осям: диагональные структуры описываются хуже.
  • Скор аномальности не является вероятностью, его трудно интерпретировать абсолютно.
  • Нерелевантные размывают сигнал.

Брать, если

  • нет в разметке, а искать их надо.
  • Данные табличные и объектов много.
  • Нужен быстрый первичный фильтр перед ручной проверкой.

Не брать, если

  • Размеченные есть — обучение с учителем даст заметно больше.
  • локальные, зависящие от контекста группы, — смотрите LOF.
  • Данные — последовательность или временной ряд, где определяется динамикой.

Чем заменяют

Тема также относится к главам:Обучение без учителяПлотность и аномалии

Связанные темы

Редкие классы и события

Следующий шагДальше по связи: Imbalanced DataКогда положительных объектов 1% или меньше: как обучать, чем мерить и что делать с порогом.Перейти →

Глава «Классическое машинное обучение» последний раз правилась . Нашли ошибку — напишите.