ВымпелКом (Билайн) corporate blog

Почему для того, чтобы работать с Big Data, надо быть немного сумасшедшим

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

Big Data стала модной. Это слово используют по поводу и без. У нас — одна из самых больших выборок данных, имеющая огромный коммерческий потенциал для применений внутри ВымпелКома. Вопрос в том, что конкретно с этим морем событий делать.

Когда несколько лет назад мы только стартовали направление больших данных в Билайн, проблемы были чёткие и понятные. Нужна была вычислительная мощность и СХД — у нас через некоторое время появился современный кластер «молотилок». Нужны были обучающие выборки — напряглись и создали, где-то — силами сотрудников со всей страны. Нужны были люди — и на интересную задачу пришли наши профессионалы, имеющие десятки научных публикаций за рубежом по Data Mining и машинному обучению. Нужно было проверить выводы на практике «в поле» — ездили. Всё решается.

Наше новое «бутылочное горлышко» — вопрос того, как найти больше людей, которые хорошо умеют делать реальные аналитические продукты. И мы знаем, что в эту проблему упёрлись почти все те, кто занимается Data Mining в стране. Банки, страховые, другие операторы, химики, геологоразведка, автоконцерны, R&D и так далее.

В чём суть проблемы?

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

А про людей история в том, что даже навык успешного решения задач на Kaggle часто не является достаточным условием для эффективной работы. На практике ждёт множество граблей — выбрали не ту метрику качества алгоритма, неправильно сделали механику кампании — все это выливается в то, что увлекательные задачи машинного обучения не приносят компаниям денег.

Есть еще один факт — ресурсов и книг по машинному обучению и анализу данных нынче очень много, однако, на практике среди всего этого применяется только 20%. О многих вещах просто не пишут в книгах. Совсем. Потому что нужна практика.

Как решить такую задачу

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

Сейчас парадигма меняется. И мы решили сделать на базе Билайн Университета отдельный курс по Big Data, открытый для всех (без доступа к коммерческим данным, конечно ). В последний год мы сталкиваемся с тем, что у специалистов этой сферы нет практики. Наша методика — выбирать тех, кто понимает базовые вещи и дообучать внутри компании — работает. Теперь мы хотим сделать кое-что большее.

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

Итак, мы решили сделать максимально практический курс по анализу данных, направленный на подготовку специалистов в области Data Mining, готовых не просто решать задачи на Kaggle, а приносить с помощью Data Mining нашей или своим компаниям прибыль. Это самое главное — уметь ставить цель и доводить её до результата.

Что за курс?

Курс состоит из 15 занятий. На каждом занятии мы будем разбирать небольшой кусок теории и тут же применять это в форме практических занятий. Мы разберем множество примеров задач, в том числе с платформы соревнований Kaggle, а также покажем, как эти задачи используются в реальной жизни.

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

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

Программа

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

Идеи вводной части более подробно

Введение в машинное обучение I

Теория:

Основные понятия машинного обучения;

Классификация задач;

Понятие объекта и признака;

Извлечение, отбор и преобразование признаков.



Практическая часть:

Знакомство с основными библиотеками Python для анализа данных (в том числе визуализации) и машинного обучения: NumPy, SciPy, Pandas, Matplotlib;

Обзор Jupyter Notebooks как средства подачи материала, включающего код;

Знакомство с прочими инструментами анализа данных — язык R.



Введение в машинное обучение II

Теория:

Оценка качества алгоритмов;

Понятие переобучения и борьба с ним;

Процесс разработки алгоритма под конкретную задачу;

Практическая часть.



Практическая часть:

Знакомство с библиотекой машинного обучения Scikit-Learn.


Обучение с учителем I

Теория:

Введение в supervised learning;

Задачи классификации и регрессии;

Линейные методы классификации;

Машина опорных векторов.



Практическая часть:

Примеры решения задач классификации и регрессии — наборы данных UCI, прогнозирование склонности к оттоку.


Обучение с учителем II

Теория:

Нейронные сети;

Построение ансамблей алгоритмов;

Boosting & Bagging.



Практическая часть:

Примеры решения задач классификации и регрессии — наборы данных UCI, прогнозирование прибыли ресторана.


Обучение без учителя

Теория:

Введение в unsupervised learning;

Задача кластеризации — алгоритм k-means;

Иерархическая кластеризация;

Спектральная кластеризация;

Плотностные методы кластеризации;

Методы снижения размерности пространства признаков: кластеризация, метод главных компонент (PCA);

Поиск аномалий в данных.



Практическая часть:

Пример поиска аномалий в данных;

Решение задачи телематики (определение профиля вождения), кластеризации городов по социально-экономическим показателям.


Обнаружение знаний в данных (Pattern Mining)

Теория:

Поиск частых множеств (товаров) и ассоциативные правила;

Алгоритмы Apriori и FP-growth;

Поиск частых, сильно разделяющих паттернов (frequent diverse patterns и emerging patterns);

Поиск паттернов с ограничениями (constraints);

Поиск частых последовательностей;

Поиск частых подграфов.


