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 можно разбить на пять блоков:
- Математика
- Язык программирования
- Алгоритмы машинного обучения
- Deep Learning
- Отдельные специализации
Рассмотрим каждый из них более детально.
Математика
Для начала давайте разберемся, нужна ли вообще математика в работе с Data Science и Machine Learning. Коротким ответом будет: да, нужна. Безусловно, есть много примеров того, как успешные Data Scientists занимают призовые места на Кaggle-соревнованиях, не имея при этом технического образования. Но даже они согласятся, что знание математики дает значительное преимущество в работе с Data Science.
Несмотря на то, что почти все алгоритмы реализуются в библиотеках Python и R, понимание базовых математических концепций значительно упростит вашу учебу и выполнение прикладных задач. Кроме того, в большинстве статей о машинном обучении содержатся математические выкладки, читать которые без знаний математики будет затруднительно.
Для успешной работы минимально нужно понимать три раздела математики:
- Основы линейной алгебры
- Основы математического анализа (интегрирование, производные и частные производные)
- Основы теории вероятностей и математическая статистика
Язык программирования
Для работы с данными вы должны уметь программировать. Например, чтобы загрузить данные, распарсить, синтезировать новые признаки или воплотить в жизнь любую другую вашу идею. Основным языком программирования большинства 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.
Отдельные специализации
Отдельные специализации в машинном обучении можно проходить, когда вы изучили и материалы и решили несколько прикладных кейсов. Если подытожить, ваше обучение может выглядеть следующим образом:

