В Data Science не нужна математика (Почти)

v3qqr746avdcpe2gq9asfzbstm4.png


Привет, чемпион!

Ребята с «вышкой» всё время умничают, что в Data Science нужна «математика», но стоит копнуть глубже, оказывается, что это не математика, а вышмат.

В реальной повседневной работе Data Scientist’а я каждый день использую знания математики. Притом очень часто это далеко не «вышмат». Никакие интегралы не считаю, детерминанты матриц не ищу, а нужные хитрые формулы и алгоритмы мне оперативнее просто загуглить.

Решил накидать чек-лист из простых математических приёмов, без понимания которых — тебе точно будет сложно в DS. Если ты только начинаешь карьеру в DS, то тебе будет особенно полезно. Мощь вышмата не принижаю, но для старта всё сильно проще, чем кажется. Важно прочитать до конца!

Дисклеймер: Сам я — человек с высшим образованием. Закончил бакалавриат и магистратуру Физтеха (последнее с отличием). Не буду с кем-либо спорить о том, нужен ли вышмат в работе Data Scientist’a. Просто покажу вам реальный список математических приёмов, которые я действительно часто использую в работе. Вы удивитесь, но рассчитывать вероятность достать чёрный шар из корзины мне не приходится. Я не выступаю против того, чтобы знать много и лишь хочу, чтобы получаемые знания были актуальными.


▍ Разогреваемся на простой математике


m9xizhaasccjjb2vfaupctqm0ys.png

Ответь на вопросы с рисунка

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

▍ Простые преобразования функций


bm65ji7owkvfatroyqe2ittmdhq.png

Ответь на вопросы с рисунка

Если ты с ходу отвечаешь на эти вопросы, значит, ты точно не пропускал в школе уроки математики и легко умеешь отражать и смещать функции. Казалось бы, тут нет ничего сложного, но эти знания я часто использую при feature engineering'е или когда просто хочу понять, как ведёт себя некоторая функция.

▍ Сложные преобразования функций


oynkvxglamz0t_vupwjiczc8jf4.png

Ответь на вопросы с рисунка

Если не успело пройти и 5 секунд, а ты уже назвал в первом случае функцию логарифма, а во втором — сигмоиду в связке со сдвигом и растяжением, то ты точно уже на многое способен. Тогда различные преобразования данных в работе Data Scientist’а тебе покажутся детским лепетом.

▍ Нормирование данных


79umr_xkc64cgntnlqdsnwlljpg.png

Ответь на вопросы с рисунка

Пусть ты никогда и не слышал про Min-Max Scaling или Standart Scaling, но ты с ходу придумал, как превратить диапазон значений данных в интервал от 0 до 1, то я могу только сказать — «Браво!». А если ты при этом ещё и знаешь, как среднее выборки сделать нулём, а дисперсию — равной единице, то ты нереально хорош! Кстати, такие нормировки я делал ещё на уроках физики в школе, чисто на уровне логики. В реальной работе частенько приходится нормировать данные.

▍ Геометрия


xxzuiaim4y6r24e48ejh4ut50eq.png

Ответь на вопросы с рисунка

Быстро ли ты вспомнил про Теорему Пифагора и формулу косинуса между двумя векторами?! Если для тебя не составило труда оперативно написать эти формулы, то смело прыгай в Data Science!

Казалось бы, зачем в Data Science знания из геометрии?! Однако, на практике эти знания дают тебе мощные инструменты и не только для информативного описания объектов новыми признаками, но и для понимания методов машинного обучения, таких как KNN, а с помощью формулы косинуса ты легко можешь решать такие задачи как face recognition или face verification и многие другие, где нужно сравнивать между собой многомерные объекты. В одном из соревнований по картинкам, мне очень пригодились эти знания.

▍ Ловим зависимости на фоне шума


chziowbkwpnkmwa8bit8gnfjoya.png

Ответь на вопросы с рисунка

А в этот раз ты быстро справился? Пусть ты не знаешь ничего про p-value или что такое линейная регрессия, но если на этих вопросах у тебя как минимум закружилось в голове что-то про правило 3-х сигм или уравнение прямой а-ля y = kx + b, то поздравляю, у тебя есть хорошая начальная база. А вот если в твоей речи прозвучит ещё p-value и метод наименьших квадратов, то вряд ли бытовая рутина по очистке шумных данных в работе Data Scientist’а легко выбьет тебя из седла спокойствия.

▍ Статистики и распределения


8iqms5ql-kitti3cpsv0skxvcui.png

Ответь на вопросы с рисунка

Опять лёгкие вопросы? Это хороший показатель!

