Начните работу с алгоритмами обнаружения аномалий за 5 минут

Начните работу с алгоритмами обнаружения аномалий за 5 минут Изучение

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

Чтобы помочь вам начать работу с этой сложной темой сегодня, мы рассмотрим 5-минутный ускоренный курс о том, что такое обнаружение аномалий, почему оно используется, и некоторые базовые алгоритмы.

Что такое обнаружение аномалий?

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

Существует множество различных методов обнаружения аномалий, иногда называемых алгоритмами обнаружения выбросов, каждый из которых имеет разные критерии обнаружения выбросов и поэтому используется для разных случаев использования. Обнаружение аномалий используется во всех основных технологиях науки о данных, таких как Python и Scikit-learn (SKlearn).

Все формы обнаружения аномалий основываются на первоначальном понимании стандартных результатов или нормальных примеров с использованием данных временных рядов.

Данные временных рядов по сути представляют собой набор значений одной и той же переменной за период времени. Обычно это не означает постоянство или то же самое, а скорее изменение ожидаемым образом. Каждый метод использует разные критерии оценки для формирования эталона.

Пример: продажа мороженого

Например, в магазине мороженого может быть зафиксировано падение продаж в зимние месяцы и пик продаж в летние месяцы. Эта тенденция сохраняется из года в год и поэтому используется в качестве ожидаемого стандарта.

Читайте также:  Руководство по использованию MSSQL с Node.js

Хотя падение продаж — заметное изменение по сравнению с продажами в летний месяц, это не аномалия. Однако система отметит аномалию, если продажи мороженого внезапно вырастут на 40% выше нормы в течение зимнего месяца, потому что это выходит за рамки нашего ожидаемого поведения продаж. Это позволит магазину мороженого проанализировать, почему произошла эта аномалия, и принять обоснованные бизнес-решения о том, как снова увеличить продажи в будущем.

Почему важно обнаружение аномалий?

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

Из-за разнообразия вариантов использования компании из разных секторов внедряют обнаружение аномалий в свои стратегии обработки данных. Например, многие компании решили использовать методы обнаружения аномалий для отслеживания своих ключевых показателей эффективности (KPI). Это позволяет им быстрее замечать аномальные тенденции на бумаге и быть более гибкими при изменении реальных рынков.

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

Основные алгоритмы обнаружения аномалий

Кластеры следуют за линией, красные точки — аномалии.

Методы, основанные на плотности

Методы, основанные на плотности, включают в себя общие методы, такие как K-ближайшего соседа (KNN), Локальный фактор выброса (LOF), Isolation Forests (аналогично деревьям решений) и другие. Эти методы могут использоваться для систем регрессии или классификации.

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

Например, в системе KNN точки данных взвешиваются по значению 1/k, которое kпредставляет собой расстояние до ближайшего соседа точки данных. Это означает, что точки данных, которые расположены ближе друг к другу, имеют большой вес и поэтому влияют на то, что является стандартом больше, чем на удаленные точки данных. Затем система помечает выбросы, просматривая точки с низким 1/kзначением.

Сценарий использования

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

Черные точки объединены в категории, красные точки не входят ни в одну из категорий.

Одноклассная опорная векторная машина

Алгоритм одноклассной опорной векторной машины (одноклассная SVM) — это модель обучения с учителем, которая создает надежную модель прогнозирования. В основном используется для классификации. В системе используется обучающий набор примеров, каждый из которых помечен как часть одной из двух категорий. Затем система создает критерии для сортировки новых примеров по каждой категории. Алгоритм сопоставляет примеры с точками в пространстве, чтобы максимально различать обе категории.

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

Сценарий использования

У вас есть данные, которые в основном должны соответствовать двум ожидаемым категориям, и вы хотите найти, какие точки данных лежат за пределами каждой категории.

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

Алгоритм обнаружения аномалий кластеризации K-средних

Алгоритм кластеризации K-средних — это алгоритм классификации, аналогичный подходам KNN, поскольку он основан на близости каждой точки данных к другим близлежащим точкам и аналогичен SVM, поскольку он в первую очередь ориентирован на классификацию по различным категориям.

Каждая точка данных разделена на категории в зависимости от ее характеристик. Каждая категория имеет центральную точку или центроид, который служит прототипом для всех других точек данных в кластере. Затем другие точки сравниваются с этими прототипами, чтобы определить их k-среднее значение, которое, по сути, действует как показатель разницы между прототипом и текущей точкой данных. Точки данных с более высоким k-средним отображены ближе к прототипу, создавая кластер.

Кластеризация K-средних может обнаруживать аномалии, отмечая точки, которые не соответствуют ни одной из установленных категорий.

Сценарий использования

У вас есть немаркированные данные, состоящие из множества различных типов данных, которые вы хотите организовать по аналогии с изученными прототипами.

Алгоритмы, которые нужно изучить дальше

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

  • Гауссовский : альтернативная версия алгоритма K-средних, который использует распределение Гаусса в сравнении со стандартным отклонением.
  • Байесовский : альтернативный алгоритм, который использует байесовское понимание вероятности для обнаружения аномалий.
  • Автоэнкодеры : форма нейронной сети, которая изменяет ожидания между вводом и выводом. Система использует ввод для создания закодированных правил для ожидаемого вывода и наоборот. Любые значения, выходящие за рамки этих повторяющихся слоев анализа, помечаются как аномальные. Этот алгоритм обучения в основном используется для задач обнаружения аномалий размерности.
Оцените статью
bestprogrammer.ru
Добавить комментарий