Начало занятий 2 ноября

Разработчик BigData

Общая стоимость: 36000 ₽
В месяц: 9000 ₽
4 часа в неделю
5 месяцев
О курсе

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

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

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

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

Программа курса
1
модуль
2
модуль
3
Модуль
4
Модуль
5
Проект
Для разработки в области анализа данных необходимо понимать, как устроены основные алгоритмы, какая у них сложность и скорость работы, сколько требуется ресурсов для их успешной работы, область применимости.В первом модуле программы разбираются все базовые алгоритмы машинного обучения. Изучение проходит на сгенерированных данных, не требующих времени на преобразование и доработку. Разъясняется значение и влияние параметров алгоритмов на результат. Каждый этап обучения сопровождается наглядной визуализацией.Будут рассмотрены алгоритмы: линейная регрессия, логистическая регрессия, деревья решений, knn, SVM, k-means, EM, иерархическая кластеризация, DBScanВ результате слушатели уверенно освоят базовые алгоритмы анализа данных и инструменты для базового анализа данных на Python
Занятие 1: Базовые инструменты анализа данных в Python.
Базовые инструменты анализа данных в Python.Подготовка к курсу. Git, окружение Python. Обзор курса.Введение в Python, Numpy, Pandas, Sklearn. API Sklearn. Обзор других инструментов анализа данных - R, Octave.Что такое DS, ML, основная терминология, классы решаемых задач.

ДЗ

Реализация библиотеки. Реализация библиотеки для подсчета статистик и преобразования датасетов в формате csv. Отработка инструментов для преобразования данных в pandas и sklearn.
Занятие 2: Вводная в математические операции.
Интеграл, производная, их свойства, вероятность, плотность вероятности, мат.ожидание, дисперсия, ковариация, матричные вычисления, определитель, обратная матрица и т.п.
Занятие 3: Визуализация
Визуализация на matplotlib, seaborn, plotly, bokeh. Визуализация геоданных на карте мира. Приемы для визуализации плотных данных. Визуализация для поиска корреляций

ДЗ

Построение визуализаций по данным
Занятие 4: Линейная регрессия
Постановка задачи регрессии. Линейная регрессия. Полиномиальная регрессия. Проблема многомерных пространств и переобучения на примере регрессии. Проблема разреженных данных. Регуляризация. Применение линейной регрессии из sklearn на простом датасете. Оценка качества регресcии.
Занятие 5: Логистическая регрессия
Математика логистической регрессии. Мультиклассовая регрессия. Оценка качества логистической регрессии. Регуляризация. Обучение регрессии, градиентный спуск. . Применение логистической регрессии из sklearn на простом датасете.

ДЗ

Реализация алгоритма логистической регрессии. Реализация алгоритма логистической регрессии на простых данных. Оценка качества, подбор параметров модели.
Занятие 6: KNN, наивный байес
Алгоритм kNN. Влияние нормализации данных в kNN. Структуры данных для оптимизации kNN.Алгоритм наивного байеса. Байесовский классификатор, Принцип Maximum A-Posteriori
Занятие 7: kMeans, EM
Обучение без учителя. Алгоритмы кластеризации, области применения. k-means. Оценка качества обучения, ограничения и подбор алгоритма для задачи.Байесов подход к вероятности. Алгоритмы с lower-bound. Em алгоритм.

ДЗ

Реализация EM-алгоритма. Реализация EM-алгоритма на простых данных. Оценка качества кластеризации.
Занятие 8: Иерархическая кластеризация, DB-Scan
Иерархическая кластеризация, DB-Scan. Optics. Спектральная кластеризация.
От сгенерированных данных переходим к данным в табличном виде. Такие данные встречаются в конкурсах по анализу данных, а также могут быть собраны, например, напрямую из баз данных. Для применения алгоритмов машинного обучения обычно такие данные требуют дополнительных преобразований.Во втором модуле рассматриваются задачи преобразования и отбора признаков, вопросы подготовки данных для использования в машинном обучении.Также будут рассмотрены более сложные алгоритмы в анализе данных - понижение размерности, определение выбросов в данных, построение ансамблей моделей.
Занятие 9: Feature engineering
Отбор признаков. Преобразование исходных данных в подходящий для модели формат. Преобразование признаков для повышения точности модели. Выбор части признаков.

