- BrainTools - https://www.braintools.ru -

Что бы я сделал, если бы сегодня начинал учить Data Science – ML?

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

Из-за этого многие новички начинают обучение [1] с энтузиазмом, но через пару месяцев теряют интерес [2]. Причины могут быть разные: слишком много теории, мало практики, нет чёткого плана или понимания, зачем вообще всё это нужно.

Эта статья — не очередной «гайд по ML для новичков». Это мой личный взгляд на то, как бы я подошёл к обучению, если бы начинал с нуля уже сегодня , учитывая свой опыт [3] работы в крупных компаниях, проваленные проекты, ошибки [4] и победы.


Кратко об авторе

Я уже успел отработать в Яндексе, ВК, Сбере, отучиться в МФТИ и на протяжении всей карьеры занимаюсь компьютерным зрением [5] и ML. В начале пути наделал уйму ошибок:

  • Долго не мог определиться с направлением

  • Вообще не понимал, что от меня буду ждать на собесах

  • Боялся конкуренции: казалось, что вакансий мало, а требования слишком высоки для новичков

  • Разочарование, когда казалось, что я ничему не научился за последние несколько месяцев

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

Определись с мотивацией

Первое, что нужно сделать, прежде чем погружаться в Machine Learning или Data Science — понять свою цель. Это одна из самых бурно развивающихся областей в IT. Объём знаний необходимых для прохождения собеседований огромен, и он растёт год за годом.

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

Легко не будет — но это того стоит

Готовься много и упорно зубрить. Готовься к тому, что обучение потребует времени, усилий и терпения. Никаких «за месяц станьте ML-инженером» — это миф. Но если подойти правильно, можно пройти путь от новичка до Junior или Middle специалиста за реальное время, с реальным результатом.

Сядь и реши, точно ли ты хочешь в эту сферу? Может лучше пойти в более привычное направление разработки на Go/Python?
Найди свою собственную долгосрочную мотивацию [6], зачем ты будешь изучать машинное обучение в течение полугода-год, до нахождения первой работы

Моя история: как я нашёл свою мотивацию [7]

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

Детекция объектов

Детекция объектов
Сегментация изображения

Сегментация изображения

Для меня это был настоящий вау-эффект .

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

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

Навык 1

И самое первое, что вам необходимо освоить это конечно же Python.

Без базового понимания синтаксиса и структуры кода ты не сможешь ни обучить модель, ни обработать данные, ни даже запустить чужой проект с GitHub.

Многие новички пытаются сразу прыгнуть в теорию ML или нейросети, но спотыкаются уже на уровне элементарного скрипта, который загружает датасет.
Именно поэтому начинать нужно с Python — не с глубокого погружения в ООП или метаклассы, а с практического минимума, который позволит тебе двигаться дальше.

Синтаксис — это основа. Ты должен свободно ориентироваться в конструкциях for, if, while, уметь писать функции. Эти вещи встречаются буквально в каждом скрипте, будь то предобработка данных или логика [8] обучения модели.

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

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

😇 Вот мой список лучших материалов для старта:

😎 Проверь себя – Вопросы с собеседований:

  1. Что произойдёт, если изменить список внутри кортежа, который был ключом в словаре?

  2.  Какая сложность по времени у вставки/поиска в списке vs в связном списке?

  3. Как работает декоратор @property и зачем он нужен?

  4.  В чём разница между __new__ и __init__?

Освоение этого навыка займёт у вас скорее всего от 2 до 4х недель

❌ Игнорируй бесполезные советы

Одна из самых частых ошибок новичков — это следование советам, которые звучат логично, но на практике ведут к выгоранию и потере мотивации [14].
В интернете полно статей вроде: «Как стать ML-инженером за 6 месяцев», где первым пунктом стоит «выучи матанализ, алгоритмы и LeetCode».
Не делай этого.

Алгоритмы? Не сейчас

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

Математика потом

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

Это не означает, что математика [15] вообще не нужна. Она важна, когда ты переходишь на более продвинутый уровень — например, начинаешь оптимизировать архитектуры нейросетей или разрабатывать свои собственные модели.
Но в начале пути она чаще становится преградой, чем помощником.

LeetCode — это не про ML

LeetCode — отличный инструмент для подготовки к интервью в крупные IT-компании.
Но он не учит тому, что реально требуется в работе ML-инженера .
Решение сложных задач на бинарные деревья, перестановки и оптимизацию памяти [16] — это скорее тест на стрессоустойчивость, чем реальный навык для работы с данными.

Если ты хочешь просто начать делать проекты, разбираться в моделях и понимать, как устроена реальная работа — забудь про LeetCode на первые пару месяцев.

Что делать вместо всего этого?

Переходи к практике, как можно быстрее. Решай и реализуй реальные практические МЛ задачи, как только ты увидишь первые результаты, твой мозг [17] получит положительно закрепление

Ты потрудился – получил результат

А значит стал ближе к своей цели – получению оффера

Навык 2

