Data Scientist

Курс предназначен для программистов и аналитиков, которые интересуются машинным обучением и анализом данных.

Длительность

5 месяцев

Начало занятий

В августе

Продолжительность
5 месяцев, 4 академических часа в неделю
Начало занятий
В августе
Что даст вам этот курс


  • Знание алгоритмов машинного обучения и понимание принципов их работы.

  • Освоение современных методов и инструментов анализа и обработки данных.

  • Умение проектировать архитектуру нейросетей, создавать предсказательные модели, работать с ограниченными датасетами, проводить статистические исследования, интерпретировать результаты по данным.

  • Способность извлекать из крупных массивов данных ценную информацию и эффективно ее использовать.







О курсе и о себе

После завершения курса вы будете обладать всеми навыками и знаниями, необходимыми для того, чтобы быть успешным и востребованным специалистом как в России, так и в любой другой стране мира.





32 работодателя

Сбалансированное сочетание теоретического изучения с практическими заданиями по данным

Авторская программа, практикующие data-scientists преподаватели

В интернете есть огромное количество курсов по машинному обучению и data science. Зачем нужен еще один? Мы делаем упор на максимальное количество практических примеров и заданий, на то чтобы студенты как можно быстрее смогли применять полученные знания своими руками. Отсюда большое количество заданий и плотное взаимодействие с преподавателями и наставниками.
Александр Никитин
Преподаватель курса
В интернете есть огромное количество курсов по машинному обучению и data science. Зачем нужен еще один? Мы делаем упор на максимальное количество практических примеров и заданий, на то чтобы студенты как можно быстрее смогли применять полученные знания своими руками. Отсюда большое количество заданий и плотное взаимодействие с преподавателями и наставниками.
Александр Никитин
Преподаватель курса
Преподаватели
Александр Никитин
Специалист по Machine Learning
Александр Сизов
Учёный и эксперт по Machine/Deep learning
Ольга Астахова
Data Scientist в OneFactor
Дмитрий Музалевский
Lead Data Scientist в Koerber Digital
Разработчик и data scientist с 5-летним опытом. В данное время занимается консалтингом и аутсорсом по машинному обучению для компаний в России, Европе и Австралии. Работал ML-инженером в Яндексе.
Научные интересы касаются обработки естественного языка, построения векторных представлений для слов и текстов, тематического моделирования.

Образование: МФТИ (факультет инноваций и высоких технологий)

Машинное обучение и анализ данных преподает с 2015 года на курсах, летних школах и семинарах.
Александр получает огромное удовольствие от обучения людей и стремится делиться знаниями с сообществом.
Опытный разработчик, учёный и эксперт по Machine/Deep learning. Имеет более 30 научных публикаций на русском и иностранном языках, защитил кандидатскую диссертацию на тему анализа и прогнозирования временных рядов.

Окончил факультет вычислительной техники в НИУ МЭИ, где в 2008 г. получил степень бакалавра, в 2010 — магистра, в 2014 — кандидата технических наук. Ещё до начала работы над диссертацией увлёкся анализом данных и при реализации своего первого значимого проекта прошёл путь от рядового программиста до начальника отдела разработки.

Около 10 лет преподавал смежные дисциплины в НИУ МЭИ, будучи доцентом кафедры. Участвует в коммерческих международных проектах, связанных с искусственным интеллектом и анализом данных.
Эксперт по аналитике в компании OneFactor.

Аналитик и Data Scientist с 5-летним опытом. Cпециализируется на обработке больших объемов данных и построении моделей машинного обучения для прогнозирования характеристик клиентов (основные инструменты: Python, Pyspark, R, Hadoop).

Академический опыт: исследователь в лаборатории алгоритмов и технологий анализа сетевых структур (ЛАТНА) НИУ ВШЭ. Занималась исследованием фондовых рынков.