Сложно ли выучить Data Science
Все зависит от вашего бэкграунда и склада ума. С хорошо развитыми аналитическими способностями и знанием математики ваш путь в Data Science будет довольно простым. Если вы на данный момент учитесь в школе или в университете, старайтесь участвовать в математических олимпиадах. Они помогут сформировать базис аналитического мышления и значительно облегчат освоение профессии в будущем.
Если же решили перейти в Data Science из другой сферы, я бы рекомендовала решать практические задачи на Kaggle. Решайте их самостоятельно, разбирайте решения других людей — все это помогает развивать логику и аналитику. Обратите внимание на блоги различных Data Scientists, YouTube-каналы с разбором и описанием того, как они строили модель, какую логику вкладывали в решение.
Кроме того, в свободном доступе есть много данных, на которых можно практиковаться. Возьмите, к примеру, статистику по заболеваемости COVID-19 и попробуйте найти закономерности (такой конкурс недавно проводили на Kaggle). Вы можете посмотреть на чужие хорошие решения, разобрать логику и постепенно улучшать свои знания алгоритмов. При постоянной практике и наличии аналитического мышления очень скоро вы начнете делать первые успехи в Data Science.
Что почитать
Хотя профильная литература может помочь в вашем обучении, не забывайте, что технологии развиваются очень быстро, а информация в книгах устаревает. Для успеха в Data Science важна практика, понимание предметной области, задач и инструментов, которыми владеете.
И все же советую почитать:
- Hands-on Machine Learning with Scikit-Learn and TensorFlow;
- Deep Learning (Adaptive Computation and Machine Learning series);
- arXiv — ресурс с научными статьями не только по Machine Learning, но и по другим наукам, в том числе фундаментальным.
Все про українське ІТ в телеграмі — підписуйтеся на канал DOU
Как освоить машинное обучение
Мы является свидетелями развития новейших технологий, таких как наука о данных, машинное обучение, облачные вычисления, блокчейн и искусственный интеллект. Многие компании переходят на эти технологии. Если вы собираетесь стать программистом, то изучение любой из них критически важно.
Что такое машинное обучение
Машинное обучение — это технология, которая с помощью данных и алгоритмов позволяет машине предсказывать будущее на основе данных за прошедший период и постепенно повышать свою точность.
Прежде чем изучать какой-либо предмет, необходимо развить интерес к нему. Начните с мотивации, посвящая этому хотя бы один час в день. Изучать теоретическую часть важно, но не меньшее внимание стоит уделять решению практических задач. Чтобы освоить МО самостоятельно, не обязательно записываться на дорогостоящие курсы. Все можно найти бесплатно на YouTube и других онлайн-платформах.
С чего начать
Я осваивала машинное обучение, просматривая образовательные видео на YouTube. Кроме того, я прошла несколько сертификационных курсов на Udemy (бесплатные купоны на них можно получить в Telegram).
Вот темы, которые я изучила для того, чтобы освоить машинное обучение:
- Python.
- Математические концепции.
- Библиотеки Python.
- Предварительная обработка данных.
- Алгоритмы машинного обучения.
1. Python
Прежде всего, необходимо сконцентрироваться на овладении языком программирования. Для машинного обучения обычно изучают Python и R. Я советую выбрать Python — этот язык подходит для начинающих, поскольку он более прост и читабелен. Специалисту МО не обязательно знать Python досконально, достаточно усвоить базовые понятия.
Я изучала Python в приложении SoloLearn. Это был бесплатный курс ориентированный на новичков и охватывающий практически все уровни языка. После этого я научилась писать некоторые программы на Python.
2. Математические концепции
Не пугайтесь, услышав слово “математика”. Как и в случае с языком программирования, вам не понадобятся глубокие математические знания. Достаточно изучить основные понятия этой науки. Машинное обучение охватывает некоторые темы из линейной алгебры, статистики и теории вероятности. Постарайтесь понять и запомнить некоторые статистические формулы.
Вы, вероятно, задаетесь вопросом, зачем нужно изучать математику для машинного обучения? Дело в том, что алгоритмы МО строятся с использованием математических концепций. После того, как вы изучите статистику и теорию вероятности, машинное обучение покажется вам намного интереснее.
3. Библиотеки Python
Язык Python содержит множество встроенных библиотек для машинного обучения. Наиболее популярные из них — NumPy, Pandas, Matplotlib и Seaborn.
- NumPy используется для математических и статистических функций.
- Pandas — для работы с наборами данных, например для извлечения и удаления их содержимого.
- Matplotlib и Seaborn — для визуализации данных.
Изучение этих библиотек может стать очень увлекательным. Вам понравится!
Многие обучающие видео доступны на YouTube бесплатно. Можно посмотреть любой гайд по работе с наборами данных.
4. Предварительная обработка данных
Переходим к следующему шагу — изучению процесса подготовки данных. Как я уже отмечала, машинное обучение связано с большими наборами данных. Прежде чем применять алгоритмы МО, данные нужно подготовить. Они могут содержать нулевые значения, дубликаты и ошибки.
Курс на Udemy под названием Machine Learning A-Z™: Hands-On Python & R In Data Science охватывает почти все разделы машинного обучения.
5. Алгоритмы машинного обучения
Теперь можно приступить к освоению алгоритмов машинного обучения. Следует обратить внимание на алгоритмы контролируемого обучения, неконтролируемого обучения и обучения с подкреплением. К ним относятся:
- линейная регрессия;
- логистическая регрессия;
- дерево решений;
- случайный лес;
- метод опорных векторов;
- метод K-ближайших соседей;
- алгоритм Apriori.
Прежде всего, вам необходимо понять назначение и принципы работы алгоритмов. Затем переходите к изучению особенностей кодовой базы каждого из них. Важно усвоить математические концепции, лежащие в основе этих алгоритмов. Это поможет лучше понять каждый из них.
Много практики
Последнее, что стоит добавить к списку шагов, — практика. Она очень важна для тех, кто хочет стать хорошим специалистом в машинном обучении. Без нее все предыдущие шаги не имеют смысла. Продолжайте практиковаться, посещая хакатоны и соревнования на Kaggle. Работайте с большими наборами данных.
Практика совершенствует нас!
- Обнаружение вредоносного ПО с помощью алгоритмов МО на облачной платформе Google
- 6 алгоритмов машинного обучения, которые должен знать каждый исследователь данных
- Будет ли ИИ главенствовать? Большой вопрос
Читайте нас в Telegram, VK и Дзен
Если бы мне пришлось снова изучать Data Science с нуля, как бы я это сделал теперь?
Пару дней назад я вдруг задумался, если бы мне пришлось заново изучать machine learning и data science, с чего бы я начал? Самое смешное, что путь, который я себе описал, кардинально отличался от того, что было на моем старте в свое время.
Конечно, мы все учимся по-разному. Некоторые предпочитают видео, другие — просто книги, а многим людям необходимо платить за курсы, чтобы чувствовать дополнительную нагрузку и давление. И это нормально, самое важное — учиться и получать удовольствие от этого.
Итак, я разработал путь, который, с моей точки зрения, является наиболее эффективным, в случае, если бы мне пришлось изучать Data Science с нуля.

