Введение в 4 категории обнаружения аномалий

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

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

Прежде всего, что такое машинное обучение? Машинное обучение, по сути, использует статистику для моделирования и обучения нормального поведения системы (или корпуса) на основе обучающего набора (фонового набора данных). После этого мы можем сравнить систему с аномальным поведением (целевой набор данных) с нашей моделью поведения нормальной системы и попытаться обнаружить аномалии в целевой системе. Хотя основная идея кажется довольно простой и интуитивно понятной, с этим процессом связано много сложностей, таких как поиск набора фоновых данных, который является репрезентативным для всей совокупности, распределение вычислений по разным машинам для больших наборов данных и т. Д. Я буду говорить не об этих проблемах, а о применении машинного обучения для поиска аномалий.

Типы проблем обнаружения аномалий

Структурированные аномалии в известном корпусе данных

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

Структурированные аномалии в неизвестном массиве данных

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

Неструктурированные аномалии в известном массиве данных

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

Неструктурированные аномалии в неизвестном массиве данных

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

Вывод

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