Образование: НИУ Высшая Школа Экономики, магистр и бакалавр Прикладной математики и информатики, а также ДПО "Практический анализ данных и машинное обучение".
7+ лет опыта в области анализа данных и машинного обучения. Опыт работы и проектов в различных индустриях: телеком, онлайн-ритейл, банковская сфера, финтех и медтех.

В настоящий момент работает в компании Koerber Digital GmbH, Берлин. Занимает позицию Lead Data Scientist и ведет работу команды, занимающейся аналитикой больших объемов данных и машинным обучением для производственных предприятий и B2B компаний.

Образование: магистратура МГТУ им.Баумана "Компьютерный анализ и интерпретация данных"; бакалавриат НИУ МАИ "Математические методы в экономике и маркетинге".
Александр
Никитин
Александр
Сизов
Ольга
Астахова
Дмитрий
Музалевский
Преподаватели
Александр Никитин
Специалист по Machine Learning
Разработчик и data scientist с 5-летним опытом. В данное время занимается консалтингом и аутсорсом по машинному обучению для компаний в России, Европе и Австралии. Работал ML-инженером в Яндексе.
Научные интересы касаются обработки естественного языка, построения векторных представлений для слов и текстов, тематического моделирования.

Образование: МФТИ (факультет инноваций и высоких технологий)

Машинное обучение и анализ данных преподает с 2015 года на курсах, летних школах и семинарах.
Александр получает огромное удовольствие от обучения людей и стремится делиться знаниями с сообществом.
Александр Сизов
Учёный и эксперт по Machine/Deep learning
Опытный разработчик, учёный и эксперт по Machine/Deep learning. Имеет более 30 научных публикаций на русском и иностранном языках, защитил кандидатскую диссертацию на тему анализа и прогнозирования временных рядов.

Окончил факультет вычислительной техники в НИУ МЭИ, где в 2008 г. получил степень бакалавра, в 2010 — магистра, в 2014 — кандидата технических наук. Ещё до начала работы над диссертацией увлёкся анализом данных и при реализации своего первого значимого проекта прошёл путь от рядового программиста до начальника отдела разработки.

Около 10 лет преподавал смежные дисциплины в НИУ МЭИ, будучи доцентом кафедры. Участвует в коммерческих международных проектах, связанных с искусственным интеллектом и анализом данных.
Ольга Астахова
Data Scientist в OneFactor
Эксперт по аналитике в компании OneFactor.

Аналитик и Data Scientist с 5-летним опытом. Cпециализируется на обработке больших объемов данных и построении моделей машинного обучения для прогнозирования характеристик клиентов (основные инструменты: Python, Pyspark, R, Hadoop).

Академический опыт: исследователь в лаборатории алгоритмов и технологий анализа сетевых структур (ЛАТНА) НИУ ВШЭ. Занималась исследованием фондовых рынков.

Образование: НИУ Высшая Школа Экономики, магистр и бакалавр Прикладной математики и информатики, а также ДПО "Практический анализ данных и машинное обучение".
Дмитрий Музалевский
Lead Data Scientist в Koerber Digital
7+ лет опыта в области анализа данных и машинного обучения. Опыт работы и проектов в различных индустриях: телеком, онлайн-ритейл, банковская сфера, финтех и медтех.

В настоящий момент работает в компании Koerber Digital GmbH, Берлин. Занимает позицию Lead Data Scientist и ведет работу команды, занимающейся аналитикой больших объемов данных и машинным обучением для производственных предприятий и B2B компаний.