Как вы видите, мой любимый способ учиться — постепенно переходить от простого к сложному. Это значит начать с практических примеров, а затем перейти к более абстрактным понятиям.
Микро-курсы Kaggle
Я знаю, что начинать с этого вам может показаться странным, и многие предпочли бы начать с самых тяжелых основ и математических видеороликов, чтобы полностью понять, что происходит за каждой моделью ML. Но, с моей точки зрения, начинание с чего-то практичного и конкретного помогает лучше рассмотреть картину в целом.
Кроме того, эти микро-курсы занимают около 4 часов каждый, так что достижение этих маленьких целей заранее добавляет дополнительный мотивационный импульс.
Микро-курсы Kaggle: Python
Если вы знакомы с Python, то можете пропустить эту часть. Здесь вы изучите основные понятия Python, которые помогут вам в освоении Data Science. В Python будет много того, что все еще будет казаться загадкой. Но по мере продвижения вы все узнаете и поймете на практике.
Микро-курсы Kaggle: Pandas
Pandas дадут нам навыки, чтобы начать манипулировать данными в Python. Я считаю, что 4-часового микро-курса и практических примеров достаточно, чтобы иметь представление о том, что можно сделать.
Микро-курсы Kaggle: визуализация данных
Визуализация данных, пожалуй, является одним из наиболее недооцененных навыков, однако она очень важна. Визуализация данных позволит вам полностью понять данные, с которыми вы будете работать.
Микро-курсы Kaggle: введение в machine learning
Здесь начинается самое интересное. Вы будете изучать основные, но очень важные концепции, чтобы начать тренировать модели машинного обучения. Концепции, которые позднее будут предельно необходимы.
Микро-курсы Kaggle: machine learning средний уровень
Это дополнение к предыдущему, но здесь вы впервые будете работать с качественными переменными и иметь дело с нулевыми полями в ваших данных.
Остановимся здесь на минутку. Должно быть ясно, что эти пять микрокурсов не будут линейным процессом, вам, вероятно, придется изучать их параллельно. Когда вы работаете в Pandas, вам, возможно, придется вернуться к курсу Python, чтобы вспомнить некоторые вещи, которые вы изучили, или перейти к документации Pandas, чтобы понять новые функции, которые вы видели в курсе «Введение в машинное обучение». И это отлично, в этом и заключается настоящее обучение.
Теперь, если вы осознаете, что эти первые 5 курсов дадут вам необходимые навыки для проведения анализа данных (EDA) и создания базовых моделей, которые позже вы сможете улучшить, то сейчас самое время начать с простых соревнований Kaggle и применить на практике то, что вы узнали.
Соревнование Kaggle Playground: Титаник
Здесь вы будете применять на практике то, что вы узнали на вводных курсах. Возможно, поначалу это будет немного пугающе, но суть не в том, чтобы быть первым в списке лидеров, а в том, чтобы учиться. В этом конкурсе вы узнаете о классификации и соответствующих метриках для таких типов проблем, как точность, отзыв и достоверность.
Соревнование Kaggle Playground: цены на жилье
В этом конкурсе вы будете применять регрессионные модели и узнавать о соответствующих метриках, таких как RMSE.
К этому моменту у вас уже есть большой практический опыт, и вы почувствуете, что можете решить множество задач, но есть вероятность, что вы не до конца понимаете, что происходит за алгоритмами классификации и регрессии, которые вы использовали. Так что именно здесь мы должны рассмотреть основы того, что мы изучаем.
Многие курсы с этого начинаются — рассмотрения основ, но, по крайней мере, я усваиваю эту информацию лучше, если до этого имел дело с практикой.
Книга: Data Science с нуля
Сейчас мы на мгновение отделимся от Pandas, scikit-learn и других библиотек Python для практического изучения того, что происходит «за» этими алгоритмами.
Эта книга довольно приятна для чтения, в ней приведены примеры Python по каждой из тем, и в ней не так много математики, которая является фундаментальной для этого этапа. Мы хотим понять принцип алгоритмов, но, с практической точки зрения, мы не хотим быть демотивированными, читая множество математических обозначений.
Здесь я приглашаю вас продолжать участвовать в более сложных соревнованиях Kaggle, участвовать в форумах и исследовать новые методы, которые вы найдете в решениях других участников.
Онлайн курс: Машинное обучение от Andrew Ng
Здесь мы встретим многое из того, что уже изучили, но мы увидим, как это объясняет один из лидеров отрасли, и его подход будет более математическим, поэтому он станет отличным способом понять наши модели еще глубже.
Стоимость: бесплатно без сертификата — $ 79 с сертификатом
Книга: элементы статистического обучения
Теперь начинается тяжелая математическая часть. Представьте, что если бы мы начали отсюда, какой нелегкий был бы путь, и мы, вероятно, давно бы сдались.
Цена: $ 60, официальная бесплатная версия на Стэнфордской странице.
Онлайн курс: Deep learning от Andrew Ng
К этому времени вы, наверное, уже сталкивались с глубоким обучением и поиграли с некоторыми моделями. Но здесь мы собираемся изучить основы того, что такое нейронные сети, как они работают, и научиться внедрять и применять различные существующие архитектуры.
Цена: $ 49 / месяц
На данном этапе, многое зависит от ваших собственных интересов, вы можете сосредоточиться на регрессии и проблемах временных рядов или, возможно, углубиться в Deep learning.
Машинное обучение: что посмотреть и почитать начинающим специалистам

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

