2026/2027





Машинное обучение и основы Deep Learning
ID 1152454
Язык:
русский
Кредиты:
6
Контактные часы:
56
Программа дисциплины
Аннотация
Дисциплина посвящена изучению основных методов машинного обучения. Изучаемые темы можно разбить на три блока. Первый – работа с данными и предварительный анализ данных. Изучаются библиотеки языка Python для работы с табличными данными и для визуализации, обсуждаются методы предобработки данных, подготовки категориальных и текстовых данных. Второй блок – обучение с учителем. Изучаются линейные модели, решающие деревья, композиции моделей (случайный лес, градиентный бустинг и его имплементации), приложения в рекомендательных системах. Третий блок – обучение без учителя. Изучаются методы кластеризации, визуализации, понижения размерности. Все темы сопровождаются практикой на реальных данных. По итогам курса слушатель сможет сформулировать задачу машинного обучения, выбрать метрику качества, обучить модель, подобрать гиперпараметры, провести валидацию.
Цель освоения дисциплины
- Освоить работу с инструментами разработки и анализа данных (Google Colab, локальная среда Python, виртуальные окружения, Anaconda) и уметь эффективно настраивать проектное окружение.
- Научиться работать с базами данных в Python: подключаться к PostgreSQL, писать и выполнять SQL-запросы, использовать ORM, обрабатывать результаты в Python.
- Освоить основы программирования на Python, включая объектно-ориентированное программирование, работу с библиотеками, структурирование кода и разработку бэкенд-сервисов на FastAPI.
- Получить навыки подготовки и анализа данных: очистка, обработка выбросов и пропусков, создание признаков, выбор и трансформация признаков, визуализация данных.
- Изучить ключевые алгоритмы машинного обучения и глубокого обучения, уметь обучать, тестировать и оптимизировать модели, а также применять метрики для оценки их качества.
- Разработать и внедрить комплексные прикладные проекты — от рекомендательных систем до сервисов с использованием глубоких нейросетевых архитектур, интегрируя модели в рабочие веб-приложения с соблюдением требований по производительности и качеству.
Планируемые результаты обучения
- Разберёмся в терминологии машинного обучения и поймём, какие задачи помогают решать модели машинного обучения.
- Научимся выявлять признаки, на которых будет построена модель машинного обучения
- Узнаем, с помощью каких методов можно оценить способность модели строить предсказания
- Научимся считать функцию потерь и функционал качества
- Узнаем, что называют одномерной и многомерной моделями линейной регрессии
- Поняли как выводить аналитическое решение для задачи линейной регрессии на примере MSE функционала
- Научимся находить оптимальные коэффициенты и строить модель линейной регрессии
- Разберем понятие градиентного спуска как оптимального способа оценки параметров для любого функционала и почти любой модели
- Узнаем, какие существуют плюсы и минусы этого метода
- Научимся реализовывать метод градиентного спуска, правильно подбирать параметры и визуализировать обучение для простой функции
- Узнаем, что такое недообучение и переобучение модели
- Поймем, почему может не быть модели с хорошим качеством всюду
- Разберем, как оценивать обобщающую способность модели с помощью метода отложенной выборки
- Научимся прогонять модель через метод кросс-валидации
- Практическое задание на закрепление знаний.
- Применить регуляризацию к модели линейной регрессии для решения проблемы мультиколлинеарности
- Автоматизированная проверка.
- Узнаем, зачем нужно отбирать признаки
- Разберем способы отбора признаков для модели линейной регрессии, их плюсы и минусы
- Научимся пользоваться четырьмя способами отбора признаков: EDA и построение графиков, Lasso-регуляризация, методы обёртки, методы фильтрации
- Научимся выявлять выбросы в данных и чистить их
- Попробуем несколько приемов для борьбы с пропущенными значениями
- Рассмотрим дополнительные способы кодировки категориальных фичей и узнаем, как работать с продвинутыми счётчиками, которые не будут вести к переобучению модели
- Познакомимся с методом трансформации текстов TF-IDF и посмотрим, как выделять базовые признаки из текста
- Ещё раз посмотрим на реальном примере, как провести разведочный анализ данных, обработать вещественные и категориальные признаки, избавиться от выбросов
- Поймем, почему нельзя использовать кросс-валидацию для данных с временной структурой и какую валидацию использовать вместо неё
- Попробуем отмасштабировать данные и регуляризовать с помощью классов библиотеки sklearn Познакомимся с новым приёмом — сегментацией данных
- Узнаем, что такое задача бинарной классификации.
- Поймем, почему линейная регрессия плохо походит для её решения.
- Узнаем, что такое гиперплоскость и как построить наилучшую разделяющую гиперплоскость для решения задачи бинарной классификации
- Поймем как давать вероятностную оценку вместо точной принадлежности к классу
- Научимся строить модель логистической регрессии.
- Посмотрим, как построить матрицу ошибок с четырьмя типами прогнозов классификации
- Научимся считать метрики бинарной классификации precision и recall.
- Узнаем, как комбинировать метрики (F-мера), как выбирать threshold и влиять им на метрики
- Научимся оценивать качество работы модели для бинарной классификации не для определенного порога уверенности, а для всех
- Научимся строить ROC и PR кривые
- Узнаем, что такое ROC-AUC и PR-AUC и научимся считать эти метрики. Поймем, как выбирать между ними в зависимости от условий конкретной задачи
- Узнаем, что такое калибровка вероятностей и калибровочная кривая. Узнаем как работает калибровка Платта
- Узнаем, как построить разделяющую гиперплоскость с помощью метода опорных векторов (SVM).
- Узнаем, как построить разделяющую гиперплоскость для линейно неразделимого случая (обобщенный SVM)
- Поймем, что даже с SVM можем продолжать оценивать вероятности
- Научимся запускать SVM и сравним его качество с качеством модели на основе логистической регрессии.
- Посмотрим, в чем особенность задачи многоклассовой классификации
- Разберем принципы работы двух основных подходов к решению этой задачи: один против многих и все против всех.
- Узнаем про их плюсы и минусы
- Поймем как считаются метрики качества в двух подходах: "микро усреднение" и "макро усреднение" и когда следует выбирать каждый из них
- Запустим несколько моделей «из коробки» и сравним их качество.
- Поговорим о способах понижения признакового пространства (отбор признаков и извлечение признаков) и поймём, какая в этом ценность
- Разберемся, как работает PCA и какие принципы построения главных компонент
- Разберемся, как работает T-SNE
- Поймём, как выбирать между ними
- Научимся использовать метод главных компонент (PCA)
- Научимся визуализировать сложные данные
- Рассмотрим основную идею метода k ближайших соседей (kNN), сравним его с линейными моделями, обсудим его недостатки
- научимся улучшать качество работы алгоритма с помощью расчёта расстояний и взвешивания «соседей»
- Научимся обучать kNN регрессор с гауссовским ядром
- Рассмотрим принцип, лежащий в основе алгоритма решающих деревьев, поймем, как строится модель для решения задачи регрессии
- узнаем, какие критерии качества и информативности модели
- понаблюдаем, как влияет изменение разных гиперпараметров.
- Научимся оценивать качество моделей на основе решающих деревьев.
- Поймем, почему деревья легко переобучить или недообучить.
- Узнаем важные особенности этих алгоритмов
- Научимся работать с их гиперпараметрами решающих деревьев
- Познакомимся с ансамблями моделей
- Рассмотрим основные методы ансамблирования: бэггинг и стэкинг.
- Научимся строить модели с хорошей обобщающей способностью без необходимости вручную подгонять гиперпараметры и оценивать степень переобученности алгоритмов.
- Познакомимся со случайными лесами, метамоделями, бутстрапом и методом случайных подпространств.
- Обучим случайный лес и убедимся в том, что качество модели почти не меняется при изменении гиперпараметров базового дерева.
- Познакомимся с ансамблевым методом — бустинг.
- Узнаем, из чего на самом деле складывается ошибка алгоритмов,
- Познакомимся с понятиями смещения и разброса
- Разберем, как это влияет на выбор той или иной модели в продакшене.
- Познакомимся с алгоритмами, которые помогают выявлять закономерности в данных, когда «правильные ответы» заранее неизвестны,
- Разберем идею кластеризации
- Научимся разделять объекты по некоторым критериям схожести с помощью алгоритмов k-means и DBSCAN.
- Поймёт постановку задачи построения рекомендательной системы, принципы работы и роль метрик (в том числе hitrate@5) в оценке качества.
- Научится извлекать и подготавливать данные для обучения модели рекомендаций: формировать признаки пользователя, контента и истории взаимодействий.
- Сможет обучить и протестировать базовую модель рекомендаций, оценить её качество и интерпретировать результаты в контексте улучшения системы.
- Освоит полный цикл построения рекомендательной системы: от извлечения данных и генерации признаков до обучения и оценки модели по целевым метрикам.
- Сможет сохранять, загружать и использовать обученную модель в сервисе, обеспечивая стабильность и согласованность признаков между обучением и предсказанием.
- Научится оптимизировать модель и сервис под заданные ограничения по времени отклика и ресурсам, отслеживая влияние изменений на целевую метрику hitrate@5.
- Проведем разбор некоторых вопросов с реальных собеседований и вспомним теоретические детали по пройденным темам.
- На занятии обсудим как общие вопросы, так и точечные моменты по линейным моделям!
- Продолжаем обсуждать вопросы с реальных собеседований и вспоминаем теоретические детали по пройденным темам.
- На занятии обсудим вопросы, связанные с решающими деревьями, метрическими подходами и ансамблями.
- Освоит получение эмбеддингов текстов с помощью предобученных моделей (BERT, RoBERTa, DistilBERT) и работу с их векторными представлениями.
- Сможет интегрировать признаки из нейронных сетей в существующую рекомендательную систему и дообучать модели с учётом новых данных.
- Научится повышать качество рекомендаций до заданного уровня (≥0.57 hitrate) с учётом ограничений по производительности и ресурсам.
Содержание учебной дисциплины
- Введение в МО: каким оно бывает и каковы основные компоненты
- Оценка качества работы моделей
- Линейная регрессия
- Градиентный спуск
- Обобщающая способность модели: метод отложенной выборки. Кросс-Валидация
- Мультиколлинеарность, регуляризация и масштабирование признаков
- Методы отбора признаков
- Полезные приемы при работе с данными
- Практика: Housing Market
- Линейная классификация: оценка вероятности
- Матрица ошибок и основные метрики классификации
- ROC, PR-кривые. AUC-ROC, AUC-PR. Калибровка
- Метод опорных векторов
- Многоклассовая классификация: one vs rest, one vs one
- Понижение размерности признакового пространства
- Метод K ближайших соседей: обоснование нелинейности, гиперпараметры и подбор метрики близости объектов
- Решающее дерево: постановка задачи регрессии/классификации и гиперпараметры модели
- Решающее дерево: проблемы с обобщающей способностью и подбор гиперпараметров
- Композиции алгоритмов. Случайный лес
- Градиентный бустинг. Bias-variance trade-off
- Кластеризация
- Вебинар: подготовка к проекту блока МО
- Рекомендательные системы. Проект блока МО
- Машинное обучение: классические задачи и алгоритмы I
- Машинное обучение: классические задачи и алгоритмы II
- Обзор Deep Learning
- Построение нейросети и методы оптимизации
- Продвинутые техники обучения моделей
- Введение в computer vision
- Обзор типов задач в CV
- Основы NLP: токены, эмбеддинги
- Рекуррентные сети и генерация текста
- Обзор трансформера и сетей на его основе
- Погружение в LLM
- Вебинар. Продвинутая векторизация текста: эмбеддинги из BERT и трансформеров
- Вебинар. Подготовка к проекту DL: эмбеддинги в рекомендательных системах и Classic ML
- Трансформер. Часть II. Улица Сезам. Проект блока ДЛ
Элементы контроля
- Домашнее задание к разделам (урокам) 1-34. Квиз на закрепление основных понятий уроков.176 тестовых заданий: 1 урок – 4 задания, 2 урок – 4 задания, 3 урок – 4 задания, 4 урок – 4 задания, 5 урок – 3 задания, 6 урок – 3 задания, 7 урок – 3 задания, 8 урок – 3 задания, 12 урок – 3 задания, 13 урок – 4 задания, 14 урок – 2 задания, 15 урок – 6 заданий, 16 урок – 3 задания, 17 урок – 3 задания, 18 урок – 3 задания, 19 урок – 3 задания, 20 урок – 4 задания, 24 урок – 11 заданий, 25 урок – 11 заданий, 26 урок – 12 заданий, 27 урок – 10 заданий, 28 урок – 10 заданий, 29 урок – 12 заданий, 30 урок – 11 заданий, 31 урок – 9 заданий, 32 урок – 11 заданий, 33 урок – 11 заданий, 34 урок – 9 заданий.
- Домашнее задание к разделам (урокам) 1-33.Практические задания по Машинному обучению и Основам Deep Learning. 177 практических задач: 1 урок – 4 задания, 2 урок – 7 заданий, 3 урок – 2 задания, 4 урок – 8 заданий, 5 урок – 2 задания, 6 урок – 6 заданий, 7 урок – 4 задания, 8 урок – 6 заданий, 10 урок – 6 заданий, 11 урок – 11 заданий, 12 урок – 4 задания, 13 урок – 3 задания, 14 урок – 6 заданий, 15 урок – 6 заданий, 16 урок – 5 заданий, 17 урок – 3 задания, 18 урок – 3 задания, 19 урок – 6 заданий, 20 урок – 5 заданий, 21 урок – 3 задания, 26 урок – 7 заданий, 27 урок – 25 заданий, 28 урок – 9 заданий, 29 урок – 7 заданий, 30 урок – 5 заданий, 31 урок – 6 заданий, 32 урок – 5 заданий, 33 урок – 6 заданий.
- Сквозной проект к разделам (урокам) 23, 37.Финальный сквозной проект по трем частям дисциплины: Машинное обучение, Deep Learning. 2 сквозных проекта: 23 урок – 1 проект, 37 урок – 1 проект.
Промежуточная аттестация
- 2026/2027 2nd moduleИтоговая оценка соответствует сумме баллов за выполненные задания на LMS karpov.courses, приведенные к 10-балльной шкале (см. таблицу). Для каждого задания на LMS-платформе karpov.courses определён дедлайн в 14 календарных дней, после наступления которого студенту начисляется 70% от итогового балла за задание.
Список литературы
Рекомендуемая основная литература
- Машинное обучение. Портфолио реальных проектов. . - 978-5-4461-1978-3 - Григорьев Алексей - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/products/390208 - 390208 - iBOOKS
Рекомендуемая дополнительная литература
- PyTorch : освещая глубокое обучение, Стивенс, Э., 2022
- Прикладной анализ текстовых данных на Python. Машинное обучение и создание приложений обработки естественного языка - 978-5-4461-1153-4 - Бенджамин Бенгфорт, Ребекка Билбро, Тони Охеда - 2021 - Санкт-Петербург: Питер - https://ibooks.ru/products/365298 - 365298 - iBOOKS