Образование: магистратура МГТУ им.Баумана "Компьютерный анализ и интерпретация данных"; бакалавриат НИУ МАИ "Математические методы в экономике и маркетинге".
Минимальные знания
Успешному обучению на занятиях по Data Science будут способствовать базовые знания Python и отсутствие страха перед статистикой и математикой.
Процесс обучения
Это дистанционное образование, которое проводится онлайн в формате вебинаров (язык преподавания — русский). В рамках курса слушателям предлагаются к выполнению домашние задания, которые позволят применить на практике полученные во время вебинаров знания по данным. По каждому домашнему заданию преподаватель дает развернутый фидбек. На всём протяжении учебного процесса преподаватель находится в едином коммуникационном пространстве с группой, т. е. при обучении слушатель может задавать преподавателю уточняющие вопросы по учебным материалам.
Программа обучения
Модуль 1
Введение в машинное обучение
Модуль 2
Продвинутые алгоритмы машинного обучения
Модуль 3
Применение методов машинного обучения к разным типам данных (текст, рекомендации, графы, временные ряды)
Модуль 4
Нейронные сети и глубокое обучение
Модуль 5
Проектная работа
Введение в машинное обучение
В первом модуле разберем: задачи, которые решают методы машинного обучения; необходимые темы из математического анализа, линейной алгебры и теории вероятности; базовые инструменты анализа данных в python; простые методы машинного обучения (линейная регрессия, логистическая регрессия, lDA, наивный Байес)
Базовые инструменты анализа данных в Python.
Цели:
Участники узнают, какие задачи они смогут решать по окончании курса, научатся настраивать рабочее окружение и узнают функционал базовых библиотек для работы с данными в python.

Программа:
1. Обзор курса. Типы решаемых задач.
2. Окружение Python. Введение в Python, Numpy, Pandas, Sklearn. API Sklearn.
Домашние задания: 1
1 Работы с данными в библиотеках numpy и pandas и реализация библиотеки для сбора данных
см. файл Описание ДЗ.pdf
Необходимые понятия из мат. анализа и линейной алгебры
Цели:
Участники освоят весь необходмый для данного курса материал из линейной алгебры и математического анализа: научатся решать задачи на собсвенные числа и собственные вектора матриц, находить производные функций и матричных выражений и применять это для задач оптимизации функций, эффективно применять данные алгоритмы в python.


Программа:
1. Линейная алгебра: Вектор, матрица, определитель матрицы, обратная матрица, собственные числа и вектора, норма, разложения матрицы (по собственным векторам, SVD).
2. Мат. анализ: Производная, интеграл, производные матричных выражений, якобиан, дифференцирование сложной функции.
3. Оптимизация: выпуклая, поиск глобального экстремума.
4. Типы данных в Python и векторизация вычислений (примеры + время работы).
Необходимые понятия из теории вероятности
Цели:
Участники изучат необходимые для курса основы теории вероятности: случайная величина, основные виды распределений случайных величин, научатся считать мат. ожидание, дисперсию случайных величин.


Программа:
1. Теория вероятности: вероятность (частотная и Байесовская трактовки), случайные величины, примеры распределений, мат. ожидание и т.д.
2. Экспоненциальное семейство распределений.
3. Основы статистики.
4. Примеры на Python.
Визуализация
Цели:
Участники освоят основные библиотеки для визуализации данных в python, будут правильно выбирать виды графиков для визуализации данных разных типов.
Домашние задания: 1
1 Группировка и визуализация данных в Python + EDA
https://drive.google.com/file/d/1UgVyxmOumex9-gFTnX583KtCWCIdkWyQ/view?usp=sharing
Feature engineering
1. Отбор признаков.
2. Преобразование исходных данных в подходящий для модели формат.
3. Преобразование признаков для повышения точности модели.
4. Выбор части признаков.
Задача классификации. Метод ближайших соседей (kNN)
Алгоритм kNN. Влияние нормализации данных в kNN. Структуры данных для оптимизации kNN. Кросс валидация. Методы оценки качества алгоритмов классификации.
Линейная регрессия
Цели:
Участники научатся делать описательный анализ данных с помощью библиотеки pandas и визуализацию данных с помощью различных библиотек python (matplotlib, seaborn, plotly, bokeh)

