День открытых дверей по курсу «Data Scientist» 20.08.2018 в 20:00 | OTUS >
🔥 Учись выгодно в Отус!
-10% на все курсы июня и июля до 15.07 ! →
Выбрать курс
+7 499 938-92-02
Проходил 20 августа 2018 года в 20:00

День открытых дверей
Data Scientist

День открытых дверей онлайн

Хотите узнать, почему OTUS – больше, чем просто образовательный портал?
Как OTUS дает возможность стать частью сообщества профессионалов и сделать новый шаг по карьерной лестнице?
Почему учиться – не обязанность, а удовольствие и почему тесное сплетение теории и практики в обучении дает эффект синергии?
Приходите к нам на День Открытых Дверей. Формат проведения – онлайн – подключиться можно из любой точки мира!
Преподаватель
Михаил Павлов

Запись

О курсе

Data Scientist


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

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

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

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


Программа курса
Модуль 1
Введение в машинное обучение
Модуль 2
Продвинутые алгоритмы машинного обучения
Модуль 3
Применение методов машинного обучения к разным типам данных (текст, рекомендации, графы, временные ряды)
Модуль 4
Нейронные сети и глубокое обучение
Модуль 5
Проектная работа
Введение в машинное обучение
В первом модуле разберем: задачи, которые решают методы машинного обучения; необходимые темы из математического анализа, линейной алгебры и теории вероятности; базовые инструменты анализа данных в python; простые методы машинного обучения (линейная регрессия, логистическая регрессия, lDA, наивный Байес)
Базовые инструменты анализа данных в Python.
Цели:
Участники узнают, какие задачи они смогут решать по окончании курса, научатся настраивать рабочее окружение и узнают функционал базовых библиотек для работы с данными в python.

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


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


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

Реализовать один из алгоритмов кластеризации.
Применение готовых алгоритмов кластеризации к датасету с Kaggle
Иерархическая кластеризация, DB-Scan
1. Иерархическая кластеризация
2. DB-Scan.
3. Optics. Спектральная кластеризация.
Домашние задания: 1
ДЗ
Вывод EM-алгоритма. Произвести математический вывод EM-алгоритма, результат в jupyter-notebook.
Поиск выбросов в данных
Методы уменьшения размерности
1. Метод главных компонент (Principle component analysis).
2. Метод t-sne.
3. Примеры визуализации с помощью метода t-sne.
Домашние задания: 1
ДЗ
Уменьшение размерности датасета медицинской тематики. см. jupyter: homework
Ансамбли моделей.
1. Ансамблирование.
2. Случайный лес.
3. Бустинг, бэггинг, стекинг, блендинг.
Градиентный бустинг
1. Градиентный бустинг теория
2. Примеры библиотек: xgboost, catboost, lightgbm
3. Стекинг, блендинг
Домашние задания: 1
ДЗ
Применение бустинга для построения лучшей модели
Применение методов машинного обучения к разным типам данных (текст, рекомендации, графы, временные ряды)
Анализ текстовых данных. Часть 1
1. Сбор данных из открытых источников.
2. Очистка данных, подготовка данных для анализа.
3. Задача обработки текста. Введение, обзор задач, токенизация, лемматизация. TF-IDF.
4. Обзор библиотек для Python для работы с русским и английским языками.
Анализ текстовых данных. Часть 2
1. Повторение "основы текстовой аналитики"
2. Тематическое моделирование
3. Общая схема решения задач NLP
4. Обсуждения домашнего задания
Домашние задания: 1
ДЗ
Реализация процесса сбора данных через API. Реализация процесса сбора данных через API.
Преобразование текста, подготовка текста для анализа.
Применение машинного обучения для предсказания характеристик пользователей.
Анализ текстовых данных. Часть 3. практическое занятие
векторные представления слов, примеры задач NLP, создание диалоговых систем
Домашние задания: 1
ДЗ
Избавление от полисемии в предобученном W2V.
Рекомендательные системы
1. Коллаборативная фильтрация основанная на схожести пользователей и товаров.
2. Коллаборативная фильтрация основанная на факторизации матриц.
3. Проблема "холодного старта", контентная фильтрация, гибридные подходы.
4. Ассоциативные правила.
5. Метрики оценки качества рекомендательной системы.
Домашние задания: 1
ДЗ
Сравнение разных алгоритмов рекомендательных систем. Работа с датасетом MovieLens