Когда ты освоишь Python, следующий шаг — понять, что такое Machine Learning и как он работает на практике .

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

Основные типы задач:

  1. Классификация — определение категории. Например: спам или не спам, кошка или собака на картинке.

  2. Регрессия — предсказание числа. Например: сколько будет стоить квартира, или сколько времени пользователь проведёт на сайте.

  3. Кластеризация — поиск групп в данных. Например: выделение групп пользователей с похожим поведением [18], если заранее неизвестно, какие они.

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

Как понять, хороша ли модель?

Не все модели одинаково полезны. Иногда кажется, что всё работает отлично, а на деле — модель просто угадывает.

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

Например:

  • accuracy — процент правильных ответов. Но он обманчив, если классы несбалансированы (например, 95% случаев — “нет”, и модель всегда отвечает “нет”).

  • precision и recall — покажут, насколько точна модель при поиске нужного ответа.

  • F1-score — удобная свёртка этих двух метрик.

  • Для регрессии часто используют MAE или RMSE — они говорят, насколько в среднем модель ошибается в своих числовых предсказаниях.

Эти метрики несложно понять, но очень важно уметь их использовать правильно.

😇 Вот мой список лучших материалов для старта:

😎 Проверь себя – Вопросы с собеседований:

  1. Нужно ли нормировать данные прежде, чем подать в их в линейную регрессию?

  2. Когда использовать MAE, а когда MSE?

  3. Что такое boxplot и как найти выбросы в данных, метод 3-х сигм?

  4. Возможно ли такое, что Precision=19%, Recall=92%, Accuracy=10%?

  5. Что такое F2 мера, F3 мера, F100500 мера?

Освоение этого навыка займёт у вас скорее всего от 3х до 5 месяцев

Навык 3

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

  • Отличие left join от cross join

  • Что такое транзакции

  • Составление сложных запросов с разными условиями

Освоить SQL на достаточном для собеса уровне можно за 1-2 недели

Навык 4

И последний, четвертый навык — это как можно скорее переходить к практике и заниматься реальными задачами. Именно через практическую работу вы быстрее всего приблизитесь к тому, чтобы стать настоящим, уверенным в себе [23] специалистом.

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

Идеи для пет-проектов легко найти на YouTube и GitHub. Там уже есть огромное количество материалов, примеров и готовых решений, которые другие люди создавали во время своего обучения и делились ими с сообществом. Это сильно облегчает начало пути и помогает не терять мотивацию [24].

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


Про интерактивный сборник материалов по ML [25]

Про CLIP модели и базу к Computer vision собесам [26]

Вопросы с ML | Computer vision собесов
Читай у меня в телеграм канале

Автор: boterxxx

Источник [28]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/16233

URLs in this post:

[1] обучение: http://www.braintools.ru/article/5125

[2] интерес: http://www.braintools.ru/article/4220

[3] опыт: http://www.braintools.ru/article/6952

[4] ошибки: http://www.braintools.ru/article/4192

[5] зрением: http://www.braintools.ru/article/6238

[6] мотивацию: http://www.braintools.ru/article/9537

[7] мотивацию: http://www.braintools.ru/article/9384

[8] логика: http://www.braintools.ru/article/7640

[9] 6-ти часовой курс по Python от Ильина: https://www.youtube.com/watch?v=wDmPgXhlDIg

[10] Курс на Stepik, если формат с тестами удобнее: https://stepik.org/course/67/promo#toc

[11] Про хэш-мапу: https://www.youtube.com/watch?v=rPp46idEvnM

[12] Декоратор с аргументами: https://www.youtube.com/watch?v=KlBPCzcQNU8&t=41s

[13] Контекстный менеджер: https://www.youtube.com/watch?v=FkhnVkl0EgM

[14] мотивации: http://www.braintools.ru/article/7075

[15] математика: http://www.braintools.ru/article/7620

[16] памяти: http://www.braintools.ru/article/4140

[17] мозг: http://www.braintools.ru/parts-of-the-brain

[18] поведением: http://www.braintools.ru/article/9372

[19] Основы pandas: https://www.youtube.com/watch?v=sF5AcBsOewU

[20] Линейная регрессия: https://youtu.be/KJA9A1q9l7E?si=tBxJsYayX1Z2e8NS

[21] Метрики классификации: https://youtu.be/7dcVmFHyuUY

[22] Регуляризация: https://youtu.be/4WcHxtYy3_8?si=M0G-7dN2CX4fWUR0

[23] уверенным в себе: http://www.braintools.ru/article/4166

[24] мотивацию: http://www.braintools.ru/article/4230

[25] Про интерактивный сборник материалов по ML: https://t.me/Ai_bolno_ml/30

[26] Про CLIP модели и базу к Computer vision собесам: https://habr.com/ru/articles/908168/

[27] t.me: https://t.me/AI_bolno_ml

[28] Источник: https://habr.com/ru/articles/918582/?utm_campaign=918582&utm_source=habrahabr&utm_medium=rss

www.BrainTools.ru

Rambler's Top100