Программа:
1. Линейная регрессия - метод наименьших квадратов
2. Вероятностная трактовка линейной регрессии
3. Полиномиальная регрессия
3. Регуляризация в линейной регрессии
Обучение с учителем. Логистическая регрессия
Реализации логистической регрессии с помощью метода стохастического градиентного спуска
Домашние задания: 1
1 Обучение с учителем. Логистическая регрессия.
См. homework.ipynb
Практическое занятие по темам, изученным в 1 модуле
Продвинутые алгоритмы машинного обучения
Метод опорных векторов
1. Метод опорных векторов(SVM), интерпретация.
2. Случай линейно неразделимых данных.
3. kernel trick, representer theorem, примеры ядер.
4. Пример SVM в sklearn.
Деревья решений
1. Классификация и регрессия с помощью деревьев решений.
2. Обзор алгоритмов. Алгоритм CART. Выбор оптимального сплита, суррогатный сплит.
3. Обзор реализации в sklearn.
Домашние задания: 1
1 Эксперименты с решающими деревьями
Подробное описание содержится в jupyter-ноутбуке с домашним заданием.
Обучение без учителя. K-means, EM алгоритм
Обучение без учителя. Алгоритмы кластеризации, области применения. K-means. Оценка качества обучения, ограничения и подбор алгоритма для задачи. Алгоритмы с lower-bound. EM алгоритм.
Домашние задания: 1
1 Обучение без учителя. Кластеризация
См. homework-clustering.ipynb

Реализовать один из алгоритмов кластеризации.
Применение готовых алгоритмов кластеризации к датасету с Kaggle
Иерархическая кластеризация, DB-Scan
1. Иерархическая кластеризация
2. DB-Scan.
3. Optics. Спектральная кластеризация.
Поиск выбросов в данных
25 мая, 10:00 — 11:30
Лектор: Ольга Астахова
Методы уменьшения размерности
1. Метод главных компонент (Principle component analysis).
2. Метод t-sne.
3. Примеры визуализации с помощью метода t-sne.
28 мая, 20:00 — 21:30
Лектор: Ольга Астахова
Ансамбли моделей.
1. Ансамблирование.
2. Случайный лес.
3. Бустинг, бэггинг, стекинг, блендинг.
1 июня, 10:00 — 11:30
Градиентный бустинг
1. Градиентный бустинг теория
2. Примеры библиотек: xgboost, catboost, lightgbm
3. Стекинг, блендинг
11 июня, 20:00 — 21:30
Домашние задания: 1
1 Применение бустинга для построения лучшей модели
Применение бустинга для построения лучшей модели
Применение методов машинного обучения к разным типам данных (текст, рекомендации, графы, временные ряды)
Анализ текстовых данных. Часть 1
1. Сбор данных из открытых источников.
2. Очистка данных, подготовка данных для анализа.
3. Задача обработки текста. Введение, обзор задач, токенизация, лемматизация. TF-IDF.
4. Обзор библиотек для Python для работы с русским и английским языками.
15 июня, 10:00 — 11:30
Анализ текстовых данных. Часть 2
1. Выделение объектов в тексте.
2. Word2vec. Fast text.
3. Анализ тональности.
4. Автоматическое реферирование и тэгирование, классификация текстов.
18 июня, 20:00 — 21:30
Домашние задания: 1
1 Реализация процесса сбора данных через API
Реализация процесса сбора данных через API VKontakte.
Преобразование текста, подготовка текста для анализа.
Применение машинного обучения для предсказания характеристик пользователей.
Анализ текстовых данных. Часть 3. Тематическое моделирование
1. метод pLSA.
2. метод LDA.
3. Применеие метода LDA для тематического моделирования новостных и научных статей
22 июня, 10:00 — 11:30
Рекомендательные системы
1. Коллаборативная фильтрация основанная на схожести пользователей и товаров.
2. Коллаборативная фильтрация основанная на факторизации матриц.
3. Проблема "холодного старта", контентная фильтрация, гибридные подходы.
4. Ассоциативные правила.
5. Метрики оценки качества рекомендательной системы.
25 июня, 20:00 — 21:30
Домашние задания: 1
1 Сравнение разных алгоритмов рекомендательных систем
1. На тренировочных данных с рейтингами фильмов обучить следующие алгоритмы рекомендательных систем:
- user based collaborative filtering
- item based collaborative filtering
- 3. SVD без bias
- SVD
- Факторизационные машины с дополнительной информацией по пользователям и предметом рекомендаций и эффектом времени
2. Сравнить разные алгоритмы на валидационных данных и сделать выводы
Анализ временных рядов
1. Постановка задачи.
2. Экспоненциальное сглаживание.
3. Стационарность. SARIMA. Выбор признаков во временных рядах.
4. Применение моделей машинного обучения
29 июня, 10:00 — 11:30
Домашние задания: 1
1 Предсказание временных рядов
1. Скачать датасет Х.
2. Натренировать модель ARIMA, перебором подобрать наилучший набор параметров.
3. Натренировать одну из ML моделей на предсказание следующего значения временного ряда.
Алгоритмы на графах
Социальные сети, выделение сообществ
2 июля, 20:00 — 21:30
АБ тестирование
1. Тестирование гипотез. Постановка задачи.
2. Терминология, мощность, статистическая значимость.
3. Параметрические методы: t-критерий, 1p, 2p proportion.
4. Непараметрические методы bootstrap
6 июля, 10:00 — 11:30
Методы оптимизации
SGD, модификации SGD
16 июля, 20:00 — 21:30
Нейронные сети и глубокое обучение
Простейшие нейронные сети и метод обратного распространения ошибки.
1. Начальные сведения о нейронных сетях.
2. Теорема об универсальной аппроксимации.
3. Алгоритм обратного распространения ошибки.
20 июля, 10:00 — 11:30
Обучение нейронных сетей
1. Пример к предыдущей лекции: разбор word2vec.
2. Предпосылки для глубоких нейронных сетей, представления.
3. Стохастический градиентный спуск.
23 июля, 20:00 — 21:30
Домашние задания: 1
1 Простые НС и метод обратного распространения ошибки
1. Реализовать полносвязную сеть: два скрытых слоя с функцией активации ReLU, на выходе softmax по количеству классов (задается как параметр).
2. Обучить НС на модельный датасет "make_moons" из skelarn. Визуализировать разделяющую поверхность.
3. Обучить НС на датасете MNIST.

