Data Science

Решение задач по сбору и анализу данных, возникающих в большинстве современных сервисов: от Алисы до Яндекс.Погоды.
Для кого
Для тех, кто хочет ставить задачи с помощью анализа данных, предлагать решения и оценивать их эффективность не только в синтетическом эксперименте, но и в реальных условиях.
Чему мы учим
Статистике, машинному обучению и работе с разными типами данных.
Где применять эти знания
Данные лежат в основе большинства современных сервисов и продуктов: от приложений по предсказанию погоды до беспилотных автомобилей. Data Scientist проводит эксперименты, строит метрики, умеет оптимизировать работу сервисов и понимает, где находятся их точки роста.

Программа

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

Знания проверяются в первую очередь с помощью домашних заданий — экзамены и контрольные проводятся только по некоторым предметам.

Первый семестр
Обязательные
Алгоритмы и структуры данных, часть 1
01
Сложность и модели вычислений. Анализ учетных стоимостей (начало)
02
Анализ учетных стоимостей (окончание)
03
Алгоритмы Merge-Sort и Quick-Sort
04
Порядковые статистики. Кучи (начало)
05
Кучи (окончание)
06
Хеширование
07
Деревья поиска (начало)
08
Деревья поиска (продолжение)
09
Деревья поиска (окончание). Система непересекающихся множеств
10
Задачи RMQ и LCA
11
Структуры данных для геометрического поиска
12
Задача о динамической связности в ненаправленном графе
Язык Python
01
Основы языка (часть 1)
02
Основы языка (часть 2)
03
Объектно-ориентированное программирование
04
Обработка ошибок
05
Оформление и тестирование кода
06
Работа со строками
07
Модель памяти
08
Функциональное программирование
09
Обзор библиотек (часть 1)
10
Обзор библиотек (часть 2)
11
Параллельные вычисления в Python
12
Расширенная работа с объектами
Машинное обучение, часть 1
01
Основные понятия и примеры прикладных задач
02
Метрические методы классификации
03
Логические методы классификации и решающие деревья
04
Градиентные линейные методы классификации
05
Метод опорных векторов
06
Многомерная линейная регрессия
07
Нелинейная и непараметрическая регрессия, нестандартные функции потерь
08
Прогнозирование временных рядов
09
Байесовские методы классификации
10
Логистическая регрессия
11
Поиск ассоциативных правил
Второй семестр
Обязательные
Основы статистики в машинном обучении
01
Введение
02
Основные задачи и методы теории статистических выводов
03
Оценка распределения и статистические функционалы
04
Моделирование Монте-Карло, бутстреп
05
Параметрическое оценивание
06
Проверка гипотез
07
Снижение размерности многомерных данных
08
Оценка чувствительности модели
09
Линейная и логистическая регрессия
10
Методы планирования экспериментов (Design of Experiments)
11
Различные типы регуляризации в линейной регрессии
12
Нелинейные методы построения регрессионных зависимостей
13
Непараметрическое оценивание
14
Байесовский подход к оцениванию
15
Байесовский подход к регрессии
16
Байесовский подход к регрессии и оптимизации
17
Использование модели случайных гауссовских полей в задачах анализа данных
18
Использование статистических моделей и методов в задачах суррогатного моделирования и оптимизации
Машинное обучение, часть 2
01
Нейросетевые методы классификации и регрессии
02
Композиционные методы классификации и регрессии
03
Критерии выбора моделей и методы отбора признаков
04
Ранжирование
05
Обучение с подкреплением
06
Обучение без учителя
07
Задачи с частичным обучением
08
Коллаборативная фильтрация
09
Тематическое моделирование
Третий семестр
На выбор
Автоматическая обработка текстов
или
Компьютерное зрение
Курс посвящен методам и алгоритмам компьютерного зрения, т.е. извлечения информации из изображений и видео. Рассмотрим основы обработки изображений, классификацию изображений, поиск изображений по содержанию, распознавание лиц, сегментацию изображений. Затем поговорим про алгоритмы обработки и анализа видео. Последняя часть курса посвящена трёхмерной реконструкции. Для большинства задач будем обсуждать существующие нейросетевые модели. В курсе мы стараемся уделять внимание только наиболее современным методам, которые используются в настоящее время при решении практических и исследовательских задач. Курс в большей степени является практическим, а не теоретическим. Поэтому все лекции снабжены лабораторными и домашними работами, которые позволяют попробовать на практике большинство из рассматриваемых методов. Работы выполняются на языке Python, с использованием различных библиотек.
01
Цифровое изображение и тональная коррекция.
02
Основы обработки изображений.
03
Совмещение изображений.
04
Классификация изображений и поиск похожих.
05
Сверточные нейросети для классификации и поиска похожих изображений.
06
Детектирование объектов.
07
Семантическая сегментация.
08
Перенос стиля и синтез изображений.
09
Распознавание видео.
10
Разреженная трёхмерная реконструкция.
11
Плотная трёхмерная реконструкция.
12
Реконструкция по одному кадру и облакам точек, параметрические модели.
Четвёртый семестр
Рекомендуемые спецкурсы
Глубинное обучение
Обучение с подкреплением
Self Driving Cars
В курсе рассматриваются основные компоненты беспилотных технологий: локализация, перцепция, предсказание, уровень поведения и планирование движения. Для каждой из компонент будут описаны основные подходы. Кроме того, студенты познакомятся с текущим состоянием рынка и технологическими вызовами.
01
Обзор основных компонент и сенсоров беспилотного автомобиля. Уровни автономности. Drive by Wire. Беспилотные автомобили как бизнес-продукт. Способы оценки прогресса в создании беспилотников. Основы локализации: gnss, колесная одометрия, байесовские фильтры.
02
Методы лидарной локализации: ICP, NDT, LOAM. Введение в визуальный SLAM на примере ORB-SLAM. Постановка задачи GraphSLAM. Сведение задачи GraphSLAM к нелинейному МНК. Выбор правильной параметризации. Системы с особой структурой в GraphSLAM. Архитектурный подход: frontend и backend.
03
Задача распознавания в беспилотном автомобиле. Статические и динамические препятствия. Сенсоры для системы распознавания. Представление статических препятствий. Детекция статических препятствий по лидару (VSCAN, нейросетевые методы). Использование лидара совместно с изображениями для детекции статики (семантическая сегментация изображений, depth completion). Стерео камера и получение глубины из картинки. Stixel World.
04
Представление динамических препятствий в беспилотном автомобиле. Нейросетевые методы детекции объектов в 2D. Детекция на основе Bird-eye view представления лидарного облака. Использование лидара совместно с изображениями для детекции динамических препятствий. Детекция автомобилей в 3D на основе картинок (3D boxes fitting, CAD models). Детекция динамических препятствий на основе радара. Трекинг объектов.
05
Модели движения автомобиля: rear wheel, front wheel. Планирование траекторий. Понятие конфигурационного пространства. Графовые методы построения траекторий. Траектории, минимизирующие рывок. Оптимизационные методы построения траекторий.
06
Планирование скорости в динамическом окружении. ST-планирование. Предсказание поведения других участников дорожного движения.