Новый подход к обнаружению аномалий

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

В прошлом обнаружение аномалий считалось этапом «предварительной обработки», который использовался для исключения данных, которые потенциально могли ухудшить эффективность модели. Однако по мере роста объема и непредсказуемости данных все больше внимания уделялось прогнозированию аномалий в качестве упреждающей меры, а не реактивного подхода (для удаления выбросов в целях моделирования). В целом отрасли стали лучше понимать, что нужно проводить грань между изменчивостью «обычного бизнеса» и аномальным поведением. Помимо этого, мы можем бросить вызов традиционному мышлению о том, что считается выбросом. Традиционно точка данных считается выбросом, если она связана с аномально высоким/низким значением отклика; однако на самом деле это может быть не так. Теперь мы можем точно определить, является ли значение ответа ненормальным или нет для данного набора функций.

Как правило, основными областями обнаружения аномалий являются программные приложения (обнаружение вторжений), финансы (обнаружение мошенничества), неисправное оборудование (профилактическое обслуживание) и медицина (распознавание образов медицинских изображений). В любом случае, идея заключается в разработке моделей, которые будут:

1. Определите выбросы в существующих данных

2. Прояснить понимание драйверов, определяющих эти выбросы.

3. Используйте модели, чтобы предсказать, когда аномалия произойдет в будущем

Нейронные сети автоэнкодера

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

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

Идея автоэнкодеров заключается в том, что они имеют симметричные уровни кодирования и декодирования, которые имеют меньшую размерность, чем размерность ввода и вывода. Поскольку автоэнкодер пытается сопоставить входные данные с выходными, входной и выходной слои имеют одинаковые размеры. По мере того как данные передаются с одного уровня на другой на этапе кодирования, важно отметить, что количество измерений на каждом уровне уменьшается. И наоборот, должно происходить обратное, когда данные передаются с 1 уровня на следующий в фазе декодирования. Это было представлено на диаграмме ниже:

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

Вклад функции в ошибки

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

Наконец, эффективность этой модели можно определить, вычислив матрицу путаницы. Теперь мы установили, что исходные фактические данные были разделены на 2 класса: нормальные и аномальные. Мы можем сделать тот же метод для предсказанных классов на основе значений RE. Идея, лежащая в основе этого, отражает понятия истинных положительных и отрицательных результатов, а также ложных положительных и отрицательных результатов, т.е. определяет количество точек, которые модель правильно/неверно предсказывает как нормальные, а правильно/неверно как ненормальные.

Приложения

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

Об авторах:Ади Банерджи — специалист по данным в Kaizen Analytix из офиса в Атланте.