Книги


The Elements Of Statistical Learning
Trevor Hastie
Издательство: Springer, 2009
Справочник по большинству классических методов и алгоритмов машинного обучения на английском языке. Давно стал для меня настольной книгой на работе, раз в пару месяцев заглядываю и освежаю в памяти какие-то детали. Интересно еще следить за ходом мысли — какой метод из какого вытекает. Это помогает понять, зачем вообще его использовать.

«Создаем нейронную сеть»
Тарик Рашид
Издательство: «Вильямс», 2017
Предыдущая книга посвящена классическим методам, а вот изучение нейросетевых технологий, на мой взгляд, лучше всего начинать с этой. Здесь много наглядных материалов на тему того, как работают конкретные архитектуры сетей, а еще понятно излагаются базовые принципы, которые закладывались в эту технологию. Вывести их самому, по примерам в открытом доступе, довольно сложно.

Quantifying The User Experience
Jeff Sauro
Издательство: Morgan Kaufmann, 2012
Неплохая книга про метрики и продукт. Когда вы получаете практический опыт обучения ML-моделей, техническая составляющая постепенно отходит на второй план. В фокусе оказывается анализ различных метрик, которые меняются под действием продуктов на основе этих моделей. Советую начать разбираться с этими процессами как можно раньше: они часто бывают такими же сложными, как и разработка самих моделей.

«Конечномерные векторные пространства»
Пол Халмош
Издательство: Государственное издательство физико-математической литературы, 1963
Необычная рекомендация, во время учебы в МФТИ читал эту книгу как сборник стихов. Написано и переведено очень интересным языком — пример того, как в математике нужно формулировать мысли и связи. Учит, на мой взгляд, именно этому. А еще корректирует структуру мыслительного процесса, будет полезна многим и вообще читается как учебник по черной магии.


Валерий Лобанов
Data Scientist, специалист в области динамического ценообразования, Spacecode
В ML нужно начинать не только с теории и практики. Важно попутно заполнять пробелы в знаниях математики.

Курсы


Курс лекций «Машинное обучение», Соколов Е. А.
На мой взгляд, нет ничего лучше для освоения базового курса ML. Много информации в максимально понятном формате как по классическому ML (github), так и по DL (github) с разбором реальных приложений.

Репозиторий ШАД Яндекса
Загляните сюда, если предыдущий курс покажется легким. Здесь есть отдельные материалы по каждой области DS.

«Байесовские методы машинного обучения», Ветров Д. П.
Курс лекций, который отлично подходит для расширения кругозора.

Книги и статьи


«Глубокое обучение. Погружение в мир нейронных сетей»
Николенко С. И.
Издательство: «Питер», 2019
Отличная книга, чтобы узнать о ML в целом. За последние годы она уже стала классикой по ML на русском языке, читается легко — почти как художественная.

«Вероятность. В 2 книгах. Книга 1»
Ширяев А. Н.
Издательство: МЦНМО, 2021
Поможет освежить математическую базу, а лекторий ФПМИ заполнит пробелы в других областях.

«Компьютерный анализ данных: теория обучения машин»
Червоненкис А. Я.
Издательство: «Яндекс», 2009
Немного устаревшая, но классическая книга одного из основателей советской школы ML. Подходит для расширения кругозора.

Статьи на arxiv, paperswithcode и т. д.
Для тех, кто разобрался с предыдущими материалами и все понял.


Татьяна Савельева
CEO, Yandex SupportAI
Хорошо бы «заботать» фундамент, понять базовые вещи, а потом читать статьи, которые вышли за последний месяц. В сфере глубокого обучения все меняется примерно каждые полгода. Здесь нужно выучить ствол дерева и ветви, а листья постоянно обновлять, руководствуясь любопытством и пользой для конкретных задач.

Курсы


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

Книги


«Думай медленно… решай быстро»
Даниэль Канеман
Издательство: «АСТ», 2021
Перед тем как разбираться с искусственным мозгом, стоит разобраться со своим и начать с себя.

«Глубокое обучение»
Ян Гудфеллоу
Издательство: «ДМК Пресс», 2017
Это хардкор, для тех, кто хочет разобраться в глубинах.


