Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ml1_ibragimova

.docx
Скачиваний:
0
Добавлен:
24.02.2024
Размер:
131.52 Кб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

Ассистент

Боженко В. В.

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №1

ИНТЕРПОЛЯЦИЯ ФУНКЦИИ

по курсу: МАШИННОЕ ОБУЧЕНИЕ

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

4018k

Р.М. Ибрагимова

подпись, дата

инициалы, фамилия

Санкт-Петербург 2023

Цель работы:

Обучить нейронную сеть для выполнения операции интерполяции при заданном входном векторе и цели.

Ход работы

Для начала необходимо импортировать все необходимые библиотеки.

Рисунок 1 - Импорт библиотек

Создание функции y = 2(x^2) - 2 и прогон ее результатов на отрезке [-1;1]

А так же вывод графика.

Рисунок 2 - Задание тестовых данных

В созданной модели присутствует три слоя. В нашем примере мы использовали слой **Dense** – полносвязный слой (каждый нейрон данной слоя связан с каждым нейроном предыдущего/следующего слоя).

Первый параметр слоя – **`units`**, данный параметр задаёт кол-во нейронов слое, в нашем примере у первого слоя 10 нейрона, у второго 1000, а третий слой, как и положено имет 1 нейрон, второй параметр **`activation`** – параметр, задающий функцию активации нейронов, у первого и второго слоя функция активации – **Relu**,у третьего - **none**, что значит "Отсутствует", крайний параметр **`input_dim**` – параметр, отвечающий за размер входных данных, в нашем случае на вход каждого нейрона первого слоя подаётся 1 элемент, наличие данного параметра указывает на то, что слой является входным, следовательно из-за наличия всего трех слоёв, второй слой – скрытый, третий - выходной, так как выходной слой содержит в себе 1 нейрон, то результатом работы нейронной сети будет 1 значение.

Рисунок 3 - Построение модели

Вызван метод .compile() для подготовки модели к процессу обучения. Далее на экран была выведена архитектура нейросети.

Рисунок 4 - Сборка модели и вывод архитектуры

После формирования архитектуры начинается обучение модели. Обучение будет длиться 5 эпох, веса будут обновляться после прохода 32 элементов из массива x_train, также 2 % из всего набора данных подаются в качестве тестовой выборки.

Рисунок 5 - Обучение модели

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

Для полноценной оценки результатов обучения модели подаётся случайное расположение значений Y, после чего результат модели и требуемый график строятся на одной плоскости.

Рисунок 6 - Сравнение графиков

Вывод

В ходе данной лабораторной работы была обучена трехслойная нейросеть, первый слой был входным и содерал в себе 10 нейронов, второй - скрытый с кольчеством нейронов = 1000, последний слой, скрытый, содержал в себе 1 нейрон, что значит, что результатом после одного запуска будет 1 значение. Так же связь между нейронами была полносвязной, то есть "каждый с каждым".

Обучение нейросети проходило в 5 эпох и ошибка в последней составляла 3.6614e-05, что безусловно, хорошо.

Для проверки качества обучения нейросети был выведен график входные данные - выходные, который при минимальных ошибках нейросети должен совпадать с графиком функции, данном в варианте индивидуального задания, то есть y = 2(x^2) - 2.

В результате, построенные графики оказались идентичны, что символизирует о том, что нейросеть была обучена правильно.

Ссылка на google.colab https://colab.research.google.com/drive/1B7pxvpVRS1gxybfy7BlAMO-tNfaborpd?usp=sharing

Соседние файлы в предмете Машинное обучение