ответвлено от main/is_dnn
Изменил(а) на 'labworks/LW2/report.md'
Этот коммит содержится в:
@@ -21,9 +21,9 @@ data=lib.datagen(1,1,1000,2)
|
||||

|
||||
* Вывод данных и размерности
|
||||
```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)
|
||||
```
|
||||

|
||||
* Вывод: На основе проведенного сравнения можно заключить, что автокодировщик 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')
|
||||
```
|
||||
* Аномалий не обнаружено
|
||||

|
||||
## 10. Визуализировать элементы обучающей и тестовой выборки в областях пространства признаков
|
||||
## 10. Визуализация элементов обучающей и тестовой выборки в областях пространства признаков
|
||||
* Построение областей аппроксимации и точек тестового набора
|
||||
```python
|
||||
lib.plot2in1_anomaly(data, xx, yy, Z1, Z2, data_test)
|
||||
```
|
||||

|
||||
## 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)
|
||||
|
||||
Ссылка в новой задаче
Block a user