Сверточные нейронные сети ч.1
1. Структура сверточных сетей.
2. Пример на MNIST (Pytorch).
3. Обзор Pytorch.
4. Примеры на Pytorch (усложняем сеть, увеличиваем точность) -- сделать inclass соревнование на Kaggle.
27 июля, 10:00 — 11:30
Сверточные нейронные сети ч.2
1. Функции активации.
2. Регуляризация (BatchNorm, Dropout)
3. Инициализация весов.
4. Модификации SGD.
30 июля, 20:00 — 21:30
Сверточные нейронные сети ч.3
1. Ансамблирование.
2. Аугментация данных, transfer learning.
3. Использование предобученных сетей.
3 августа, 10:00 — 11:30
Домашние задания: 1
1 Сверточные сети на Pytorch
1. Реализовать сверточную сеть заданной архитектуры на Pytorch.
2. Написать слой BatchNorm и добавить его в НС.
3. Написать оптимизатор RMSProp и сравнить с обычным SGD.
Рекуррентные сети ч.1
1. Простой вариант: RNN.
2. LSTM, GRU.
3. Примеры для текста (языковая модель).
6 августа, 20:00 — 21:30
Рекуррентные сети ч.2
1. Механизм внимания: пример на переводе, на картинке. Типы внимания.
2. Пример: Image captioning.
10 августа, 10:00 — 11:30
Домашние задания: 1
1 Рекуррентные сети на Pytorch
1. Реализовать language model.
2. Выполнить задачу NER на датасете ConLL2003.
Примеры работы глубоких НС
1. Изображения и видео.
2. Текст: задача POS-tagging, NER, перевод.
3. Прочее.
13 августа, 20:00 — 21:30
Проектная работа
В рамках курса предусмотрена защита проекта.

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

