Hot Positions, Cool Company! NeoGames
×Закрыть

Data Science и Machine Learning: с чего начать и где учиться

Меня зовут Ольга Мажара, я преподаю «Искусственный интеллект» в КПИ им. Игоря Сикорского и являюсь Senior Java Developer в Intellias.

Я училась в КПИ на теплоэнергетическом факультете по специальности программист. В то далекое время Data Science и ML не были мейнстримом и изучались фрагментарно в рамках других курсов, таких как ИИ или математические методы. Позже, после окончания аспирантуры, преподавала машинное обучение на этой же кафедре. Параллельно работала в Samsung R&D Institute Ukraine. Многие кухонные разговоры на работе были посвящены подходам к изучению Data Science, и мне было интересно сравнивать мнение коллег и студентов.

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

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

Что такое Data Science и Machine Learning

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

Data Science специалисты занимаются исследованиями. В иностранных компаниях такой должности соответствуют позиции research-инженеров — это в большей мере математики, которые работают с теоретической частью алгоритмов и исследуют разнообразные закономерности. Machine Learning инженеры, в свою очередь, занимаются построением моделей на основе полученных данных. Но такое разделение существует лишь в теории или же только в некоторых странах.

В Украине Data Science и Machine Learning ранее использовались как слова-синонимы, сейчас же эти понятия уже начинают разделять. В наших реалиях вакансии, где необходимо знание Machine Learning, зачастую называются Data Scientist и наоборот. Поэтому, если вы хотите работать с данными, вам следует изучить и то, и другое.

Процесс обучения Data Science и Machine Learning можно разбить на пять блоков:

  1. Математика
  2. Язык программирования
  3. Алгоритмы машинного обучения
  4. Deep Learning
  5. Отдельные специализации

Рассмотрим каждый из них более детально.

Математика

Для начала давайте разберемся, нужна ли вообще математика в работе с Data Science и Machine Learning. Коротким ответом будет: да, нужна. Безусловно, есть много примеров того, как успешные Data Scientists занимают призовые места на Кaggle-соревнованиях, не имея при этом технического образования. Но даже они согласятся, что знание математики дает значительное преимущество в работе с Data Science.

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

Для успешной работы минимально нужно понимать три раздела математики:

  1. Основы линейной алгебры
  2. Основы математического анализа (интегрирование, производные и частные производные)
  3. Основы теории вероятностей и математическая статистика

Язык программирования

Для работы с данными вы должны уметь программировать. Например, чтобы загрузить данные, распарсить, синтезировать новые признаки или воплотить в жизнь любую другую вашу идею. Основным языком программирования большинства Data Science специалистов является Python.

Python сам по себе очень простой язык, в нем реализовано множество библиотек для обработки и анализа данных. Популярные ранее R и Matlab сегодня встречается все реже и реже, поэтому, если вы только начинаете осваивать Data Science, сосредоточьтесь на изучении Python.

Базовые алгоритмы машинного обучения

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

На Coursera есть хороший курс с легкой и наглядной подачей материала, который поможет разобраться во всех этих аспектах. Несмотря на то, что в этом курсе используется Octave, а не Python, вам стоит его пройти. Здесь изучите основы и принципы машинного обучения, а также получите необходимые знания по линейной алгебре. Курс не требует какой-либо предварительной подготовки и подходит всем, кто собирается изучать Data Science.

Теоретическая часть курсов на Coursera бесплатная, а практическая — платная. Но, если у вас нет возможности заплатить за практику, вы можете поискать решения других студентов и специалистов на гитхабе. Кроме того, есть различные специализированные курсы от университетов — Стэнфорда, Гарварда, Мичигана, Университета Дюка и так далее.

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

Deep Learning

Имея базовое понимание принципов машинного обучения и знание Python, можно приступить к изучению Deep Learning. Это один из разделов машинного обучения, в основе которого лежит использование нейронных сетей. Тут я рекомендую к изучению курс Deep Learning Specialization.

Отдельные специализации

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

Сложно ли выучить Data Science

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

Если же решили перейти в Data Science из другой сферы, я бы рекомендовала решать практические задачи на Kaggle. Решайте их самостоятельно, разбирайте решения других людей — все это помогает развивать логику и аналитику. Обратите внимание на блоги различных Data Scientists, YouTube-каналы с разбором и описанием того, как они строили модель, какую логику вкладывали в решение.

