Skip to content

Отчет по лабораторной работе #1 курса "Анализ данных [в ГеймДеве] в примерах и задачах"

Notifications You must be signed in to change notification settings

Ar4ikov/DA-in-GameDev-lab1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 

Repository files navigation

АНАЛИЗ ДАННЫХ И ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ [in GameDev]

Отчет по лабораторной работе #1 выполнил(а):

  • Давидчук Никита Олегович
  • 2026564

Отметка о выполнении заданий (заполняется студентом):

Задание Выполнение Баллы
Задание 1 * 60
Задание 2 * 20
Задание 3 * 20

знак "*" - задание выполнено; знак "#" - задание не выполнено;

Работу проверили:

  • к.т.н., доцент Денисов Д.В.
  • к.э.н., доцент Панов М.А.
  • ст. преп., Фадеев В.О.

N|Solid

Build Status

Структура отчета

  • Данные о работе: название работы, фио, группа, выполненные задания.
  • Цель работы.
  • Задание 1.
  • Код реализации выполнения задания. Визуализация результатов выполнения (если применимо).
  • Задание 2.
  • Код реализации выполнения задания. Визуализация результатов выполнения (если применимо).
  • Задание 3.
  • Код реализации выполнения задания. Визуализация результатов выполнения (если применимо).
  • Выводы.
  • ✨Magic ✨

Цель работы

Ознакомиться с основными операторами зыка Python на примере реализации линейной регрессии.

Задание 1

Установил нужный софт, вывел Hello world!

image

Задание 2

  • Установил Unity Hub, затем установил Unity версии 2020.3.38f1
  • Создал пустой объект
  • Создал папку Scripts в Assets
  • Создал файл C#

image

  • Получил результат

image

Задание 3

Пошагово выполнить каждый пункт раздела "ход работы" с описанием и примерами реализации задач

Ход работы:

  1. Произвести подготовку данных для работы с алгоритмом линейной регрессии. 10 видов данных были установлены случайным образом, и данные находились в линейной зависимости. Данные преобразуются в формат массива, чтобы их можно было вычислить напрямую при использовании умножения и сложения.

image

  1. Определите связанные функции. Функция модели: определяет модель линейной регрессии wx+b. Функция потерь: функция потерь среднеквадратичной ошибки. Функция оптимизации: метод градиентного спуска для нахождения частных производных w и b.

image

  1. Начать итерацию
  • Шаг 1 Инициализация и модель итеративной оптимизации.

image

  • Шаг 2 На второй итерации отображаются значения параметров, значения.

image

  • Шаг 3 Третья итерация показывает значения параметров, значения потерь и визуализацию после итерации.

image

  • Шаг 4 На четвертой итерации отображаются значения параметров, значения потерь и эффекты визуализации.

image

  • Шаг 5 Пятая итерация показывает значение параметра, значение потерь и эффект визуализации после итерации.

image

  • Шаг 6 10000-я итерация, показывающая значения параметров, потери и визуализацию после итерации.

image

Задание 2

Должна ли величина loss стремиться к нулю при изменении исходных данных? Ответьте на вопрос, приведите пример выполнения кода, который подтверждает ваш ответ.

При увеличении итераций в текущей модели величина loss должна стремиться к нулю, поскольку loss показывает количество ошибок/значение ошибки после определенного числа итераций относительно данных в выборке. Чем меньше loss, тем меньше ошибка, и, соответственно, точнее модель на обучающей выборке.

  • Обновленные данные на выборку

image

  • Первая итерация

image

  • 10000-ая итерация

image

Задание 3

Какова роль параметра Lr? Ответьте на вопрос, приведите пример выполнения кода, который подтверждает ваш ответ. В качестве эксперимента можете изменить значение параметра.

Lr (Learning rate) - коэффициент обучения модели. Чем выше коэффициент обучения (шаг обучения), тем быстрее модель приходит к более точному результату и тем меньше функция потерь (loss). Так происходит далеко не всегда и не везде, но в качестве модели, которая используется в этом задании, такое понятие допустимо.

  • Шаг 1. lr = .000001

    • Первая итерация

    image

    • 10000-ая итерация

    image

  • Шаг 2. lr = .0005

    • Первая итерация

    image

    • 10000-ая итерация

    image

  • Шаг 3. lr = 0.01

    • Первая итерация

    image

    • 10-ая итерация

    image

Здесь явным образом показано, что при достаточно большом и статичном lr модель переобучается и не приходит к локальным минимумам. В случае, если мы хотим ускорить процесс обучения за счет сокращения числа итераций обучения и уменьшить loss, стоит применить другой оптимизатор, который будет уменьшать lr с увеличением итераций.

Выводы

Ничего нового я не узнал, работал с этим и раньше.

Plugin README
Dropbox [plugins/dropbox/README.md][PlDb]
GitHub [plugins/github/README.md][PlGh]
Google Drive [plugins/googledrive/README.md][PlGd]
OneDrive [plugins/onedrive/README.md][PlOd]
Medium [plugins/medium/README.md][PlMe]
Google Analytics [plugins/googleanalytics/README.md][PlGa]

Powered by

BigDigital Team: Denisov | Fadeev | Panov

About

Отчет по лабораторной работе #1 курса "Анализ данных [в ГеймДеве] в примерах и задачах"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published