diff --git a/labworks/LW2/report.md b/labworks/LW2/report.md index c3e969a..204a760 100644 --- a/labworks/LW2/report.md +++ b/labworks/LW2/report.md @@ -21,9 +21,9 @@ data=lib.datagen(1,1,1000,2) ![отображение датасета](2.png) * Вывод данных и размерности ```python -print('Исходныеданные:') +print('Исходные данные:') print(data) -print('Размерностьданных:') +print('Размерность данных:') print(data.shape) ``` > Исходные данные: @@ -45,7 +45,7 @@ print(data.shape) > > (1000, 2) -## 3. Создание и обучение автокодировщик AE1 +## 3. Создание и обучение автокодировщика AE1 ```python patience= 10 ae1_trained, IRE1, IREth1= lib.create_fit_save_ae(data,'out/AE1.h5','out/AE1_ire_th.txt', 50, True, patience) @@ -76,7 +76,7 @@ ae1_trained, IRE1, IREth1= lib.create_fit_save_ae(data,'out/AE1.h5','out/AE1_ire -## 4. Построение график ошибки реконструкции обучающей выборки. Вывод порога ошибки реконструкции – порога обнаружения аномалий. +## 4. Построение графика ошибки реконструкции обучающей выборки. Вывод порога ошибки реконструкции – порога обнаружения аномалий. ```python patience= 10 ae1_trained, IRE1, IREth1= lib.create_fit_save_ae(data,'out/AE1.h5','out/AE1_ire_th.txt', 50, True, patience) @@ -87,7 +87,7 @@ print("Порог ошибки реконструкции = ",IREth1) ``` > Порог ошибки реконструкции = 0.63 -## 5. Создание и обучиние второй автокодировщик AE2 +## 5. Создание и обучиние второго автокодировщика AE2 ```python patience= 100 ae2_trained, IRE2, IREth2= lib.create_fit_save_ae(data,'out/AE2.h5','out/AE2_ire_th.txt', 1000, True, patience) @@ -114,7 +114,7 @@ lib.ire_plot('training', IRE2, IREth2, 'AE2') > > 1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 48ms/step - loss: 0.0103 -## 6. Построение график ошибки реконструкции обучающей выборки. Вывод порога ошибки реконструкции – порога обнаружения аномалий. +## 6. Построение графика ошибки реконструкции обучающей выборки. Вывод порога ошибки реконструкции – порога обнаружения аномалий. ```python lib.ire_plot('training', IRE2, IREth2, 'AE2') ``` @@ -173,7 +173,7 @@ xx,yy,Z2=lib.square_calc(numb_square,data,ae2_trained,IREth2,'2',True) lib.plot2in1(data,xx,yy,Z1,Z2) ``` ![](7_4.png) -* Вывод: На основе проведенного сравнения можно заключить, что автокодировщик AE2 с пятислойной архитектурой является оптимальным решением, поскольку обеспечивает минимальную ошибку реконструкции по сравнению с более простой моделью AE1. +* Вывод: На основе проведенного сравнения можно подытожить, что автокодировщик AE2 с пятислойной архитектурой является оптимальным решением, поскольку обеспечивает минимальную ошибку реконструкции по сравнению с более простой моделью AE1. ## 8. Создание тестовой выборки ```python test_data = np.array([[1.6, 1.2], [1.2, 1], [1.1, 1], [1.5,1.5], [1, 1], [1.5, 1.5]]) @@ -195,13 +195,13 @@ lib.ire_plot('training', IRE2, IREth2, 'AE2') ``` * Аномалий не обнаружено ![График ошибки реконструкции](9_1.png) -## 10. Визуализировать элементы обучающей и тестовой выборки в областях пространства признаков +## 10. Визуализация элементов обучающей и тестовой выборки в областях пространства признаков * Построение областей аппроксимации и точек тестового набора ```python lib.plot2in1_anomaly(data, xx, yy, Z1, Z2, data_test) ``` ![](10.png) -## 11. Результаты исследования занести в таблицу +## 11. Результаты исследования | Модель | Количество скрытых слоев | Количество нейронов в скрытых слоях | Количество эпох обучения | Ошибка MSE_stop | Порог ошибки реконструкции | Excess | Approx | Аномалии | |--------|:------------------------:|:-----------------------------------:|:------------------------:|:---------------:|:--------------------------:|:------:|:--------:|:--------:| | AE1 | 3 | 3 1 3 | 50 | 1.2019 | 0.63 | 13.31 | 0.069 | 0 | @@ -223,7 +223,7 @@ lib.plot2in1_anomaly(data, xx, yy, Z1, Z2, data_test) 5.Метрики: Excess=0, Deficit=0, Coating=1, Approx=1" # Задание 2. -## 1. Оописание своего набора реальных данных +## 1. Описание набора реальных данных * Исходный набор данных Letter Recognition Data Set из репозитория машинного обучения UCI представляет собой набор данных для многоклассовой классификации. Набор предназначен для распознавания черно-белых пиксельных прямоугольников как одну из 26 заглавных букв английского алфавита, где буквы алфавита представлены в 16 измерениях. Чтобы получить данные, подходящие для обнаружения аномалий, была произведена подвыборка данных из 3 букв, чтобы сформировать нормальный класс, и случайным образом их пары были объединены так, чтобы их размерность удваивалась. Чтобы сформировать класс аномалий, случайным образом были выбраны несколько экземпляров букв, которые не входят нормальный класс, и они были объединены с экземплярами из нормального класса. Процесс объединения выполняется для того, чтобы сделать обнаружение более сложным, поскольку каждый аномальный пример также будет иметь некоторые нормальные значения признаков. Количество признаков - 32 @@ -295,7 +295,7 @@ ae3_trained, IRE3, IREth3 = lib.create_fit_save_ae(train,'out/AE3.h5','out/AE3_i > > - loss: 0.0864 -## 5. Построение график ошибки реконструкции обучающей выборки. Вывод порога ошибки реконструкции – порога обнаружения аномалий. +## 5. Построение графика ошибки реконструкции обучающей выборки. Вывод порога ошибки реконструкции – порога обнаружения аномалий. ```python lib.ire_plot('training', IRE3, IREth3, 'AE3') ``` @@ -330,7 +330,7 @@ print(test.shape) > Размерность данных: > > (100, 32) -## 7. Вывести график ошибки реконструкции элементов тестовой выборки относительно порога +## 7. Выввод графика ошибки реконструкции элементов тестовой выборки относительно порога ```python predicted_labels3, ire3 = lib.predict_ae(ae3_trained, test, IREth3) lib.anomaly_detection_ae(predicted_labels3, ire3, IREth3)