Найти тему
Машинное обучение

Как использовать машинное обучение для обнаружения аномалий и условного мониторинга

Оглавление

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

Michael Garbade , генеральный директор и основатель Education Ecosystem

Ключевые выводы

  • Основная цель анализа обнаружения аномалий - выявить наблюдения, которые не соответствуют общим шаблонам, рассматриваемым как нормальное поведение.
  • Обнаружение аномалий может быть полезно для понимания проблем с данными.
  • Есть области, в которых методы обнаружения аномалий достаточно эффективны.
  • Современные инструменты машинного обучения включают в себя Isolation Forests и другие подобные методы, но вам необходимо понимать базовую концепцию для успешной реализации.
  • Метод Isolation Forests - это метод неконтролируемого обнаружения выбросов с интерпретируемыми результатами.

Введение

Прежде чем проводить какой-либо анализ данных, возникает необходимость выяснить любые выбросы в наборе данных. Эти выбросы известны как аномалии.

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

Что такое обнаружение аномалий? Практические варианты использования.

Основная цель анализа обнаружения аномалий - выявить наблюдения, которые не соответствуют общим шаблонам, рассматриваемым как нормальное поведение. Например, на рис. 1 показаны аномалии в задачах классификации и регрессии. Мы видим, что некоторые значения отличаются от большинства примеров.

рис.1 Выбросы в задачах классификации (a, слева) и регрессии (b, справа)
рис.1 Выбросы в задачах классификации (a, слева) и регрессии (b, справа)

В анализе данных есть два направления поиска аномалий: обнаружение выбросов и обнаружение новизны. Итак, выброс - это наблюдение, которое отличается от других точек данных в наборе данных поезда. Точка данных новизны также отличается от других наблюдений в наборе данных, но в отличие от выбросов точки новизны появляются в тестовом наборе данных и обычно отсутствуют в наборе данных поезда. Следовательно, на рис.1 наблюдаются выбросы.

Наиболее частые причины выбросов:

  • ошибки данных (неточности измерения, округление, неправильная запись и т. д.);
  • точки данных по шуму;
  • скрытые закономерности в наборе данных (запросы на мошенничество или атаки).

Таким образом, обработка выбросов зависит от характера данных и домена. Точки данных шума должны быть отфильтрованы (удаление шума); ошибки данных должны быть исправлены. Некоторые приложения ориентированы на выбор аномалий, а некоторые приложения мы рассмотрим подробнее.

Существуют различные бизнес-сценарии, в которых обнаружение аномалий полезно. Например, системы обнаружения вторжений (IDS) основаны на обнаружении аномалий. На рисунке 2 показано наблюдаемое распределение набора данных NSL-KDD, который представляет собой современный набор данных для IDS. Мы видим, что большинство наблюдений являются обычными запросами, а Probe или U2R - некоторыми отклонениями. Естественно, что большинство запросов в компьютерной системе нормальные, и лишь некоторые из них являются попытками атаки.

рис.2 Распределение наблюдений IDS
рис.2 Распределение наблюдений IDS

Системы обнаружения мошенничества с кредитными картами (CCFDS) - еще один вариант использования для обнаружения аномалий. Например, открытый набор данных из https://www.kaggle.com/mlg-ulb/creditcardfraud

содержит транзакции, совершенные европейскими держателями кредитных карт в сентябре 2013 года. В этом наборе данных представлены транзакции, которые произошли за два дня. Из 284 807 транзакций зафиксировано 492 мошенничества. Набор данных сильно несбалансирован. На положительный класс (мошенничество) приходится 0,172% всех транзакций.

Есть два подхода к обнаружению аномалий:

  • Контролируемые методы;
  • Неконтролируемые методы.

