Три лабораторные работы, посвящённые алгоритмам оптимизации и их применению в машинном обучении.
Формат: 3 лабораторные работы · 4 пары · 4 месяца
Обучение модели машинного обучения - это задача оптимизации: мы выбираем параметры модели так, чтобы минимизировать функцию потерь.
В этом курсе вы пройдёте путь от классических методов одномерной оптимизации и градиентного спуска до современных оптимизаторов и их применения в прикладной задаче машинного обучения.
Основной акцент — на понимании алгоритмов через код и эксперименты. Недостаточно просто получить работающую реализацию: важно исследовать её поведение, сравнить методы и уметь объяснить полученные результаты.
Тема: методы одномерной оптимизации, градиентный спуск и первое применение в ML.
Работа выполняется в парах.
Вы получите вариант целевой функции и реализуете для неё три метода одномерного поиска: дихотомию, золотое сечение и метод Фибоначчи. Затем сравните их по количеству вычислений функции и достигнутой точности.
После этого реализуете градиентный спуск и примените его к обучению простой линейной регрессии.
Что будет в работе: дихотомия · золотое сечение · метод Фибоначчи · градиент · learning rate · GD · линейная регрессия · MSE · визуализация сходимости.
Результат: понимание различий между безградиентными и градиентными методами оптимизации, а также собственная реализация градиентного спуска для обучения простой ML-модели.
Тема: методы ускорения и адаптации градиентного спуска.
Вы реализуете несколько оптимизаторов и сравните их поведение на разных функциях. Главная задача — понять, в каких условиях они работают лучше или хуже.
Что будет в работе: SGD · Momentum · AdaGrad · RMSProp · Adam · траектории оптимизации · сравнение сходимости.
Результат: набор собственных оптимизаторов и экспериментальное сравнение их свойств.
Тема: применение методов оптимизации к задаче бинарной классификации.
Вы решите несложную прикладную задачу машинного обучения на реальном датасете, реализуете логистическую регрессию и сравните несколько подходов к оптимизации.
Исследуете, как выбор оптимизатора, learning rate и регуляризации влияет на процесс обучения и итоговое качество модели.
Что будет в работе: реальные данные · логистическая регрессия · бинарная классификация · регуляризация · подбор гиперпараметров · анализ качества.
Результат: обученная модель, воспроизводимые эксперименты и аргументированные выводы.
Каждая работа содержит:
Теоретический минимум → Пошаговую реализацию → Эксперименты → Анализ результатов → Вопросы к защите
Задания построены так, чтобы вы могли последовательно реализовать необходимые компоненты, проверить их работу и исследовать поведение алгоритмов.
В лабораторных также предусмотрены дополнительные задания повышенной сложности.
- Язык: Python.
- Основные инструменты: NumPy, Matplotlib, Jupyter Notebook.
- Формат сдачи: код и результаты экспериментов.
- Защита: объяснение реализованных методов и полученных результатов.
Первая лабораторная выполняется в парах. Оба участника пары должны понимать представленную реализацию и быть готовы отвечать по всему коду.
Каждая лабораторная работа оценивается по 10-балльной шкале. Дополнительно можно получить до 2 бонусных баллов.
| Критерий | Что оценивается | Баллы |
|---|---|---|
| Правильность реализации | Корректность алгоритмов и вычислений, работа на предусмотренных тестах и примерах | 3 |
| Полнота выполнения | Выполнены все обязательные задания, представлены необходимые результаты | 1 |
| Качество кода | Читаемость, логичная структура, понятные имена, отсутствие существенного дублирования | 1 |
| Эксперименты и анализ | Проведены необходимые эксперименты, представлены результаты и краткие выводы | 1 |
| Итого | 6 |
| Критерий | Что оценивается | Баллы |
|---|---|---|
| Теоретические вопросы | Понимание основных понятий, методов и формул | 2 |
| Вопросы по коду | Умение объяснить собственную реализацию, выбор параметров и полученные результаты | 2 |
| Итого | 4 |
В каждой лабораторной предусмотрены задания повышенной сложности. Они не являются обязательными и позволяют получить до 2 дополнительных баллов.
Для получения бонуса необходимо представить:
- корректную реализацию;
- результаты проверки или эксперимента;
- краткие выводы.
По согласованию с преподавателем допускается выполнение собственной дополнительной задачи, связанной с темой лабораторной.
Для получения зачёта необходимо:
- Набрать не менее 22 баллов суммарно за три лабораторные работы с учётом бонусов.
- Выполнить обязательную часть каждой лабораторной работы.
- Пройти защиту каждой лабораторной работы.
Максимальный основной балл за курс — 30, максимальный бонус — 6 баллов.
Бонусные задания не заменяют выполнение обязательной части лабораторных работ.