Link Search Menu Expand Document

Вводное занятие. 📄 Материалы. 📝 Записи.

Занятие 1. 📄 Материалы. 📝 Записи.

Обзор приложений задач оптимизации, реальных постановок задач оптимизации и результатов.Практика: задача наименьших квадратов. 🐍 code Практика: работа с библиотекой CVXPY 🐍 code
Введение в векторы, матрицы, тензоры.Практика: простые упражнения.

Занятие 2. 📄 Материалы. 📝 Записи.

Сингулярное разложение матрицы. Спектр матрицы. Skeleton разложение. Каноническое разложение тензора. 🐍 codeПрактика: простые упражнения на понятия собственных и сингулярных чисел матрицы. 🐍 code. Практика: Сжатие слоев в нейронных сетях 🐍 code

Занятие 3. 📄 Материалы. 📝 Записи.

Метод главных компонентПрактика: Eigenfaces. 🐍 code
Матричное дифференцирование.Практика: Матричное дифференцирование. 🐍 code 🐍 code

Занятие 4. 📄 Материалы. 📝 Записи.

Автоматическое дифференцирование. Вычислительный граф.Практика: работа с библиотеками автоматического дифференцирования. 🐍 code
Выпуклость. Выпуклые множества.Практика: выпуклость. Выпуклые множества в практических задачах. 🐍 code
Выпуклые функции. Сильно выпуклые функции.Практика: выпуклые функции. Сильно выпуклые функции. 🐍 code

Занятие 5. 📄 Материалы. 📝 Записи.

Портфельная теория Марковица.Практика: оптимизация финансового портфеля на примере реальных данных фондового рынка. 🐍 code
Условия оптимальности: безусловная оптимизация и оптимизация с ограничениями типа равенств.Практика: аналитическое решение задач оптимизации. 🐍 code
Условия оптимальности: оптимизация с ограничениями типа неравенств. Условия Каруша-Куна-ТаккераПрактика: решение задачи наименьших квадратов. 🐍 code

Занятие 6. 📄 Материалы. 📝 Записи.

Задача линейного программирования. 🐍 codeПрактика: построение простейшей рекомендательной системы для просмотра TED видеороликов как задача линейного программирования. Практика с библиотекой pulp. 🐍 code
Симплекс метод.Практика: планирование производства как задача линейного программирования в PyOMO. Blending problem. 🐍 code

Занятие 7. 📄 Материалы. 📝 Записи.

Введение в Mixed Integer Programming.Практика: реализация решения задачи о рюкзаке и о расстановке королев на шахматной доске. 🐍 code
Методы нулевого порядка и примеры задач глобальной оптимизации. 🐍 code
Демонстрация nevergrad 🐍 code и optuna 🐍 code
Практика: подбор гиперпараметров модели машинного обучения в Keras с помощью Optuna. 🐍 code

Занятие 8. 📄 Материалы. 📝 Записи.

Градиентный спуск. 🐍 code. Негладкие задачи 🐍 code. Примеры сходимости градиентного спуска 🐍 codeПрактика: Одномерный поиск для выбора гиперпараметров модели машинного обучения. Реализация метода градиентного спуска и иследование его численных свойств на задаче выбора оптимальных координат. 🐍 code
Метод Ньютона. 🐍 codeПрактика: реализация демпфированного метода Ньютона. Исследование сходимости. Сравнение с другими методами. 🐍 code
Квазиньютоновские методы.Практика: бенчмаркинг квазиньютоновских методов. 🐍 code

Занятие 9. 📄 Материалы. 📝 Записи.

Метод стохастического градиентного спуска. Сходимость, батчи, эпохи, расписания. 🐍 codeПрактика: исследование сходимости SGD. Подбор гиперпараметров. 🐍 code
Нейронные сети. Практика: Дообучение нейронных сетей aka transfer learning. Neural style transfer. 🐍 code 
Ландшафт функции потерь нейронной сети. Практика: визуализация проекции функции потерь нейронной сети на прямую и плоскость. 🐍 code 

Занятие 10. 📄 Материалы.

Обучение больших моделей: проблемы, трюки, последние достижения.Практика: обучение большой языковой модели в колабе (попробуйте обучить как можно более здоровенную модель) 🐍 code
Темы слушателей курса