From 200553e9b6e4a5991278832495c38d547393f6cb Mon Sep 17 00:00:00 2001 From: NovikovDM Date: Mon, 1 Dec 2025 12:08:47 +0300 Subject: [PATCH] r --- labworks/LW2/report2.md | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/labworks/LW2/report2.md b/labworks/LW2/report2.md index 7e797d5..968a3c8 100644 --- a/labworks/LW2/report2.md +++ b/labworks/LW2/report2.md @@ -20,25 +20,31 @@ import lab02_lib as lib ```py data = lib.datagen(8, 8, 1000, 2) ``` +![alt text](1.2-1.png) **3)Создать и обучить автокодировщик AE1 простой архитектуры, выбрав небольшое количество эпох обучения.** ```py patience= 300 ae1_trained, IRE1, IREth1= lib.create_fit_save_ae(data,'out/AE1.h5','out/AE1_ire_th.txt', 1000, True, patience) ``` - +![alt text](1.3-1.png) **4)Зафиксировать ошибку MSE, на которой обучение завершилось. Построить график ошибки реконструкции обучающей выборки. Зафиксировать порог ошибки реконструкции –порог обнаружения аномалий.** ```py lib.ire_plot('training', IRE1, IREth1, 'AE1') ``` +![alt text](1.4.1-1.png) +![alt text](1.4.2-1.png) **5)Создать и обучить второй автокодировщик AE2 с усложненной архитектурой, задав большее количество эпох обучения.** ```py ae2_trained, IRE2, IREth2 = lib.create_fit_save_ae(data,'out/AE2.h5','out/AE2_ire_th.txt', 3000, True, patience) ``` +![alt text](1.5-1.png) **6)Зафиксировать ошибку MSE, на которой обучение завершилось. Построить график ошибки реконструкции обучающей выборки. Зафиксировать второй порог ошибки реконструкции –порог обнаружения аномалий.** ```py lib.ire_plot('training', IRE2, IREth2, 'AE2') ``` +![alt text](1.6.1-1.png) +![alt text](1.6.2-1.png) **7)Рассчитать характеристики качества обучения EDCA для AE1 и AE2. Визуализировать и сравнить области пространства признаков, распознаваемые автокодировщиками AE1 и AE2. Сделать вывод о пригодности AE1 и AE2 для качественного обнаружения аномалий.** ```py numb_square= 20 @@ -63,18 +69,25 @@ IDEAL = 1. Extrapolation precision (Approx): 0.23170731707317074 lib.plot2in1(data,xx,yy,Z1,Z2) ``` +![alt text](1.7.7-1.png) +![alt text](1.7.1-1.png) +![alt text](1.7.2-1.png) +![alt text](1.7.3-1.png) +![alt text](1.7.4-1.png) +![alt text](1.7.5-1.png) +![alt text](1.7.6-1.png) **9)Изучить сохраненный набор данных и пространство признаков. Создать тестовую выборку, состоящую, как минимум, из 4ёх элементов, не входящих в обучающую выборку. Элементы должны быть такими, чтобы AE1 распознавал их как норму, а AE2 детектировал как аномалии.** ```py data_test= np.loadtxt('data_test.txt', dtype=float) ``` - +![alt text](1.9-1.png) **10)Применить обученные автокодировщики AE1 и AE2 к тестовым данными вывести значения ошибки реконструкции для каждого элемента тестовой выборки относительно порога на график и в консоль.** ```py predicted_labels1, ire1 = lib.predict_ae(ae1_trained, data_test, IREth1) lib.anomaly_detection_ae(predicted_labels1, ire1, IREth1) lib.ire_plot('test', ire1, IREth1, 'AE1') ``` - +![alt text](1.10-1.png) ```py predicted_labels2, ire2 = lib.predict_ae(ae2_trained, data_test, IREth2) lib.anomaly_detection_ae(predicted_labels2, ire2, IREth2) @@ -89,11 +102,13 @@ i Labels IRE IREth 4 [1.] [4.99] 0.47 Обнаружено 5.0 аномалий ``` +![alt text](1.10.2-1.png) **11)Визуализировать элементы обучающей и тестовой выборки в областях пространства признаков, распознаваемых автокодировщиками AE1 и AE2.** ```py lib.plot2in1_anomaly(data, xx, yy, Z1, Z2, data_test) ``` +![alt text](1.11-1.png) **12)Результаты исследования занести в таблицу:** **Табл. 1 Результаты задания**