ДЗ

Преобразование набора данных и подбор фич.
Занятие 10: Поиск выбросов в данных
Занятие 11: Уменьшение размерности
Principle component analysis, t-sne.

ДЗ

Применение снижения размерности для использования в модели.
Занятие 12: Методы оптимизации
SGD, модификации SGD
Занятие 13: Деревья решений
Классификация и регрессия с помощью деревьев решений. Алгоритм CART. Обзор алгоритмов. Выбор оптимального сплита, суррогатный сплит. Обзор реализации в sklearn.

ДЗ

Реализация алгоритма дерева решений на простых данных. Реализация некоторых эвристик в деревьях решений..
Занятие 14: Ансамбли моделей
Случайный лес. Бустинг, бэггинг, стекинг, блендинг.
Занятие 15: Бустинг
Xgboost, catboost, lightgbm, Стекинг, блендинг

ДЗ

Применение бустинга для построения лучшей модели.
Занятие 16: SVM, Support vector machine
Разделяющая поверхность с максимальным зазором. Формулировка задачи оптимизации для случаев линейно-разделимых и линейно-неразделимых классов. Сопряженная задача. Опорные векторы. SVM для задач классификации и регрессии. Kernel trick. Теорема Мерсера. Примеры функций ядра.
Чаще всего в окружении, в котором приходится работать, данные не готовы для анализа, у них произвольный формат и много ошибок. Например, это данные из баз знаний, открытых API, данные из различных информационных систем партнеров.В третьем модуле рассматриваются вопросы сбора и очистки данных, разбираются типичные задачи бизнеса. Например, это предсказание ctr, ltv. Дополнительно рассмотрим специальные алгоритмы анализа данных - это работа с временными рядами, рекомендательными системами, текстами, графами.
Занятие 17: Анализ текстовых данных
Сбор данных из открытых источников. Очистка данных, подготовка данных для анализа. Задача обработки текста. Введение, обзор задач, токенизация, лемматизация. Обзор библиотек для Python для работы с русским и английским языками. TF-IDF.

ДЗ

Реализация процесса сбора данных через API. Преобразование текста, подготовка текста для анализа. Применение машинного обучения для предсказания характеристики в собранных данных
Занятие 18: Анализ текстовых данных
Выделение объектов в тексте. Word2vec. Анализ тональности. Автоматическое реферирование и тэгирование, классификация текстов.
Занятие 19: Рекомендательные системы
Коллаборативная фильтрация, контентная фильтрация, гибридные подходы. Метрики оценки качества рекомендации.

ДЗ

Применение алгоритма рекомендаций для датасета фильмов.
Занятие 20: Временные ряды
Постановка задачи. Экспоненциальное сглаживание. Стационарность. SARIMA. Выбор признаков во временных рядах. Применение моделей машинного обучения
Занятие 21: Latent Dirichlet Allocation

ДЗ

Применение LDA для категоризации текстов.
Занятие 22: Алгоритмы на графах
Социальные сети, выделение сообществ.
Занятие 23: Нейронные сети, обучение нейронных сетей
Перцептрон. Линейный и нелинейный случай. Алгоритм обратного распространения ошибки. Регуляризация в нейронных сетях. Обзор библиотеки tensorflow. Сверточные сети и обработка изображений.

ДЗ

