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

Важно!

Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.

Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.

Поддержка документации по ML Studio (классической) прекращается, а сама документация может не обновляться в будущем.

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

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

Примечание

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

Подобные модули перетаскивания доступны в конструкторе машинного обучения Azure.

Обзор модуля

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

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

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

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

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

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

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

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

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

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

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

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

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

  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 List:единственный параметр|диапазон параметров Обязательно Единственный параметр Укажите параметры ученика.

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

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

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

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

Исключения

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

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

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

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

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