Академический Документы
Профессиональный Документы
Культура Документы
Лабораторная работа №7
по дисциплине
«Теория информации, данные, знания»
Фамилия: Алексеев
Имя: Егор
Отчество: Алексеевич
Курс: 3
№ зачетной книжки: 2010108
Группа №: ИБ – 04з
Проверил:______________
Санкт-Петербург
2023
Цель работы
Исследование принципов разработки нейронной сети на примере задачи регрессии.
Задание
1. Исследовать нейронную сеть при заданных начальных параметрах (см. таблицу).
Найти минимальное значение n_hidden_neurons, при котором сеть дает
удовлетворительные результаты.
2. Найти наилучшее значение шага градиентного спуска lr в интервале ± 100 % от
номинального значения.
3. Изменить нейронную сеть для предсказания функции y = 2x * sin(2−x)
l
1
4. Для этой задачи (п. 3) получите метрику MAE = ∑ ¿ y pred i− y target i ∨¿
l i
не хуже 0.03, варьируя: архитектуру сети, loss-функцию, lr оптимизатора или
количество эпох в обучении.
5. Метрика вычисляется с помощью выражения (pred - target).abs().mean() и
выводится оператором.
print(metric(sine_net.forward(x_validation), y_validation).item()).
Примечание
def target_function(x):
return 2**x * torch.sin(2**-x)
def metric(pred, target):
return (pred - target).abs().mean()
Теоретическая часть
Нейронная сеть — математическая модель, построенная по принципу
организации и функционирования биологических нейронных сетей.
Регрессия – это односторонняя стохастическая зависимость,
устанавливающая соответствие между случайными переменными, то
есть математическое выражение, отражающее связь между зависимой
переменной у и независимыми переменными х при условии, что это
выражение будет иметь статистическую значимость.
Фактически, задача регрессии – это предсказание некоторого
вещественного числа.
3
Для решения модельной задачи используем нейронную сеть c одним
полносвязным скрытым слоем, представленную на рисунке.
4
Рассмотрим нейронную сеть с количеством скрытых нейронов равным
40 и градиентным спуском = 0,001 (согласно заданным начальным
параметрам). Получим:
5
Рисунок 4 – Нахождение шага
6
Для достижения метрики равно 3 мы указали lr равное 0.8 и
hidden_neurons = 40, найденный экспериментальным путем.
Результат предоставлен на рис. 7.
Вывод
Изучили нейронные сети и способы их обучения, разобрались в различных
датасетах, а именно в тренировочных, валидационных и тестовых. Также изучили понятие
регрессии, задачи регрессии и способы их решения с помощью нейросетей. Исследовали
принципы разработки нейронной сети на примере задачи регрессии при заданных
начальных параметрах, соответствующих индивидуальному варианту. Изменяя
количество скрытых нейронов и коэффициент градиентного спуска, нашли минимальное
значение n_hidden_neurons, при котором сеть дает удовлетворительные результаты в
нашем случае. Также нашли наилучшее значение шага градиентного спуска lr в интервале
± 100 % от номинального значения. Также разработали новую нейронную сеть для
предсказания функции y = 2x * sin(2−x) на основе нейронной сети для предсказания
функции синуса, изменив тренировочный датасет и некоторые значения на этапе
валидационного датасета путем подбора и перебора, вычислили и вывели метрику с
помощью выражения (pred - target).abs().mean().