Классификация аномалий и задач в области поиска аномалий
Про классификацию аномалий я часто рассказываю в своих докладах (раз, два). Я также писал пост в канал Reliable ML, где затрагивал эту тему. Пришло время собрать всю информацию по теме в один пост. Я, как обычно, опираюсь на классический обзор, немного его дополняя.
🟡По типу обработки информации (Processing type). Существуют оффлайн и онлайн варианты задачи.
· Оффлайн задача (=сегментация) ставится при наличии полного набора данных, поэтому можно получить оптимальное решение.
· Онлайн ставится, когда данные поступают поточечно (real-time) или батчами, а начало аномалии (точка изменения) должно детектироваться с минимальным запаздыванием.
🟣По типу данных (Data). Один из вариантов классификации — на структурированные, полуструктурированные и неструктурированные (подробнее здесь). Но более полезной кажется классификация по модальности, поскольку методы поиска аномалий для разных модальностей часто существенно различаются.
· Табличные: это данные, структурированные в строки, каждая из которых содержит информацию об отдельном объекте.
· Временной ряд: это одномерные или многомерные данные, наблюдаемые во времени последовательным образом. В идеальных случаях данные наблюдаются через заранее определенные и равные промежутки времени (например, ежегодно или ежечасно).
· Аудио: это особый случай данных временных рядов, где собираемым признаком является звук. Более подробную информацию о том, что такое звук и аудио, можно найти здесь.
· Изображения: это тензор или многомерный массив, где два измерения (строки и столбцы) представляют собой пространственные координаты (оси x и y), а третье представляет интенсивность или уровень серого.
· Видео: обычно это комбинированный тип аудио и временных рядов изображений (каждый экземпляр относится к типу изображения).
· Текст: это либо отдельные слова, либо слова, объединенные в фразы, предложения и тексты.
📎Полезная статья о типах данных с точки зрения машинного обучения.
🔵По наличию разметки данных (Modes by data labels). Можно разделить на с учителем (supervised), с частичным привлечением учителя (semi-supervised) и без учителя (unsupervised).
· Обучения с учителем: требуется, чтобы все данные (как нормального, так и аномального класса) были размечены.
· Обучение с частичным привлечением учителя: обычно речь идет о необходимости иметь часть размеченных данных для каждого класса, но для поиска аномалий чаще всего речь идет о наличии полностью размеченного нормального класса.
· Обучение без учителя: нет разметки ни одного класса. Эти методы часто основаны на предположении, что количество аномальных случаев намного меньше обычных.
🟢Вывод алгоритмов (AD algorithm output). Существует два основных типа вывода результатов алгоритмов:
· Оценка (score) аномальности: алгоритм выдает для каждой точки степень аномальности. Это позволяет гибко определять границу аномальности на этапе постобработки и, например, управлять ошибками 1го и 2го рода.
· Метки классов: алгоритм выводит для каждой точки метку класса (0/1 или нормальный/аномальный).
🔴Тип аномалии (Anomaly type). Часто выделяют точечные, коллективные и контекстуальные аномалии.
· Если одна точка демонстрирует аномальное поведение по отношению к остальным данным, то ее называют точечной аномалией.
· Если набор последовательных точек демонстрирует аномальное поведение по отношению к остальным данным, то этот набор точек называют коллективной аномалией.
· В случае, если аномальность данных заметна только в контексте соседних точек, говорят о контекстуальных аномалиях. К этому типу могут относиться как точечные, так и коллективные аномалии.
🔵Область применения (Application domain). В зависимости от конкретной области знаний или отрасли экономики аномалии можно разделить на различные типы: фрод, кибер-атаки, поломки оборудования и другие. Эти типы относятся к различной природе возникновения аномалий и подразумевают, что следует использовать различные методы поиска аномалий и эвристики предметной области.