В контролируемых методах обнаружения аномалий набор данных имеет метки для нормальных и аномальных наблюдений или точек данных. Наборы данных IDS и CCFDS подходят для контролируемых методов. В этих случаях используются стандартные методы машинного обучения. Обнаружение аномалий под наблюдением - это своего рода проблема бинарной классификации. Следует отметить, что наборы данных для проблем обнаружения аномалий довольно несбалансированы. Поэтому важно использовать некоторую процедуру увеличения данных (алгоритм k-ближайших соседей, ADASYN, SMOTE, случайная выборка и т. Д.) Перед использованием методов контролируемой классификации. Джордан Суини показывает, как использовать алгоритм k-ближайшего к вам в проекте «Экосистема образования» https://www.education-ecosystem.com/jsweeney91/2oPDm-travelling-salesman-nearest-neighbour

Неконтролируемое обнаружение аномалий полезно, когда нет информации об аномалиях и связанных с ними закономерностях. В этом случае используются методы Isolation Forests, OneClassSVM или k-means. Основная идея здесь - разделить все наблюдения на несколько кластеров и проанализировать структуру и размер этих кластеров.

Существуют различные открытые наборы данных для тестирования методов обнаружения выбросов, например, DataSets обнаружения выбросов.http://odds.cs.stonybrook.edu/

Неконтролируемое обнаружение аномалий с помощью изолирующих лесов

Метод Isolation Forests основан на случайной реализации деревьев решений и других ансамблей результатов.Каждое дерево решений строится до тех пор, пока набор данных поезда не будет исчерпан. Для построения новой ветви в Дереве решений выбираются случайная функция и случайное разбиение. Алгоритм отделяет нормальные точки от выбросов по среднему значению глубины листьев дерева решений. Этот метод реализован в библиотеке scikit-learn https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.IsolationForest.html

Чтобы проиллюстрировать методы обнаружения аномалий, давайте рассмотрим несколько игрушечных наборов данных с выбросами, которые показаны на рис. 3. Точки с классом 1 являются выбросами. Столбец «класс» не используется в анализе, но присутствует только для иллюстрации.

рис.3 Выборка набора данных и диаграмма рассеяния
рис.3 Выборка набора данных и диаграмма рассеяния

Давайте применим Isolation Forests для этого примера игрушки с дальнейшим тестированием на некотором наборе данных теста игрушки. Результаты показаны на рис. 4. Полный код представлен здесь: https://www.kaggle.com/avk256/anomaly-detection

Рис.4 Наборы данных и реализация метода Isolation Forests
Рис.4 Наборы данных и реализация метода Isolation Forests

Следует отметить, что столбцы «y_train» и «y_test» не соответствуют методу. Итак, метод Isolation Forests использует только точки данных и определяет выбросы. Следовательно, набор данных «X_test» состоит из двух нормальных точек и двух выбросов, и после метода прогнозирования мы получаем точно равное распределение на два кластера.

Заключение

Короче говоря, методы обнаружения аномалий могут использоваться в отраслевых приложениях, например, очистка данных от точек данных шума и ошибок наблюдений. С другой стороны, методы обнаружения аномалий могут быть полезны в бизнес-приложениях, таких как системы обнаружения вторжений или мошенничества с кредитными картами. Андрей демонстрирует в своем проекте «Модель машинного обучения: Python Sklearn & Keras по экосистеме образования», что метод Isolation Forests является одним из самых простых и эффективных для неконтролируемого обнаружения аномалий. Кроме того, этот метод реализован в современной библиотеке Scikit-learn.

Биография: Майкл Гарбаде - генеральный директор и основатель образовательной экосистемы Майкл - дальновидный, глобальный серийный предприниматель, обладающий опытом в разработке программного обеспечения, серверной архитектуре, науке о данных, искусственном интеллекте, финтех, блокчейне и венчурном капитале. Он сочетает опыт в области технологий, данных, финансов и развития бизнеса с впечатляющим образованием и талантом определять новые бизнес-модели. Как соучредитель и генеральный директор Education Ecosystem, его миссия - создать крупнейшую в мире экосистему децентрализованного обучения для профессиональных разработчиков и студентов колледжей. Он пишет тематические экспертные технические и бизнес-статьи в ведущих блогах, таких как Opensource.com, Dzone.com, Cybrary, Businessinsider, Entrepreneur.com, TechinAsia, Coindesk и Cointelegraph.