программист-исследователь

Data scientist: программист-исследователь

Ежедневно через серверы компании Mail.Ru Group проходят сотни терабайт данных. Эту информацию нужно уметь анализировать и строить на её основе различные модели и прогнозы. Этим занимаются специалисты по анализу данных и машинному обучению.

Реальный герой

Николай Анохин
Николай Анохин
программист-исследователь Mail.Ru Group, специалист в области машинного обучения и обработки больших данных.

Что такое Data Science

Есть такой пример: люди, которые покупают хлеб и масло, с высокой вероятностью купят и сыр. Чтобы убедиться в этом наверняка, следует проанализировать поведение большого количества покупателей. Знание этой закономерности позволяет мерчендайзерам в супермаркетах класть такие продукты недалеко друг от друга. Это очевидный пример, но существует и множество других, не столь очевидных закономерностей, которые можно выделить, анализируя данные.

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

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

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

В Mail.Ru Group в одном из таких кластеров находится порядка 80 серверов, каждый из которых имеет сотни гигабайт оперативной памяти и несколько десятков процессоров, так что суммарный объем данных жестких дисков этого кластера составляет 1,5 петабайт.

Петабайт (ПБ, ПБайт) — единица измерения количества информации, равная 1015 байт (1024 терабайт). Это намного больше, чем память компьютеров, с которыми мы имеем дело в повседневной жизни.

Где используется Data Science

  • Автоматическая диагностика заболеваний
  • Автоматический перевод текстов
  • Помощь в принятии решений о выдаче кредитов
  • Автопилоты и системы автомобильной навигации
  • Персональные рекомендации музыки, фильмов и книг
  • Рекламу, которую пользователи видят на сайтах, выбирают специальные алгоритмы, анализирующие поведение людей в интернете: какие страницы они посещают, что делают в соцсетях, что читают и смотрят. Всё это нужно для того, чтобы узнать их интересы и определить различные характеристики (такие как уровень дохода и социальное положение) и в конечном итоге предложить им рекламу, которая их заинтересует.
  • Категоризация новостей — это когда темы автоматически определяются из текста новости и странице с новостью присваивается категория (спорт, финансы и т.д). Новость появляется в соответствующем разделе агрегатора.
  • Пользователи отмечают некоторые письма как спам. На основании этой информации строится модель, которая потом используется для автоматического определения спама во всех новых письмах, которые получают пользователи.
  • Машинное обучение используется для того, чтобы под конкретный поисковый запрос и пользователя найти наиболее интересные страницы и правильно разместить их в поисковой выдаче. Идеальная ситуация — когда страница, которую пользователь ищет, оказывается первой в результатах.
Безусловно, алгоритмы не смогут полностью заменить человека. Машины научатся прекрасно понимать, что изображено на картине, и принимать многие рациональные решения, но никогда не смогут сами поднимать философские вопросы, заниматься живописью и создавать музыкальные шедевры.

Знания и навыки

Что должен знать и уметь Data Scientist:
  • 1 Любить математику
  • 2 Хорошо программировать
  • 3 Знать предметную область
  • 4 Уметь понятно объяснять
  • 5 Знать английский язык
Есть такая шутка: Data Scientist — это человек, который умеет программировать лучше, чем статистик, и знает статистику лучше, чем программист.

Data Science — это прикладная область науки, в которой требуется хорошее знание математики, начиная от математического анализа и аналитической геометрии и заканчивая теорией вероятностей и статистикой.

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

TCP/IP
Java
(Hadoop)
Операционные системы
Python
(Numpy, Scipy, Scikit, Matplotlib)
Языки программирования
C++
(XGBoost, Vowpal Wabbit, BigARTM)

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

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

Без знания английского языка тоже практически невозможно войти в эту профессию. Большинство книг и документации написаны на английском и на русский не переводились.

В Data Science нужно идти людям, которые не чувствуют в себе сил или интереса заниматься фундаментальной теоретической наукой, но при этом хотят заниматься научными программированиями и практической околонаучной работой, которая приносит пользу людям и деньги — бизнесу.

В Европейской организации по ядерным исследованиям (ЦЕРН) с помощью методов машинного обучения анализируют невероятные объёмы данных, которые создаются в результате проводимых там физических экспериментов. Специалисты ЦЕРН даже измеряют их в «фейсбуках». Например, 100 «фейсбуков» — это объем данных, стократно превышающий размер базы данных Facebook.

Образование

Образование в области Data Science в России можно получить во многих ведущих университетах, а также в рамках программ дополнительного образования, которые организуют компании, занимающиеся исследованиями в этой области.

  • МГУ
    факультет вычислительной математики и кибернетики
  • МФТИ
    кафедра анализа данных
  • ВШЭ
    факультет компьютерных наук
  • Иннополис
    магистратура по направлению Big Data

Кроме этого, на факультете ВМК МГУ имени М.В. Ломоносова открыта специальная образовательная программа Mail.Ru Group «Техносфера», где студенты изучают способы интеллектуального анализа большого объема данных, программирование на С++, многопоточное программирование и технологии построения систем информационного поиска.

«Программируем коллективный разум»

Здесь доступно объясняются основы обработки данных. Большой плюс книги — практические примеры с использованием реальных данных из таких веб-приложений как Facebook, Audioscobbler и других.

«Mining of massive datasets»

Книга и одноименный онлайн-курс на Coursera от авторов из Стэнфорского университета. Основной упор делается на техники, которые работают наиболее эффективно и хорошо масштабируются.

  • онлайн-курсы ведущих мировых университетов
  • канал Machine Learning
  • соревнования по анализу данных
  • ежеквартальная конференция специалистов
Какой ты герой?

Какой ты герой?

Узнай, какая интернет-специальность подойдёт тебе больше
Пройти тест