Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

9.9 KiB

ЛАБОРАТОРНАЯ РАБОТА №2«Обнаружение аномалий»** А-02-22 бригада №8 Левшенко Д.И., Новиков Д. М., Шестов Д.Н

Задание1:

1)В среде GoogleColabсоздать новый блокнот(notebook).Импортировать необходимые для работы библиотеки и модули.

import os

os.chdir('/content/drive/MyDrive/Colab Notebooks/is_lab2')

скачивание библиотеки

!wget -N http://uit.mpei.ru/git/main/is_dnn/raw/branch/main/labworks/LW2/lab02_lib.py

скачивание выборок

!wget -N http://uit.mpei.ru/git/main/is_dnn/raw/branch/main/labworks/LW2/data/name_train.txt !wget -N http://uit.mpei.ru/git/main/is_dnn/raw/branch/main/labworks/LW2/data/name_test.txt

импорт модулей

import numpy as np import lab02_lib as lib

2)Сгенерировать индивидуальный набор двумерных данныхв пространстве признаковс координатами центра (k, k), где k–номер бригады.Вывести полученныеданные на рисуноки в консоль. data = lib.datagen(8, 8, 1000, 2) 1.png 3)Создать и обучить автокодировщик AE1 простой архитектуры, выбрав небольшое количество эпох обучения.

4)Зафиксировать ошибку MSE, на которой обучение завершилось. Построить график ошибки реконструкции обучающей выборки. Зафиксировать порог ошибки реконструкции –порог обнаружения аномалий.

5)Создать и обучить второй автокодировщик AE2 с усложненной архитектурой, задав большее количество эпох обучения.

6)Зафиксировать ошибку MSE, на которой обучение завершилось. Построить график ошибки реконструкции обучающей выборки. Зафиксировать второй порог ошибки реконструкции –порог обнаружения аномалий.

7)Рассчитать характеристики качества обучения EDCA для AE1 и AE2. Визуализировать и сравнить области пространства признаков, распознаваемые автокодировщиками AE1 и AE2. Сделать вывод о пригодности AE1 и AE2 для качественного обнаружения аномалий.

Оценка качества AE1

IDEAL = 0. Excess: 14.263157894736842

IDEAL = 0. Deficit: 0.0

IDEAL = 1. Coating: 1.0

summa: 1.0

IDEAL = 1. Extrapolation precision (Approx): 0.06551724137931035

Оценка качества AE2

IDEAL = 0. Excess: 3.3157894736842106

IDEAL = 0. Deficit: 0.0

IDEAL = 1. Coating: 1.0

summa: 1.0

IDEAL = 1. Extrapolation precision (Approx): 0.23170731707317074

9)Изучить сохраненный набор данных и пространство признаков. Создать тестовую выборку, состоящую, как минимум, из 4ёх элементов, не входящих в обучающую выборку. Элементы должны быть такими, чтобы AE1 распознавал их как норму, а AE2 детектировал как аномалии.

10)Применить обученные автокодировщики AE1 и AE2 к тестовым данными вывести значения ошибки реконструкции для каждого элемента тестовой выборки относительно порога на график и в консоль.

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

12)Результаты исследования занести в таблицу:

Табл. 1 Результаты задания

Количество скрытых слоев Количество нейронов в скрытых слоях Количество эпох обучения Ошибка MSE_stop Порог ошибки реконструкции Значение показателя Excess Значение показателя Approx Количество обнаруженных аномалий
АЕ1 1 1 1000 38.04 8.5 14.26 0.07 0
АЕ2 5 3 2 1 2 3 3000 0.07 0.47 3.32 0.23 5

13)Сделать выводы

Для нормального обнаружения аномалий:

-архитектура автокодировщика не должна быть простой,

-необходимо большое количество эпох обучения,

-ошибка MSE_stop должна быть достаточно мала(<<1),

-порог обнаружения аномалий не должен быть завышен по сравнению с

большинством значений ошибки реконструкции обучающей выборки,

-характеристики качества обучения EDCA должны быть близки к идеальным значениям показателей Excess = 0, Deficit = 0, Coating = 1, Approx = 1.

Задание2

1)Изучить описание своего набора реальных данных, что он из себя представляет;

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

Количество признаков Количество примеров Количесвто нормальных примеров Количество аномальных примеров
30 378 357 21

2)Загрузить многомерную обучающую выборку реальных данных WBC_train.txt.

3)Вывести полученные данные и их размерность в консоли.

4)Создать и обучить автокодировщик с подходящей для данных архитектурой. Выбрать необходимое количество эпох обучения.

5)Зафиксировать ошибку MSE, на которой обучение завершилось. Построить график ошибки реконструкции обучающей выборки. Зафиксировать порог ошибки реконструкции –порог обнаружения аномалий.

7)Изучить и загрузить тестовую выборку WBC_test.txt.

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

9)Если результаты обнаружения аномалий не удовлетворительные (обнаружено менее 70%аномалий), то подобрать подходящие параметры автокодировщика и повторить шаги (4) –(9).

10)Параметры наилучшего автокодировщика и результаты обнаружения аномалий занести в таблицу:

Количество скрытых слоев Количестов нейронов Количество эпох обучения Ошибка MSE_stop Порог ошибки реконструкции % обнаруженных аномалий
11 31 25 21 17 13 7 13 17 21 25 31 7000 0.0006 0.33 70

11)Сделать выводы: •архитектура автокодировщика должна включать в себя много слоев,
•количество эпох обучения должно быть достаточно большим (порядка десятков тысяч),
•ошибка MSE_stop, приемлемая для останова обучения, должна иметь достаточно малое значение,
•порог обнаружения аномалий не должен быть завышен по сравнению с большинством значений ошибки реконструкции обучающей выборки.