https://grouplens.org/datasets/movielens/

См книгу
Python for Data Analysis, Wes McKinney
2. Introductory Examples, MovieLens 1M Data Set (стр. 26)

1. Оценить количество фильмов, пользователей и оценок
2. Оценить распределения (предлагается построить распределения количества оценок по фильмам и пользователям и увидеть т.н. "длинные хвосты" в распределениях)
3. Оценить средние оценки по фильмам и по пользователям
4. Выбрать критерий, показывающий, что фильм нравится всем, или не нравится никому, и вывести топ фильмов из этих списков. Знаете ли вы эти фильмы, согласны ли с оценками?
5. Выбрать лучшие фильмы
6. Посмотреть на смещение оценок, увидеть сколько пользователей занижают оценки и завышают оценки.
7. Построить рекомендательную систему с помощью библиотеки surprise (или другой, по желанию). Применить подбор параметров модели на сетке, оценить качество полученной модели по выбранной вами метрике.
8. Получить рекомендации для нового пользователя, совпадают ли они с лучшими фильмами?
9. Поставьте оценку какому-нибудь фильму (который вы знаете и можете поставить оценку) и получите рекомендации, насколько они качественные по вашим ощущениям? Сделайте это для фильма с негативной оценкой и для фильма с позитивной оценкой.
10. Добавляйте оценки и посмотрите, как изменяются рекомендации фильмов. Соответствуют ли они вашим предпочтениям? Есть ли недостатки у системы? Сколько нужно оценок для того, чтобы рекомендации стали релевантными? (в этом пункте добавляйте оценки в том числе из интересного вам жанра для пункта 11)
11. Построить рекомендательную систему по подвыборке - выбрать интересный вам жанр. Изменились ли рекомендации? Стали лучше\хуже?
12(*). сделать самостоятельное исследование и выяснить, как добавить нового пользователя\фильм в систему без переобучения всей модели, описать архитектуру такого решения
Анализ временных рядов
1. Постановка задачи.
2. Экспоненциальное сглаживание.
3. Стационарность. SARIMA. Выбор признаков во временных рядах.
4. Применение моделей машинного обучения
Домашние задания: 1
ДЗ
Предсказание временных рядов. 1. Скачать датасет Х.
2. Используя модель ARIMA из лекции, перебором подобрать наилучший набор параметров.
3. Написать реализацию модели Хольта-Уинтерса (без использования готовых методов из библиотек)
4. Натренировать одну из ML моделей на предсказание значения временного ряда.
Алгоритмы на графах
Социальные сети, выделение сообществ
АБ тестирование
1. Тестирование гипотез. Постановка задачи.
2. Терминология, мощность, статистическая значимость.
3. Параметрические методы: t-критерий, 1p, 2p proportion.
4. Непараметрические методы bootstrap
Методы оптимизации
SGD, модификации SGD
Нейронные сети и глубокое обучение
Простейшие нейронные сети и метод обратного распространения ошибки.
1. Начальные сведения о нейронных сетях.
2. Теорема об универсальной аппроксимации.
3. Алгоритм обратного распространения ошибки.
Обучение нейронных сетей
1. нейронные сети обзор,
2. алгоритм обратного распространения ошибки,
3. стохастический градиентный спуск для оптимизации функции потерь,
4. GPU и нейронные сети,
5. нейронные сети in action: pytorch vs tensorflow vs keras
6. примеры задач, решаемых нейронными сетями
Домашние задания: 1
ДЗ
Простые НС и метод обратного распространения ошибки. 1. Реализовать полносвязную сеть: два скрытых слоя с функцией активации ReLU, на выходе softmax по количеству классов (задается как параметр).
2. Обучить НС на модельный датасет "make_moons" из skelarn. Визуализировать разделяющую поверхность.
3. Обучить НС на датасете MNIST.