Практическая часть:

Знакомство с инструментом SPMF;

Анализ последовательностей на примере демографических данных.



Анализ социальных сетей

Теория:

Введение в теорию графов;

Классические алгоритмы на графах;

Поиск в ширину и поиск в глубину;

Алгоритм PageRank;

Применение машинного обучения в графовых задачах;

Алгоритмы поиска связных компонет в графе;

Обнаружение групп в соцсетях;



Практическая часть:

Решение задачи рекомендации друзей в социальных сетях (Link Prediction);

Обзор инструмента Gephi.



Рекомендательные системы

Теория:

Введение в коллаборативную фильтрацию;

Item-Based и User-Based подходы к задаче рекомендации. Выбор меры сходства;

Оценка качества рекомендательной системы;

Рекомендации на основе ассоциативных правил;

Методы на основе матричной факторизации (SVD, PLSA, LDA, BMF);

Мультимодальная кластеризация и рекомендации в фолксономиях.



Практическая часть:

Case-study: рекомендация радиостанций;

Пример построения рекомендательной системы фильмов с Apache Spark MLlib на данных MovieLens.



Обработка текстов

Теория:

Задачи обработки естественного языка (NLP);

Предобработка текстов: лемматизация, стемминг, синтаксический и морфологический анализ;

Модели представления текстов: мешок слов, VSM, синтаксические деревья;

Современные методы: word2vec, topic modeling.



Практическая часть:

Поиск ключевых слов, определение сходства документов, кластеризация текстов, поиск похожих слов.


Введение в анализ больших данных

Теория:

Распределенное хранение данных;

Инструменты анализа больших данных;

Реализация алгоритмов машинного обучения в парадигме MapReduce;

Data Mining на больших данных;

Машинное обучение: подход MapReduce;

Машинное обучение: онлайн-обучение;

Стохастический градиентный спуск;

Концепция вычислений в памяти и устойчивых распределенных наборов данных (RDD);

Обзор инструмента Apache Spark.



Практическая часть:

Анализ логов с Apache Spark.


Машинное обучение на больших данных, анализ больших графов

Теория:

Обзор библиотек MLlib и GraphX Apache Spark;

Реализация алгоритмов на графах в парадигме MapReduce;

Методы оценки сходства больших графов (соцсетей).



Практическая часть:

Пример решения задачи классификации со Spark MLlib;

Обзор графовых алгоритмов в Spark GraphX.



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

Пример лайфхака с занятий

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

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

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

Резюме

Приходите. Будет хардкор. Выборки для заданий будут сформированы из общедоступных открытых данных, свои данные приносить можно по желанию (но не гарантируется их использование). Детали про курс и цена на bigdata.beeline.digital. В конце курса у вас будет рекомендация, сертификат и небольшое портфолио, если вы начинали с нуля.

Предвидя первый комментарий – да, это дорого. Но мы уверены в результате и уровне знаний преподавателей.

Ссылки

Comments 11

    +8
    А почему так дёшево? Всего 100к за возможность посидеть вместе с 49ю другими людьми в зале на лекции.
      +13
      Делаю вывод, что главным ответом на вопрос, как с помощью Big Data заработать денег, в России является «Учить других простейшим методам ML и пакетам за большие деньги»
        +1
        Если хотите заработать так и говорите — Гербала курсы по биг дата…
          +3
          В данный момент на Coursera идет курс по машинному обучению. Бесплатно.
          www.coursera.org/learn/machine-learning
            0
            На Coursera очень хорошие курсы по Big Data и мы всем очень рекомендуем их пройти. Эти курсы дают хороший кругозор, но практический опыт решения реальных задач ничем не заменишь. Мы это, в том числе, видим по тем кандидатам, которые приходят к нам на собеседование. Поэтому, мы и создали наш курс, чтобы покрыть потребность именно в практическом опыте.

            Мы рекомендуем и в ходе курса будем выкладывать ссылки на общедоступные ресурсы по изучению Машинного обучения.
            0
            Коллеги из Билайна… скажем так — чересчур «низкоуровнево технократичны». Отсюда много неувязок и критическое чувство народа «А за что, собственно?» ;)

            Публичный открытый рейтинг _влиятельности_ по русскоязычным соцсетям за сентябрь (август, июль) — как по авторам, так и по группам:
            br-analytics.ru/statistics/author_top?hub_id=3&date=201509&period_type=month&author_type=1&sortField=ER®ion_id=0

              +1
              Я тоже не хочу ипотеку брать.
                0
                Вы нашли новый способ как заработать на методах K-ближайших соседей\средних? Что вы можете рассказать такого, что не знают в университетах?
                  0
                  Коллеги, 19 октября мы запустились.
                    0
                    Первый курс стартовал, и мы набираем второй. Даты проведения: 16 ноября — 25 декабря. Подробности на bigdata.beeline.digital
                      0
                      Мы запустили второй курс и сейчас набираем третий. Старт занятий 25 января. Подробности, как обычно, на bigdata.beeline.digital

                      Only users with full accounts can post comments. Log in, please.