Проект готовится в течение месяца и включает в себя следующие этапы:
1. Постановка задачи. Предлагается самостоятельно найти предметную область и обосновать применение в ней машинного обучения
2. Разработка данных. Одно из требований к проекту - Использование данных из открытых источников. Необходимо разработать процесс сбора и очистки данных
3. Поиск алгоритма и модели для решения задачи. Необходимо выполнить подготовку данных, выбрать алгоритм и подобрать параметры для построения модели
4. Использование модели для достижения поставленной цели. Необходимо реализовать применение разработанной модели
5. Построение процесса. Решение задачи необходимо оформить в единый процесс по обработке данных от источника до предсказания, не требующий участия эксперта
6. Обоснование процесса

Предлагаемые темы выпускного проекта:
- Прогнозирование лояльности клиента
- Категоризация клиентов
- Классификация товарных чеков
- Классификация sku (фарма)
- Классификация sku (табачная прод.)
- Кластеризация брендов/sku (фарма)
- Кластеризация брендов/sku (табачная прод.)
- Рекомендация нового продукта/услуги (банк)
- Определение конверсии/ сегментация клиентов
- Оценка рисков в страховании жизни
- Прогнозирование покупок
- Прогнозирование продаж (demand prediction)
Вводное занятие по проектной работе
20 августа, 20:00 — 21:30
Домашние задания: 1
1 Проектная работа
Проект включает в себя следующие этапы:
1. Постановка задачи. Предлагается самостоятельно найти предметную область и обосновать применение в ней машинного обучения
2. Разработка данных. Одно из требований к проекту - Использование данных из открытых источников. Необходимо разработать процесс сбора и очистки данных
3. Поиск алгоритма и модели для решения задачи. Необходимо выполнить подготовку данных, выбрать алгоритм и подобрать параметры для построения модели
4. Использование модели для достижения поставленной цели. Необходимо реализовать применение разработанной модели
5. Построение процесса. Решение задачи необходимо оформить в единый процесс по обработке данных от источника до предсказания, не требующий участия эксперта
6. Обоснование процесса
Консультация по проектной работе
31 августа, 10:00 — 11:30
Защита проектной работы
14 сентября, 10:00 — 11:30
Выпускной проект
На курсе предусмотрено выполнение проекта с высокой степенью свободы принятия решений. Он готовится в течение месяца. Проектом может быть как исследование, направленное на получение знаний, так и приложение, дающее какой-то конкретный результат по данным.

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


Примеры тем проекта:

- категоризация товаров по текстовому описанию;

- кластеризация покупателей;

- подсчет числа объектов на картинке;

- реализация библиотеки для глубокого обучения.
Прошедшие открытые вебинары по курсу
Открытый вебинар - это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Наивный байесовский классификатор
Максим Кретов
День открытых дверей
19 марта в 20:00
После обучения вы

  • заберете с собой learn-материалы по всем занятиям (презентации, записи вебинаров, примеры практических задач);

  • получите сертификат на русском о прохождении курса;

  • научитесь использовать методы машинного обучения для решения реальных бизнес-задач;

  • улучшите навыки в технологиях Python, Pandas, Sklearn, Keras, нейросети, SQL, Natural language processing, Deep learning и других, связанных с Learn Data Science;

  • получите приглашение пройти собеседование в компаниях-партнерах OTUS в Москве (в случае успешного обучения на курсе).

Дата выдачи сертификата: 27 февраля 2020 года
Ваш сертификат
otus.ru
Константин Константинопольский
успешно закончил курс
«Data Scientist»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
otus.ru
Константин Константинопольский
успешно закончил курс
«Data Scientist»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001