Сверточные нейронные сети ч.1
1. Структура сверточных сетей.
2. Пример на MNIST (Pytorch).
3. Обзор Pytorch.
4. Примеры на Pytorch (усложняем сеть, увеличиваем точность).
Сверточные нейронные сети ч.2
1. Функции активации.
2. Регуляризация (BatchNorm, Dropout)
3. Инициализация весов.
4. Модификации SGD.
Сверточные нейронные сети ч.3
1. Ансамблирование.
2. Аугментация данных, transfer learning.
3. Использование предобученных сетей.
Домашние задания: 1
ДЗ
Сверточные сети на Pytorch. 1. Реализовать сверточную сеть на mnist (например, нейронная сеть из второго занятия по сверточным сетям) на Pytorch, поэкспериментировать с ее гиперпараметрами, сравнить результаты.
2. Написать слой BatchNorm(кастомный) и добавить его в НС.
3. Написать оптимизатор RMSProp(кастомный) и сравнить с обычным SGD.
Рекуррентные сети ч.1
1. Простой вариант: RNN.
2. LSTM, GRU.
3. Примеры для текста (языковая модель).
Рекуррентные сети ч.2
1. Механизм внимания: пример на переводе, на картинке. Типы внимания.
2. Пример: Image captioning.
Домашние задания: 1
ДЗ
Рекуррентные сети на Pytorch. 1. Реализовать language model.
2. Выполнить задачу NER на датасете ConLL2003.
Примеры работы глубоких НС
1. GAN
2. VAE
3. style transfer
Проектная работа
В рамках курса предусмотрена защита проекта.

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

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

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

Преподаватель

Михаил Павлов
Работает ведущим разработчиком-исследователем в ООО «Дипхаклаб»

Закончил МГУ им. М.В.Ломоносова в 2009 (химия). Кандидат физ.-мат. наук (МГУ, 2013)

Опыт в отрасли: 4 года статистические методы, 2.5 года машинное обучение

Имеет публикации на воркшопах NIPS и AAAI symposium по темам, связанным с обучением с подкреплением.
Неоднократно занимал призовые места в конкурсах и хакатонах по обучению с подкреплением.

Область интересов: машинное обучение, обучение с подкреплением.

F.A.Q.: Наиболее часто задаваемые вопросы:

Нужно ли оплачивать обучение до Дня открытых дверей, если я хочу гарантированно попасть в группу?
Да, мы рекомендуем заранее оплатить обучение, чтобы гарантированно попасть в группу. В период проведения Дня открытых дверей резко возрастает количество желающих обучаться, поэтому может случиться так, что к окончанию Дня открытых дверей мест в группе не останется
Кто будет проводить День открытых дверей?
Проводить День открытых дверей будет преподаватель курса.
Как принять участие в Дне открытых дверей?
Для того, чтобы принять участие в Дне открытых дверей, оставьте свой e-mail в поле регистрации на мероприятие. Перед началом Дня открытых дверей мы пришлем вам ссылку, пройдя по которой, вы сможете присоединиться к вебинару.
Какие вопросы будем обсуждать на Дне открытых дверей?
На дне открытых дверей мы поговорим о проекте OTUS (о программе курса, почему мы не принимаем в группы новичков, почему учиться у нас интересно, но сложно), карьерных перспективах выпускников (почему вероятность карьерного роста у лучших студентов стремится к 100%), учебном процессе (оплатах, оценке знаний, сертификатах и прочих аспектах). Также ведущий мероприятия с радостью ответит на все ваши вопросы.