Как найти неожиданные закономерности в ваших данных

В неожиданном есть красота.

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

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

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

Автокодировщики

Автокодировщик — это тип искусственной нейронной сети, разделенный на два основных элемента: сеть кодировщика и сеть декодера.

Каждая часть выполняет следующее:

  1. Кодировщик сеть: уменьшает многомерный ввод в низкоразмерном пространстве, называемом скрытым пространством.
  2. Сеть декодера: сопоставляет скрытое пространство с представлением входных изображений.

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

Сети кодера и декодера могут быть спроектированы для выполнения конкретных задач. В случае изображений мы обычно используем сверточные нейронные сети (CNN), которые мы обучаем, чтобы уменьшить среднеквадратичную ошибку (MSE) между входом X и его реконструированным выходом X’, т.е.

Популярные варианты использования автоэнкодеров:

  • Уменьшение размеров
  • Сжатие изображения
  • Шумоподавление данных
  • Обнаружение аномалий

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

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

Но сначала мы должны построить граф K-ближайших соседей, чтобы обучить лапласовский автокодировщик.

K-график ближайшего соседа

Граф k-ближайших соседей (k-NNG) — это граф, в котором каждый узел соединен со своими ближайшими соседями. Например, на приведенном ниже графике каждый узел соединен с тремя ближайшими точками.

Евклидова норма, вероятно, является наиболее интуитивной мерой близости, поскольку она дает кратчайшее расстояние между двумя точками. Другие популярные метрики расстояния, такие как Минковский, Манхэттен, Хэмминг или косинус, могут быть выбраны в зависимости от приложения.

Для многомерных входных данных, таких как изображения, нам нужно выбрать метрику расстояния, которая может измерять сходство между изображениями, такую ​​​​как мера индекса структурного сходства (SSIM) или на основе гистограммы ориентированного градиента (HOG).

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

При выборе метрики мы должны помнить, что хорошая мера расстояния должна быть:

  • Информативность: расстояние можно напрямую перевести как уровень сходства.
  • Рефлексивный: расстояния от «А до Б» и «Б до А» равны.
  • Чувствительный: изменения плавные при изменении расстояния
  • Ограничено: показатель попадает в ограниченный диапазон.

Лапласианский автоматический кодировщик

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

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

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

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

Из графика KNN мы получаем весовую матрицу (W), которая имеет малую величину W(i, j), когда расстояние между Xi и Xj велико, и большую, когда расстояние между Xi и Xj мало. Затем функция регуляризации определяется следующим образом:

Где Zi и Zj характеризуют отображаемые точки в скрытом пространстве из входов Xi и Xj соответственно. Первый параметр (лямбда) — это вес регуляризации, который мы можем настроить как гиперпараметр нашей модели.

Полная функция потерь, которую должен оптимизировать лапласовский автоэнкодер, определяется следующим образом:

Заключительные слова

Итак, что вы можете сделать, если ваши данные не совсем соответствуют шаблону?

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

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

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

Хотите узнать больше о работе и проектах Энтони? Следите за ним в Medium, LinkedIn и Twitter.

Нужен технический писатель? Отправьте запрос на https://amigocci.io.