Кроме того, в свободном доступе есть много данных, на которых можно практиковаться. Возьмите, к примеру, статистику по заболеваемости COVID-19 и попробуйте найти закономерности (такой конкурс недавно проводили на Kaggle). Вы можете посмотреть на чужие хорошие решения, разобрать логику и постепенно улучшать свои знания алгоритмов. При постоянной практике и наличии аналитического мышления очень скоро вы начнете делать первые успехи в Data Science.

Что почитать

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

И все же советую почитать:

👍НравитсяПонравилось3
В избранноеВ избранном23
Подписаться на автора
LinkedIn

Похожие статьи




Підписуйтесь: iTunes | Google Podcast | YouTube


11 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Спасибо автору за интересную статью. Похоже, что целевая аудитория — это разработчики. А вдруг автор может порекомендовать, как ’прикоснуться к зверю’ человеку из Product Management (т.е. не предвидится прокачка матанализа и скиллов программирования)? Чтобы понимать, какие задачи можно решать с помощью DS & ML, в каком случае что лучше подходит и т.д. ?

В этом направлении огромную работу проделал Andrew Ng. Вы можете ознакомится с его сайтом www.deeplearning.ai/ai-for-everyone , где как раз описыватеся какие возможности дает DS/ML для компаний и что нужно знать нетехническим специалистам. Особенно ценными я считаю те разделы, где описывается, что ML на сегодня не может. Дополнительно есть курсы на основании этого сайта. Так же в 2018 году был выпущен AI Transformation Playbook, о котором больше можна узнать от самого автора medium.com/...​ion-playbook-58ccad4393e9. Если кратко — это инсрукция для компаний, как внедрять AI, если он им таки нужен.

Меня зовут Ольга Мажара, я преподаю «Искусственный интеллект» в КПИ им. Игоря Сикорского

Який прогрес пройшов КПІ за 10 років. Від здачі лабораторних по теорії ймовірності за ананас подарований старості до викладання ШІ.
Мож іще через 10 припинять МК48 використовувати.

припинять МК48 використовувати

Зачем?
Во-первых, он ламповый, приятный. Сейчас это очень «по-хипстерски».
Во-вторых, он проработает еще долго. В то время как все эти ваши айфоны/андройды через 5 лет использования как руду проще всего использовать.
В третьих, познание программирования на МК — это первый шаг к embedded программированию.

Цеш ещё преподаёт?

Т.е. я правильно понимаю что основное в DataSince — это математическая подготовка, в особенности теория вероятностей и мат статистика (уровень профильного высшего образования по прикладной математике) и нейронные сети для понимания как рабоают инструменты которыми оперирует специалист по машинному маркетинговому исследованию (DataSince). Программировать надо уметь на Python который применяют для извлечения данных из разнообразных сырых источников, этот язык выбран потому что он простой в освоении и с его помощью можно быстро реализовать извлечение и загрузку данных,чтобы использовать инструменты машинного анализа наподобие Apache Spark. Скриптовый язык применяется чтобы не тратить большую часть времени на непрофильную деятельность — программирование, тогда как профильная деятельность — маркетинговые исследования.

Маркетинг в data science — це як немовля в таксі: є далеко не основним клієнтом, дуже вередливе і без батьків не знає куди їхати.

Ну і програмування — тут, таки, дуже навіть профільне. Програмування — це сфера, що вже дуже давно розшаровується на різні спеціалізації і DS — одна з них.

Ну я поки що знаю три сфери практичного використання data since. Це image recognition — відверто сфера подвійного призначення (і моя улюблена). Алготрейдінг — здебільшого хіпстерскі стартапи які спекулюють валютою та цінними паперами — де факто чисте казіно. І маркетинг — де як завжди велика кількість роботи.

Я б тут розділив задачі та застосування.

Задачі можна, умовно, поділити на картинки, тексти, аудіо, решта.

Застосування ж бувають дуже різні: grammarly (тексти), ring (відео), розпізнавання голосу, автогенерування субтитрів, рекомендації товарів/відео/музики, sense.com (аналіз енергоспоживання), та ж фотофіксація перевищення швидкості, deep fake, та ще купа всього.

В суто ж маркетингу, там більшість роботи з даними не виходить за межі екселя. І хоч excel — це монстр, що перернув світ, але я б не відносив його до інструменту data science.

Подписаться на комментарии