Модуль 1. Предварительные сведения из математики и программирования
2 недели
Основы программирования на Python
Как выглядит машинное обучение на Python
Google Colab и локальная установка Python
Работа в Jupyter notebook и запуск Python скриптов через консоль
Синтаксис Python и смысл основных конструкций
Типы данных в Python
Функции
Рекурсия
Циклы: простые применения и избавление от рекурсии
Графики в Python: основы (matplotlib и plotly)
Сложность алгоритмов: что такое O-нотация
Сложность алгоритмов: рекурсия против циклов (с графической иллюстрацией)
Классы
Чтение данных и pandas
Работа с репозиторием: основы
Ваша первая модель и первое соревнование по машинному обучению
Учимся применять LLM в программировании
Математический анализ
Математический анализ в машинном обучении
Функции и их свойства
Предел и производная
Геометрический смысл производной и поиск экстремума
Производная сложной функции
Доп. видео: Как считать производные
Производная и первообразная
Первообразная и интеграл
Линейная алгебра и многомерный анализ
Линейная алгебра в машинном обучении
Векторы
Норма, метрика и скалярное произведение
Матрицы
Операции с матрицами
Матричная запись модели
Многомерный анализ: частные производные и градиент
Применение градиента
Дифференцирование матричных выражений
Теория вероятностей
Дискретная вероятность
Свойства вероятности и условная вероятность
Дискретные случайные величины
Математическое ожидание
Дисперсия
Доп. видео: геометрическая вероятность и непрерывные случайные величины
Непрерывные случайные величины
Центральная предельная теорема
Дмитрий Лялин. Виктор Кантор
Модуль 2. Алгоритмы машинного обучения
Линейные модели 1: лекции
Линейная классификация
Обучение линейных моделей
Борьба с переобучением: регуляризация
Линейные модели в задаче регрессии
Доп. видео 1: Метод опорных векторов (SVM)
Доп. видео 2: Ядра в SVM (Kernel trick)
Доп. видео 3: Двойственная задача в SVM
Линейные модели 2: семинары
Шпаргалка по метрикам
Линейные модели -- 5 строк кода и вы DS
GD для линейной регресии
SGD для классификации
Зачем модифицировать loss? Huber regression
Регуляризация линейных моделей
SVM
Итого, преимущества линейных моделей
Пример линейной модели на текстовой задаче
Статистические тесты
Предпосылки линейной регрессии
Пропуски в фичах
Выбросы и модификация таргета
Робастые регрессии
Деревья и ансамбли 1: лекции
Решающие деревья и ансамбли
Бэггинг над деревьями и случайный лес
Градиентный бустинг
Дополнительное чтение
Деревья и ансамбли 2: семинары
Решающее дерево
Устойчивость решающего дерева
Бэггинг над решающими деревьями
Бустинг vs RandomForest
Bias-variance trade off на практике
Простые методы машинного обучения
Метод k ближайших соседей (kNN)
Наивный байесовский классификатор
Знакомство с обучением без учителя (unsupervised learning)
Задача кластеризации
Метод K средних (K-means)
Иерархическая кластеризация
Понижение размерности пространства признаков
Дополнительное чтение
Знакомство с нейросетями: лекции
Что такое нейронные сети
Обучение нейросетей с помощью SGD
Математическое дополнение: граф вычислений и автоматическое дифференцирование
Обучение нейросетей: backpropagation
Проблемы обучения нейросетей
Введение в нейронные сети: семинары
Подготовка блоков и однослойная сеть
Двухслойная сеть
Pytorch для простой сети и выбор оптимизатора
Виктор Кантор. Никита Зелинский
Модуль 3. Оценка качества
2 недели
Метрики: лекции
Лекция: вступление
Лекция: классификация
Лекция: регрессия
Лекция: пример подбора метрики
Лекция: валидация моделей
Лекция: переход в онлайн
Правильные ответы на тест
Дополнительное чтение
Метрики классификации: семинары
Семинар: основные метрики
Семинар: кривые качества
Семинар: log loss
Метрики регрессии: семинары
Семинар: основные метрики
Семинар: свойства оптимизации
Семинар: усложненные версии оптимизацииВалидация: семинары
Семинар: переобучение
Семинар: подбор гиперпараметров
A/B-тестирование: лекции
Лекция: вступление
Лекция: математический аппарат и основы
Лекция: примеры критериев
Лекция: реалии A/B-тестирования
Лекция: бакетное сэмплирование
Правильные ответы на тест
A/B-тестирование: семинары
Семинар: вступление
Семинар: ЦПТ
Семинар: scipy
Семинар: pvalue
Семинар: сим тесты
Семинар: бакетное сэмплированиеИлья Ирхин
Модуль 4. Разбор и практика решений задач с собеседований
4 недели
Лекции: Вопросы на вывод классических методов машинного обучения и поведение метрик (вопросы вида "объясните почему оптимизация log loss приводит к оценкам вероятностей")
Семинары: Задачи про классические методы и метрики (задачи вида "XGBoost дает негативные прогнозы в регрессии, обучившись только на позитивных примерах, как такое возможно?")
Задания: финальное соревнование по ML и тесты с задачами с собеседований4 неделиСеминары: Задачи на теорию вероятностей и математическую статистику (задачи вида "посчитайте вероятность", "посчитайте матожидание", "примените статистический критерий" и др.)