Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Data Science является одной из самых востребованных, высокооплачиваемых и перспективных профессий в современном мире. Как следствие, конкуренция за вакансии в этой области очень высока. Если вы ищете работу в качестве Data Science Junior, подготовка к собеседованию - это один из самых важных этапов. В этой статье мы рассмотрим, что нужно изучить к собеседованию на Data Science Junior и что ждут работодатели.
Что такое Data Science и кем там можно работать
Data Science - это широкий спектр компетенций, включающих в себя сбор, хранение, обработку и анализ данных с целью выявления закономерностей, прогнозирования и оптимизации бизнес-процессов. В связи с этим в области Data Science существует множество профессий:
Data Scientist - специалист, который создаёт инструменты для решения задач бизнеса. Для этого он использует навыки анализа данных и построения моделей машинного обучения (англ. Machine Learning). Data Scientist работает на стыке трёх областей знания: статистики, машинного обучения и программирования.
Data Analyst - аналитик данных, который занимается извлечением информации из больших объёмов данных, проведением анализа и подготовкой отчетов. Он использует методы статистики и визуализации данных для того, чтобы сделать выводы и рекомендации на основе данных.
Data Engineer – специалист, который отвечает за сбор, обработку и хранение данных. В процессе работы с данными он занимается задачами, которые обозначают аббревиатурой ETL: достает данные (Extract), трансформирует и обрабатывает (Transform), загружает (Load). Его задача — организовать эти процессы в пайплайн, по которому будут двигаться потоки данных, чтобы их можно было использовать для принятия решений в компании. На заключительном этапе работы с данными дата-инженер организует базу данных так, чтобы нужную информацию в любой момент можно было поднять и использовать снова.
Machine Learning Engineer - инженер машинного обучения, который занимается разработкой, оптимизацией и реализацией моделей машинного обучения. Его задачи носят практический характер, он учит компьютер находить взаимосвязи в большом количестве данных и на их основе принимать решения.
Хоть каждая должность и кажется уникальной, на деле их обязанности часто пересекаются. В реальной работе, в зависимости от состава команды и потребностей бизнеса, часто приходится выполнять обязанности нескольких должностей (это обычно встречается в небольших компаниях). Так же, как и в работе, подготовка к собеседованию на junior позицию во многом схожа для вышеперечисленных направлений.
Какие ожидания и реалии у работодателей
Каждый работодатель хотел бы, чтобы junior мог работать без постоянного контроля и развивался под руководством тимлида. Для этого новичок должен владеть необходимыми знаниями, инструментами для выполнения текущих задач и обладать достаточной теоретической базой, чтобы постепенно предлагать собственные решения и подступаться к более сложным задачам.
На деле у кандидатов всё довольно неплохо с инструментами: большинство из них заканчивают онлайн-курсы, которых появилось бесчисленное множество на хайпе данной профессии. Они обладают неплохими знаниями SQL, Python, пробовали работать с несколькими библиотеками, умеют работать с Git и Linux. Могут решать задачи с чётко поставленным ТЗ и используют стандартные методы.
А вот фундаментальных теоретических знаний по алгебре, статистике, теории вероятностей и алгоритмам машинного обучения часто не хватает. Любой шаг в сторону является проблемой для большинства кандидатов. Хотя именно гибкости и нестандартного мышления ждут работодатели от кандидатов.
Что же делать?
Если вы хотите выгодно отличаться от основной массы кандидатов, следует уделить достаточно времени, чтобы прокачать и систематизировать свои знания по математике, машинному обучению, алгоритмам и в целом по данной профессии. Имея более глубокое понимание, вы сможете решать нестандартные и более сложные задачи, научитесь понимать, с чем вы работаете, а не просто использовать инструменты.
Процесс такого обучения занимает гораздо больше времени, но это того стоит. С высокой вероятностью вы сможете ответить почти на все вопросы вашего интервьюера и получите заветную работу в Data Science.
Как готовиться и что учить?
Наша статья направлена в основном на выпускников онлайн-школ, которые уже обладают начальными знаниями профессии и способны решать несложные задачи. Как говорилось ранее, нужно систематизировать свои знания, подтянуть теорию.
В первую очередь ключ к успеху в любом деле – это самоорганизация. Чтобы хорошо подготовиться, ведите записи того, что изучаете и решаете. Для этой задачи идеально подходит notion. Перед собеседованием будет полезно пролистать свои записи и освежить материал в памяти. Ещё один совет, связанный с записями – научитесь Tex’ать задачи по математике, это позволит держать свои записи в удобном читаемом формате. Ещё одним фактором успешной подготовки является регулярность: обязательно занимайтесь каждый день.
Для начала стоит изучить основы математического анализа, линейной алгебры и теории вероятностей. Если у вас есть бэкграунд технического ВУЗа – это уже половина успеха. Вспомнить то, что вы изучали в университете, вам будет намного проще, чем изучить математику с нуля людям, которые кардинально решили сменить профессию и с математикой не были связаны.
После изучения основ можно переходить к более сложным вещам: таким, как математическая статистика и алгоритмы машинного обучения.
Математический анализ
Математический анализ является фундаментом почти всех прикладных областей математики. Например, в основе нейронных сетей лежит понятие градиента, при оптимизации нелинейной функции вам понадобится гессиан, и, наконец, чтобы исследовать и обосновывать сходимость алгоритма обучения, понятие предела абсолютно необходимо.
Какие разделы стоит изучать:
· Множества.
· Комплексные числа.
· Пределы и производные.
· Функции одной и нескольких переменных.
· Интегралы (неопределённые и определённые).
· Дифференциальные уравнения.
· Ряды (числовые, функциональные, степенные, Тейлора, Маклорена, Фурье).
· Преобразование Фурье.
Какую литературу использовать для изучения математического анализа?
Ниже приведен список учебников, который отлично подойдет для изучения и используется на математических факультетах в университетах.
1. Архипов Г.И. Лекции по математическому анализу / Г.И.Архипов, В.А.Садовничий, В.Н.Чубариков - Москва: 1999., 695 с.
2. Зорич В.А. Математический анализ Часть 1 / В.А.Зорич - Москва: 2019., 576 с.
3. Зорич В.А. Математический анализ Часть 2 / В.А.Зорич - Москва: 2019., 688 с.
4. Кудрявцев Л.Д. Курс математического анализа Том 1 / Л.Д.Кудрявцев - Москва: 2003., 703 с.
5. Кудрявцев Л.Д. Курс математического анализа Том 2 / Л.Д.Кудрявцев - Москва: 2004., 720 с.
6. Кудрявцев Л.Д. Курс математического анализа Том 3 / Л.Д.Кудрявцев - Москва: 2006., 351 с.
Внесём небольшое уточнение: не стоит хвататься за все учебники сразу и пытаться изучить тему в каждом из них. У каждого автора есть своё видение и стиль изложения, стоит выбрать одного или двух, чьё изложение вам больше по душе.
Помимо учебников нужно использовать и задачники. Два столпа, на которых держится матанализ:
1. Демидович Б.П. Сборник задач и упражнений по математическому анализу / Б.П.Демидович - Москва: 2005., 454 с.
2.Садовничий В.А. Задачи студенческих олимпиад по математике / В.А.Садовничий, А.С. Подкозлин - Москва: 1978., 208 с.
Линейная алгебра
Уже один из первых и простейших методов анализа данных - линейная регрессия - оперирует с понятиями вектора и матрицы. После освоения нижеперечисленных тем вы сможете уверенно двигаться в сторону освоения профессии аналитика данных, не делая остановок на «неизвестных» разделах алгебры. Задачи с собеседований по алгебре у вас будут производить впечатления детских ребусов.
Какие разделы стоит изучать?
· Векторы и операции над ними.
· Системы координат.
· Матрицы, их ранги и определители.
· Системы линейных уравнений.
· Пространства (линейное, евклидово, аффинное) и их преобразования.
· Линейные операторы.
· Собственные векторы и значения.
· Билинейные и квадратичные формы.
· Самосопряжённые и ортогональные операторы.
Какую литературу использовать для освоения линейной алгебры?
Рекомендуем учебник Винберга «Курс алгебры», он покроет все темы и разделы.
Из задачников:
1. Кострикин А.И. Сборник задач по алгебре
2. Кряквин В.Д. ЛИНЕЙНАЯ АЛГЕБРА. Пособие к решению задач. и большая коллекция вариантов заданий
Теория вероятностей
Теория вероятностей пронизывает всю науку о данных. Вероятностные модели и конструкции присутствуют почти по всех алгоритмах машинного обучения. Функция штрафа в задаче регрессии или ошибка классификации опираются на понятие математического ожидания, закон больших чисел и центральная предельная теорема служат обоснованием сходимости и состоятельности многих алгоритмов и методов анализа данных.
Какие темы стоит изучить?
· Комбинаторика.
· Условная вероятность, формула полной вероятности, теорема Байеса.
· Дискретные случайные величины.
· Геометрические вероятности.
· Случайные величины, распределение случайных величин.
· Математическое ожидание непрерывных случайных величин.
· Случайные векторы.
Литература для изучения теории вероятностей:
1. А. Н. Ширяев. "Вероятность". МЦНМО, 2004. Том 1.
2. В.Феллер. ВВЕДЕНИЕ В ТЕОРИЮ ВЕРОЯТНОСТЕЙ
3. Н. Я. Виленкин, А. Н. Виленкин, П. А. Виленкин. "Комбинаторика". МЦНМО, 2007
4. В. А. Малышев. "Кратчайшее введение в современные вероятностные модели"
Математическая статистика
Математическая статистика является основополагающей дисциплиной в прикладных областях, имеющих дело с обработкой и анализом данных. Часто её рассматривают как прикладную часть теории вероятностей. Анализ многих реальных данных начинается с применения методов математической статистики и затем (если в этом остаётся необходимость) продолжается методами машинного обучения.
Какие темы стоит изучить?
· Выборочное пространство, выборка и выборочное распределение. Виды статистик.
· Оценки и их свойства.
· Метод моментов и метод максимального правдоподобия.
· Эффективные оценки. Доверительные интервалы.
· Визуальные методы анализа. Основы проверки гипотез.
· Критерий Вальда, критерии, основанные на нормальности данных, корреляционный анализ.
· Регрессионный анализ. Метод наименьших квадратов.
· Проверка гипотез о параметрах регрессионной модели.
Список литературы: Отличным вариантом будет книга Гмурмана «Теория вероятностей и математическая статистика». Еще одна неплохая книга, которая идеально подойдет для введения в статистику - «Наглядная математическая статистика», Лагутин М.Б.
Что делать с таким объёмом информации?
Как вы могли заметить, объём информации для освоения огромный. Но не стоит этого бояться, надо просто начать читать учебники и разбираться в материале. Кому-то будет проще, кому-то - сложнее, главное — не переставать учиться и тренироваться, и тогда у вас всё получится.
Но не для всех подойдёт формат самостоятельного обучения, это может завести человека в тупик, из которого он не выйдет и забросит подготовку. В таком случае на помощь приходят всё те же онлайн-курсы, но уже по математике. В интернете можно найти курсы по высшей математике, но их не очень много.
При выборе стоит обращать внимание на преподавательский состав (огромным плюсом будет наличие практики в университете и учёные степени), а также на программу курса. Есть отличный курс от Shad Helper, который идеально подойдёт для подготовки в Data Science. В нём сочетаются преподаватели из топовых университетов страны и программа, составленная специально под подготовку в Data Science, что уже звучит как успех. Пройдя такой курс, вы быстрее освоите математику и получите свой первый оффер.
В заключение скажем, что подготовка к собеседованию на Data Science Junior требует усилий и времени, но это вложение окупится в будущем. Изучив основы математики, статистики и алгоритмов машинного обучения, вы с легкостью пройдёте интервью и закрепитесь в профессии, где при должных усилиях вас ждёт большой рост.