Введение

Недавно мы с командой наткнулись на то, что не смогли договориться, кто или что такое «девелопер». Один сказал, что это предприниматель, который занимается созданием новой недвижимости; другой – что так модно назвать программного разработчика; финансовый директор сказал, что это аналитик, разрабатывающий стратегии развития компании, а рекламщик – фанат фотографии – с пеной у рта доказывал, что это проявитель для снимков.

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

Если Вы подумали, что ошиблись: и вместо портала о финансах и аналитике попали в лингвистический онлайн-институт, то это не так. Вы попали как раз по адресу.

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

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

С этого дня SF Education – это единственный финансовый онлайн-институт с лингвистическим уклоном!))

Data Science vs Machine Learning

Сегодня поговорим о науке о данных и машинном обучении. А точнее об ученых по данным и инженерах машинного обучения (к специалистам, создающим лекции для станков ЧПУ, эта профессия не имеет никакого отношения).

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

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

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

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

– Кто такой Data Scientist?
– Статистик? 
– Типа того. 

Наука данных, в самом общем смысле – это область автоматизированной статистики в форме моделей, которые помогают в классификации и прогнозировании результатов. 

Вот основные навыки, необходимые для работы с данными:

  • Языки программирования: Python или R;
  • SQL;
  • Алгоритмы машинного обучения.

Языки программирования необходимы для целостного исследования данных. С помощью программных манипуляций можно выудить из Big Data (да и не очень big data) много больше выводов и закономерностей, чем глядя двумя даже самыми умными глазами на тысячестрочные таблицы. К тому же, это универсальный профессиональный язык. На нем можно общаться с коллегами. Но это высший уровень мастерства.

SQL, может показаться, больше нужен аналитикам. Но ученые по данным и есть своего рода аналитики.  Если Вы работаете в бизнес-среде, то большинство наборов данных на блюдечке не предоставляются и приходится создавать свои собственные — с помощью SQL. Сейчас существует множество систем, использующих SQL, например, PostgreSQL, MySQL, Microsoft SQL Server T-SQL и Oracle SQL. Это схожие формы одного и того же языка запросов, размещенные на разных платформах. Поскольку они очень похожи (по крайней мере, в базовом наборе функций), наличие в активе любого из них полезно и поможет легко адаптироваться к иной форме SQL.

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

В целом, Data Scientist может многое. Но основными функциями являются:

  • Сбор и очистка данных;
  • Визуализация данных;
  • Работа с методами неструктурированного управления данными;
  • Разработка программных компонентов для автоматизации процессов;
  • Построение моделей и прогнозирование.

Кто такой инженер машинного обучения?

Machine Learning – это область, состоящая из целого набора методов, позволяющих изучать и обрабатывать наборы данных без вмешательства человека. Это достигается с помощью сложных алгоритмов и методов, таких как регрессия, кластеризация, метод Байеса и многое другое. 

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

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

Навыки, необходимые для инженеров машинного обучения:

  • Основы информатики;
  • Статистическое моделирование;
  • Оценка данных и моделирование;
  • Понимание и применение алгоритмов;
  • Обработка естественного языка;
  • Проектирование архитектуры данных.

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

То есть как область Machine Learning активно развивается в отрыве от Data Science, так и DS включает в себя другие разделы.

На рисунке показано, как соотносятся две эти области.

Сходства

Зачастую ученые по данным хорошо знакомы с методами машинного обучения и сами выполняют роль инженеров ML.

Все это благодаря тому, что и те, и другие имеют в своем арсенале следующие основные навыки: 

  • Python или R;
  • SQL;
  • GitHub;
  • Знание концепции обучения и анализа данных.

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

Обе вакансии требуют умение программирования на высоком уровне и знание языка Python (или R) и, как правило, системы контроля версий, совместного использования кода и запросов извлечения через GitHub.

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

Различия

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

В чем особенности каждой области?

Наука о данных

— фокусируется на статистике и алгоритмах;
— неконтролируемых и контролируемых алгоритмах;
— регрессии и классификации;
— интерпретирует результаты;
— представляет и сообщает результаты.

Машинное обучение

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

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

Резюме

Вопрос разделения профессиональных навыков стоит довольно остро. Конечно, работодатели хотят видеть в своих коллективах «универсальных» солдат, способных и компьютер обучить, и компанию озолотить. (и стены в зале совещаний покрасить и коробки в архив отнести…).

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

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

Мы, конечно, за многогранность и саморазвитие! Но мешать котлеты с мухами – не самая лучшая идея.

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

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

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

Научиться анализировать и автоматизировать сложные алгоритмы аналитических моделей можно на курсе «Machine Learning» от SF Education!

Автор: Алексанян Андрон, эксперт SF Education