Со школы я знал про медиану, но вот реальную её пользу почувствовал, только когда начал работать с реальными данными, в которых крайне редко нет выбросов или другого мусора. Чтобы понять её суть, достаточно вспомнить анекдот — «Когда Билл Гейтс заходит в бар, в среднем люди в баре становятся миллиардерами». Что касается квантилей и прочих статистик, они пригодятся тебе либо при работе со статистическими критериями и проверкой гипотез, либо, как минимум — при feature engineering«а на временных рядах, где такие квантильные фичи часто хорошо себя показывают.

▍ Виды распределений


0couaybdkdw9sixdu4o8c7lftoe.png

Ответь на вопросы с рисунка

Просто? И ты даже не задумался и сразу выдал ответы? Нормальное распределение ты узнаешь из тысячи? А ЦПТ ты сформулируешь, даже если ночью разбудить? — Хорош, хорош!

Не помню, чтобы в школе или вузе случалось много опираться на распределения данных, но вот на реальных задачах в работе мне с таким сталкиваться приходится. Зная распределения и их свойства, твоя математическая интуиция при работе с реальными данными становится разрушительной силой. В вопросах проверок гипотез или уже пресловутого feature engineering'а тебе будет сильно проще.

▍ Преобразование распределений


sukjg0cao8u_rfdjdwzrbflmmxq.png

Ответь на вопросы с рисунка

Легко? Или всё-таки задумался? Такими вопросами можно сбить с толку даже опытного Data Scientist’а. Вот тут даже мои коллеги задумаются, как провернуть такие математические финты. И если для левой ситуации многие предлагают логарифмирование, то правый случай запросто может вызвать синдром самозванца. А ведь это всё та же ЦПТ из предыдущего вопроса. В народе этот метод ещё называют бустрапом. Этот приём мне часто помогает при выравнивании распределений или увеличении чувствительности статистических критериев. Мощная штука. Бери на вооружение!

▍ Временные ряды


y27q8n7v5dmcrylpnj-piuib0ik.png

Ответь на вопросы с рисунка

А как ты справился с этими задачами? Раз ты легко оперируешь такими понятиями, как дисперсия или квадратичное отклонение да ещё и визуально эти значения оцениваешь, то ты запросто осилишь и другие вещи по типу скользящих статистик и так далее. А чтоб убрать тренд в правом графике достаточно посчитать разницу между соседними точками ряда. При работе с временными рядами — это частая практика, до которой запросто догадаешься и без спец. курсов.

▍ Корреляция и зависимости


lgvqiok813y5pxd1kirst9earom.png

Ответь на вопросы с рисунка

Ещё один навык, без которого тебе будет сложно — отделять «шумные» данные от «чистых». «Шум» только мешает объяснить исследуемые эффекты или зависимости. Даже если ты не знаешь, что такое корреляция Пирсона и как её посчитать, но легко среди графиков выбираешь верный, то в целом — ты уже молодец. Ты сможешь без труда сориентироваться и объяснить, что и отчего в твоих данных зависит. А разобраться в сложных формулах или заумных названиях это уже дело времени.

▍ Производные


jmfus3isjx5bhbfkvwflk9bcqlg.png

Ответь на вопросы с рисунка

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

▍ Заключение и главный посыл статьи


В Data Science на практике нет неподъемной математики. Не надо тратить годы на изучение вышмата, чтобы просто начать работать в этой индустрии.

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

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

Да, на высоких оборотах ресёрча надо глубоко погружаться в сложные вещи. А будешь ли ты вообще в реальности заниматься исследованиями, и руками имплементировать сложные математические концепции из статей? Что если тебе вообще больше подходит инженерный подход к анализу данных? Содрать модели с Hugging Face и закинуть в прод — это тоже не всегда просто и тут уж точно вышмат тебе не сильно потребуется. Может, ты реально захочешь быть ML engineer«ом? А что если твоё — это быть Data Engineer«ом? Зачем тебе вообще тогда глубокие знания математики?!

Вижу часто острую проблему, что люди боятся начать работать в сфере, потому что им всё время кажется, что они ещё недостаточно знают. TODO-лист необходимых курсов у этих людей растёт быстрее, чем они успевают их проходить. Хватит собирать бесконечное образовательное комбо! Лучше начать практиковаться сейчас!

В случае если ты только на пороге входа в DS, то советую как можно раньше начать практиковаться в решении реальных кейсов. Уже по ходу дела навёрстывать необходимые математические знания. Будучи в реальных боевых условиях на зарплате хотя бы «джуна», ты быстрее раскачаешься, чем сперва 4 года отучишься, а уже потом придёшь работать тем же джуном, но с бОльшим запасом знаний.

Спасибо за ревью статьи Марку!

oug5kh6sjydt9llengsiebnp40w.png

© Habrahabr.ru