• 2 ноября 2018, пятница
  • Ярославль, Октябрьский переулок, 3

Тренинг Алексея Зиновьева "Машинное обучение на BigData-проектах"

Регистрация на событие закрыта

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

Другие события организатора

2215 дней назад
2 ноября 2018 c 11:00 до 19:00
Ярославль
Октябрьский переулок, 3

Обычно на проекте имеется бэкенд написанный на Java при помощи таких фреймворков, как Spark, Kafka, Hadoop, Ignite. Эти фреймворки имеют встроенные ML/DL решения разного качества, и многие команды мечутся между использованием Python-библиотек и их интеграцией с остальной экосистемой и тотальным использование Spark MLlib для решения всех задач. Тренинг подготовлен на основе опыта и типичных граблей, по которым раз за разом ходят Java-разработчики, далекие от мира машинного обучения. В ходе тренинга будет live coding, разбор и решение практических задач, работа с Spark/Ignite/Flink, обсуждение производительности систем.

Для кого этот тренинг

Java и Scala — разработчики, которые начинают работу на BigData — проектах или планируют начать работать в ближайшем будущем, в запасе у которых несколько добротно написанных бэкендов.

Также тренинг может быть полезен для Python / R — разработчиков, которые планируют работать в тесной связке с Big Data — командами в качестве Data Scientist.

Даже если вы C#/C++ разработчик — приходите, все скелеты проектов будут выданы, проблем со сборкой не будет, а дальше будем работать с API фреймворков.

Необходимые знания:

  • базовые знания Linux,
  • знания Java и SQL,
  • плюсом будет опыт работы с Hadoop/Spark/Kafka

 

О чем тренинг?

Решение задач при помощи алгоритмов машинного обучения (machine learning) или глубокого обучения (deep learning) перестает быть занятием для PhD в Computer Science и становится типичным базовым требованием в вакансии Data Engineer.

 

Проверьте количество вакансий на hh, если вам интересна востребованность
https://hh.ru/search/vacancy?text=d...
https://hh.ru/search/vacancy?text=m...

Обычно на таком проекте имеется бэкенд написанный на Java или Scala при помощи таких фреймворков, как

  • Spark
  • Kafka
  • Hadoop
  • Ignite
  • Flink

Многие из этих фреймворков имеют встроенные ML/DL решения разного качества и удобства использования, и многие команды мечутся между использованием Python-библиотек и их интеграцией с остальной экосистемой и тотальным использование Spark MLlib для решения всех задач.

Я на протяжении нескольких последних лет, создаю цепочки машинного обучения (ML Pipelines) полного цикла от потребления данных до дообучения моделей на порциях новых данных, а также являюсь активным контрибутором ML фреймворков в вышеперечисленных инструментах.

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

В ходе тренинга будет много взаимодействия с участниками, live coding-а, мы решим несколько практических задач трансформации и анализа данных, поработаем с самой свежей версией Spark/Ignite/Flink, обсудим вопросы повышения производительности полученных решений.

 

Автор тренинга

Алексей Зиновьев тренер по Java/BigData в компании EPAM, с Hadoop/Spark и прочей бигдатой дружит с 2012 года, форкается и пуллреквестит с 2014, рассказывает с 2015. Особенно любит текстовые данные и большие графы. Несет бигдату в массы в группе https://vk.com/big_data_russia

 

Видео выступлений доступны на странице лекториума.

 

Подробное описание тем

Продолжительность: 8 часов (4 часа лекций + 4 часа практики)

  1. Машинное обучение для джавистов
    • Типичные задачи машобуча
    • Обучение с учителем и без
    • Задача кластеризации объектов
    • Задача классификации объектов
    • Этапы работы с данными
    • Этапы работы с моделью
    • Что такое бустинг?
    • Насколько “глубоко” глубокое обучение?
    • Обучение в режиме реального времени
    • В какие задачи лучше не пихать машинное обучение
  2. Практическое задание 1. Работа с Weka
  3. Локальное машинное обучение на Java
    • Метод ближайших соседей
    • Популярные библиотеки машинного обучения на Java
    • Возможна ли интеграция с Python — экосистемой?
    • Как хранить данные для обучения?
  4. Практическое задание 2. Кластеризация с Apache Commons
  5. Основы машинного обучения в кластере Spark
    • Краткое введение в Spark
    • Основные инструменты разработки
    • DataFrame API
    • Основные типы данных: Vector, Labeled Point & Rating
    • Распределенные матрицы
    • Классификация и кластеризация со Spark ML
    • Возможности Spark ML
    • Немощь и недостатки Spark ML
  6. Практическое задание 3. Решающие деревья со Spark ML
  7. Пайплайн машинного обучения со Spark ML
    • Загрузка данных
    • Очистка данных
    • Подготовка фич
    • Выбор фич
    • Тренировка машинного обучения
    • Оценка модели
    • Выбор наилучшей модели в ходе кросс-валидации
    • Экспорт модели
    • Ансамбль моделей
    • Слияние моделей
  8. Практическое задание 4. Создание пайплайна для задачи-сюрприза
  9. Пайплайн машинного обучения с Ignite ML
    • Как тренироваться, если данные лежат в Ignite — кэше
    • Особенности “ленивой” тренировки
    • Partitioned Datasets в Ignite ML
    • Паритет по алгоритмам со Spark в релизе 2.7
    • Ансамбли моделей
    • Бустинг
  10. Онлайн обучение
    • Возможности Spark ML
    • Грабим данные из Kafka
    • Интеграция с Flink и Storm
    • Flink ML и его возможности
    • Дообучение моделей в Apache Ignite
  11. Глубокое обучение
    • Перцептрон и нейросети
    • Автокодировщики
    • RNN, CNN, LSTM
    • DL4J: библиотека с нейросетями
    • Что такое TensorFlow и как это готовить?
    • Интеграция Spark c TensorFlow
    • Интеграция Ignite c TensorFlow
  12. Практическое задание 5. Решаем задачу распознавания с DL4j

 

Что нужно иметь на тренинге?

  • ноутбук с 8 GB RAM
  • IDEA Community edition
  • Scala + Sbt plugins для IDEA или умение работать с Java + Maven
  • собираемый HelloWorld проект [будет предоставлено тренером за неделю до тренинга]
  • скачанный заранее датасет [будет предоставлено тренером за неделю до тренинга]

Регистрация

Рекомендуемые события

Организуете события? Обратите внимание на TimePad!

Профессиональная билетная система, статистика продаж 24/7, выгрузка списков участников, встроенные инструменты продвижения, личный кабинет для самостоятельного управления и еще много чего интересного.

Узнать больше