Обнаружение аномалий на основе анализа первичных компонентов

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

Категория: обнаружение аномалий

Примечание

Применимо к: машинное обучение Studio (классическая модель)

Это содержимое относится только к Studio (классическая модель). Аналогичные модули перетаскивания были добавлены в конструктор Машинное обучение Azure. Дополнительные сведения см. в статье сравнение двух версий.

Обзор модуля

В этой статье описывается, как использовать модуль обнаружения аномалий на основе PCA в машинное обучение Azure Studio (классическая модель) для создания модели обнаружения аномалий на основе анализа основных компонентов (PCA).

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

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

Подробнее об анализе главных компонентов

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

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

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

Дополнительные сведения о работе PCA и о реализации обнаружения аномалий см. в следующих документах:

Настройка обнаружения аномалий PCA

  1. Добавьте модуль обнаружения аномалий на основе PCA в эксперимент в студии (классическая модель). Этот модуль можно найти в разделе машинное обучение, Инициализация модели в категории обнаружение аномалий .

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

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

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

  3. Число компонентов, используемых в PCA, диапазон для количества компонентов PCA: укажите количество выходных компонентов или компонентов, которые требуется вывести.

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

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

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

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

    Если указано значение 1, то избыточная выборка не выполняется. Если указать любое значение выше 1, то для обучения модели будут созданы дополнительные примеры.

    В зависимости от того, используется ли параметр "Очистка параметров", есть два варианта:

    • Параметр избыточной выборки для случайного PCA: введите одно целое число, представляющее отношение избыточной выборки к классу с обычным классом. (Доступно при использовании метода обучения с одним параметром ).
    • Диапазон для параметра избыточной выборки, используемый в случайном PCA: введите ряд чисел для попыток или используйте построитель диапазонов для выбора значений с помощью ползунка. (Доступно только при использовании метода обучения диапазонов параметров .)

    Примечание

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

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

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

  6. Подключите обучающий набор данных с тегами и один из обучающих модулей:

    Примечание

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

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

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

  7. Запустите эксперимент или выберите модуль и нажмите кнопку Выполнить выбранное.

Результаты

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

Чтобы оценить результаты моделей обнаружения аномалий, необходимо выполнить некоторые дополнительные действия:

  1. Убедитесь, что столбец оценки доступен в обоих наборах данных.

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

  2. Убедитесь, что столбцы меток помечены

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

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

  3. Нормализация оценок из разных типов моделей

    Прогнозы из модели обнаружения аномалий PCA всегда находятся в диапазоне [0, 1]. В отличие от этого, выходные данные из модуля SVM с одним классом являются некалиброванными показателями, которые, возможно, не привязаны.

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

Примеры

Примеры использования PCA в обнаружении аномалий см. в Коллекция решений ии Azure:

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

Технические примечания

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

Параметры модуля

Имя Type Диапазон Необязательно Описание По умолчанию
Режим обучения CreateLearnerMode Список: один параметр|диапазон параметров Обязательно Единственный параметр Укажите параметры ученика.

Параметр Единственный параметр позволяет задать все значения вручную.

Параметр Диапазон параметров позволяет пройтись по всем настраиваемым параметрам.
Количество компонентов, используемых в PCA Целое число mode:единственный параметр 2 Укажите количество компонентов, которые будут использоваться при PCA.
Параметр избыточности выборки для рандомизированного PCA Целое число mode:единственный параметр 2 Укажите параметр точности для обучения рандомизированному анализу главных компонентов.
Включить нормализацию средних значений входных признаков Тип логики Список: true|false Обязательно False Укажите, нормализированы ли входные данные так, чтобы их среднее значение было равно нулю.
Диапазон количества компонентов PCA ParameterRangeSettings [1; 100] mode:диапазон параметров 2; 4; 6; 8; 10 Укажите диапазон для количества компонентов, которые будут использоваться при PCA.
Диапазон для параметра избыточной выборки, используемого при рандомизированном PCA ParameterRangeSettings [1; 100] mode:диапазон параметров 2; 4; 6; 8; 10 Укажите диапазон для параметра точности, используемого при обучении рандомизированному анализу главных компонентов.

Выходные данные

Имя Type Описание
Необученная модель Интерфейс ILearner Необученная модель обнаружения аномалий на основе PCA

Исключения

Исключение Описание
Ошибка 0017 Исключение возникает, если один или несколько указанных столбцов относятся к типу, который не поддерживается в текущем модуле.
Ошибка 0062 Исключение возникает при попытке сравнить две модели с различными типами учеников.
Ошибка 0047 Исключение возникает, если количество столбцов признаков в некоторых наборах данных, переданных модулю, слишком мало.

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

Список исключений API см. в разделе Машинное обучение REST API коды ошибок.

См. также раздел

Одноклассовый метод опорных векторов