Тема машинного обучения находится на пике своей популярности, однако новички в этой области сталкиваются с большим потоком информации, который сложно обработать. «Типичный программист» опросил 17 экспертов, какие советы они могут дать начинающим, чтобы не потеряться в море информации и погрузиться в машинное обучение достаточно быстро.
В опросе приняли участие:
- Людмила Дежкина, Solution Architect, Machine learning & AI, DataArt
- Мария Горькова, эксперт в области IT-разработок
- Анна Воеводская, эксперт по машинному обучению «Инфосистемы Джет»
- Елена Герасимова, руководитель направления Data Science в «Нетологии»
- Андрей Гаськов, ведущий инженер-программист компании True Engineering
- Дамир Заляев, старший менеджер по разработке ПО компании ICL Services
- Илья Калагин, руководитель центра когнитивных технологий «АйТеко»
- Александр Дроздов, директор по инновациям компании «Иннодата»
- Алексей Журавлев, руководитель Computer Vision Research Group ABBYY
- Михаил Хрущев, ведущий инженер-программист компании СКБ Контур
- Георгий Бабаян, CEO Elbrus Coding Bootcamp
- Дмитрий Микушин, ведущий инженер по GPU-приложениям и ML хостинг-провайдера REG.RU
- Сергей Дудников, руководитель направления Data Science компании «Хэндисофт»
- Дмитрий Пелевин, CTO, соучредитель финансовой онлайн-платформы Webbankir
- Сергей Ширкин, декан факультета Искусственного Интеллекта в онлайн-университете GeekUniversity
- Татьяна Зобнина, ведущий разработчик систем машинного обучения NAUMEN
- Михаил Сичалов, ведущий разработчик программного обеспечения Тверского технологического центра Accenture
Подробно ответы можно прочитать на сайте Tproger.
Итак, как изучать машинное обучение? Ответы экспертов обощенно можно выразить так:
Подтяните английский, ведь большая часть литературы, статей и исследований публикуется именно на этом языке. Кроме того, на английском публикуются записи в области нейронных сетей в блогах таких компаний, как OpenAI, Google и Facebook.
Познакомьтесь с Python. Хоть это и не единственный язык, используемый для машинного обучения, тем не менее, он самый популярный. Также стоит обратить на разные библиотеки вроде NumPy, SciPy, Pandas, Scikit-learn, Matplotlib/Seaborn, NLTK, которые активно используются в ML-сообществе.
Изучите/подтяните/вспомните такие разделы математики как линейная алгебра и статистика. Тут могут пригодиться следующие курсы/книги:
- курс Intro to Descriptive Statistics на Udacity;
- книга OnlineStatBook;
- курс Linear Algebra на Khan Academy;
- курс Introduction to Probability на edX.
Пройдите курсы по машинному обучению. Их можно найти на ресурсах вроде Udemy, Udacity, Coursera и даже YouTube. Вам могут пригодиться следующие курсы:
- «Машинное обучение и анализ данных» от МФТИ и Яндекс;
- Advanced Machine Learning Specialization;
- популярный курс по введению в машинное обучение от Эндрю Ына;
- «Введение в машинное обучение» от ВШЭ и Яндекс;
- Deep Learning Specialization.
Если вам больше по душе книги, вот что вы можете почитать:
- «Прикладное машинное обучение с помощью Scikit-Learn и TensorFlow. Концепции, инструменты и техники для создания интеллектуальных систем»;
- «Глубокое обучение на Python»;
- «Глубокое обучение. Погружение в мир нейронных сетей»;
- «Python и анализ данных»;
- «Python и машинное обучение. Машинное и глубокое обучение с использованием Python, scikit-learn и TensorFlow».
Общайтесь с единомышленниками. Это и мотивирует, и позволяет быстрее решать проблемы и узнавать что-то новое. Вероятно, самое большое русскоязычное сообщество по этой теме — это Open Data Science.
Закрепляйте полученные знания на практике. Это могут быть задания в ходе прохождения курсов. Также можно обратить внимание на соревновательные площадки вроде Kaggle, где можно изучить решения других участников. Наконец, никто не мешает придумать себе интересный проект и попытаться его реализовать.
Источник: Tproger, 1 мая 2019, Как выучить машинное обучение: книги, курсы, подходы — отвечают эксперты