Константин Гаврильчик
Руководитель двух команд машинного обучения «Модерация» и «Десант», ЦИАН

Курсы


Deep Learning course at Skoltech / Yandex School of Data Analysis
Поставил слеш, потому что это почти один и тот же курс от одних и тех же экспертов. Домашние задания курса подходят новичкам, но будут полезны даже middle-специалистам. Позволяют понять, как DL работает на низком уровне, а не на уровне формул и черных ящиков-фреймворков.

Deep Learning Specialization, Andrew Ng
Серия лекций, автор хорошо объясняет на пальцах. Отлично помогают понять, что вообще происходит в тех или иных задачах и областях. Несколько лет назад я читал оригинальные статьи по Contrastive Loss, Triplet Loss, ArcFace, когда пытался разобраться с Metric Learning, но упорно не понимал, о чем вообще идет речь. Эти лекции очень пригодились, и статьи пошли намного легче!

Книги


«Математическая статистика»
Натан А. А., Горбачев О. Г., Гуз С. А.
Издательство: «МЗ Пресс», 2005
Думаю, далеко не лучшая книга по статам, не самая простая, но в свое время она очень помогла мне на одном из курсов Физтеха.

«Алгоритмы: построение и анализ»
Автор: Т. Кормен
Издательство: «Вильямс», 2021
Мне эта книга помогла научиться по-другому мыслить и, соответственно, писать намного более эффективный код в реальных продакшен-системах. На моей практике за последний год даже несколько раз пришлось имплементировать достаточно нетривиальные алгоритмы на графах.
Помимо всего прочего, я бы рекомендовал просто читать статьи. Сегодня уже можно найти огромное количество классических материалов. Конечно, чтобы в них разобраться, нужно иметь неплохую математическую базу, но тем не менее это позволяет намного больше узнать об ML. А еще иногда полезно почитать исходники кода популярных библиотек: xgb, lgb, тот же sklearn, — открывает много нового. Правда, это уже вряд ли подойдет новичкам.


Глеб Ершов
Senior Data Analyst, AliExpress Russia
Начинающим специалистам я бы советовал планомерно разбираться в теории и параллельно смотреть какие-то практические вещи.

Курсы


«Deep Learning на пальцах»
Лекции, которые читают магистрантам НГУ и студентам CS центра Новосибирска.

«Прикладная статистика»
Курс лектора НИУ ВШЭ Филиппа Ульянкина на GitHub.

Книги


«Математическая статистика»
Чернова Н. И.
Издательство: Новосибирский государственный университет, 2007
Это то, что точно стоит почитать из множества хороших учебников по статистике.

«Теория вероятностей»
Боровков А. А.
Издательство: URSS, 2021
А эту книгу я бы порекомендовал, если с мат. аппаратом уже все хорошо. Как мерило собственных знаний можно использовать вот эту шпаргалку: желательно понимать все, что там написано.
Когда вам окончательно станет понятно, что такое лосс-функция, можно начать разбираться, как работают нейронки, например. Есть очень понятная методичка по их основным принципам от того же Филиппа Ульянкина. А дальше читайте «Глубокое обучение. Погружение в мир нейронных сетей» Николенко и «Глубокое обучение» Гудфеллоу. Последнюю скромно называют Библией нейронных сетей.


Екатерина Малышева
Senior Data Scientist, S7 TechLab
Список материалов отсортирован от простых к сложным — как я бы сама изучала.

Курсы


Специализация «Машинное обучение и анализ данных» от МФТИ и Яндекса
Вводный курс машинному обучению и анализу данных от МФТИ и Яндекса с примерами из бизнеса. Все материалы есть на GitHub.

Курс лекций «Машинное обучение», Соколов Е. А.
Хорошая основа для прохождения собеседований.

Samsung Research Russia Open Education
Несложные курсы от Samsung по CV и NLP на Stepik. Много практики, приятно проходить. Рекомендую «Нейронные сети и компьютерное зрение» и «Нейронные сети и обработка текста».

Курс лекций «Машинное обучение», Воронцов К. В.
Зубодробительные, но очень полезные лекции Воронцова по статистическим тестам. Подходят для более глубокого погружения в тему и изучения не только стандартных методов.

Книги и статьи


Блог Александра Дьяконова
Полезные статьи с более детальным погружением в отдельные темы. Советую читать после курсов Соколова. А потом можно приступить к «Глубокому обучению» Гудфеллоу — книге об основах машинки и глубокого обучения. Хорошо подходит для плавного вкатывания в DL.