Реализация алгоритма обратного распространения ошибки и применение простой сети на mnist.
Занятие 24: Сверточный слои, каскады, визуализация признаков
Обзор задач и архитектур нейронных сетей в анализе изображений, текста. Использование готовых сетей на практике.
Большую часть времени любого разработчика процессов анализа данных занимает разработка самого процесса по преобразованию данных на разных этапах. Предполагаются этапы сбора, очистки, агрегации данных, построения модели и предсказания характеристик. В четвертом модуле рассматриваются возможности построения надежных процессов преобразования данных.В более крупных компаниях данные превышают возможности одной типичной разработческой машины. Появляется потребность работы с алгоритмами, обрабатывающими данные в потоке, а также с кластером. В четвертом модуле разбираются процессы преобразования данных, слои данных, потоки данных и различные способы хранения и преобразования таких данных на кластере. Разберем возможности построения моделей на кластере. К концу модуля слушатели смогут уверенно использовать стек технологий Hadoop: писать задачи на MapReduce с использованием Java или Hadoop Streaming, использовать Hive и Spark для быстрого преобразования данных, расчета статистик, построения моделей на кластере.
Занятие 25: Процесс CRISP-DM. Выбор хранилища, запросы к базе (Реляционная, нереляционная). Большие данные и параллельные вычисления.
Кластер, hdfs, запросы к hdfs. Map Reduce, Java, Python, Необходимость в кластерных вычислениях. Парадигма MapReduce. Инструменты работы с большими данными. Hadoop, Spark, обзор других компонентов экосистемы. Развертывание кластера Hadoop локально для выполнения учебных примеров. Выполнение учебных примеров на кластере.

ДЗ

Настройка окружения для локальной работы с кластером. Выполнение на локальном кластере набора учебных задач..
Занятие 26: Vowpal Wabbit для обучения линейных моделей на одной машине
Занятие 27: MapReduce на Java, Hadoop Streaming - MapReduce на Python, bash

ДЗ

Реализация алгоритма с использованием MapReduce.
Занятие 28: Пайплайны. Способы выстроить поток задач, обеспечить выполнение. Отказоустойчивость, мониторинг.
Занятие 29: Слои данных для оптимизации процессов использования данных. Hive.

ДЗ

Реализация алгоритма с использованием Hive.
Занятие 30: Организация хранения данных для решения задач машинного обучения
Занятие 31: Spark
Spark как инструмент быстрого доступа к данным. Spark как инструмент для машинного обучения.

ДЗ

Реализация алгоритма с использованием Spark.
Занятие 32: Обзор решений для аналитики больших данных
Vertica, Clickhouse. Основные преимущества и недостатки, для хранения и обработки данных.
Агрегация, управление, эксперименты, анализ, визуализация и BI
В рамках курса предусмотрена защита проекта. Проект представляет из себя программный комплекс, решающий задачу извлечения и использования знаний из реальных данных с использованием машинного обучения. Проект готовится в течение месяца и включает в себя следующие этапы:- Постановка задачи. Предлагается самостоятельно найти предметную область и обосновать применение в ней машинного обучения- Разработка данных. Одно из требований к проекту - Использование данных из открытых источников. Необходимо разработать процесс сбора и очистки данных- Поиск алгоритма и модели для решения задачи. Необходимо выполнить подготовку данных, выбрать алгоритм и подобрать параметры для построения модели- Использование модели для достижения поставленной цели. Необходимо реализовать применение разработанной модели- Построение процесса. Решение задачи необходимо оформить в единый процесс по обработке данных от источника до предсказания, не требующий участия эксперта- Обоснование процесса
Преподаватели
Ксения Стройкова
В области информационных технологий работает с 2012 года.
Опыт программирования 5 лет. Владеет языками Python (в том числе стек библиотек для научных вычислений), Java (применение на кластере Hadoop). Работает с технологиями MapReduce, Hive, Spark.
Программист в отделе анализа данных в департаменте рекламных технологий Mail.Ru. Занимается разработкой и внедрением процессов и моделей по обработке данных для использования в рекламе.
В настоящее время участвует в разработке хранилища данных для использования в рекламных сервисах, участвует в разработке системы для сегментирования аудиторий.

Преподает курс “Алгоритмы интеллектуальной обработки больших объемов данных” в Техносфере Mail.ru
Закончила Технопарк Mail.Ru
В 2014г. закончила МГТУ им. Н. Э. Баумана по специальности программное обеспечение ЭВМ и Информационные технологии.
Работодатели