Какая математика на самом деле нужна в Data Science, ML и разработке — и в каком порядке её учить

Автор — Александр Маширин, старший преподаватель МФТИ, руководитель онлайн-магистратур кафедры дискретной математики МФТИ и организатор Хармфульского клуба любителей математики. Полная версия гида с задачами, которые проверяют себя сами, — на harmful.online. Начнём с задачи. Болезнью болеет 1 % людей. Тест находит 90 % больных, но у 10 % здоровых даёт ложную тревогу. У человека тест положительный. Какова вероятность, что он болен? Большинство отвечает «около 90 %». Правильный ответ — около 8 %. Разбор ниже, в разделе про вероятность. Если вы удивились, этот текст для вас: он о том, какая математика на самом деле стоит за работой с данными, какая нужна программисту без ML и в каком порядке её учить, чтобы не застревать в каждой второй формуле. Работа с данными и машинное обучение стоят на четырёх опорах: школьной алгебре и функциях, линейной алгебре, математическом анализе и теории вероятностей со статистикой. Программисту, который не занимается ML, чаще нужна другая четвёрка: логика, комбинаторика, графы и оценка сложности алгоритмов. Учить всё это «по учебнику с первой страницы» не обязательно. Важнее порядок: каждая следующая тема опирается на предыдущую. Если перескочить через ступень, застревать придётся не в новой теме, а в старой — просто незаметно для себя. Ниже — что именно нужно из каждой области, зачем это в работе, по одной задаче для самопроверки и порядок тем для трёх разных ролей. Ответы к задачам собраны в конце: решите сначала сами. Удобно различать три уровня работы. Это не ступени престижа, а разные задачи: большинство людей в профессии всё время переходит между первым и вторым. Для первой работы аналитиком обычно хватает первого уровня с заходом во второй. Для ML-инженера второй уровень — рабочая норма. Третий нужен в исследованиях и на сильных магистерских программах. Попробуйте: запишите одну рабочую задачу, ради которой вы идёте в математику. Например: «хочу понимать, почему градиентный бустинг переобучается» или «хочу сам оценивать результат A/B-теста». От неё и стоит отсчитывать нужный объём. Эту часть легко пропустить, потому что она кажется слишком простой. Но многие трудности с формулами в статьях по машинному обучению на деле оказываются трудностями со школьной алгеброй: дробные выражения, степени, преобразования неравенств. Отдельно стоит логарифм: он живёт в функциях потерь, в шкалах графиков и в оценке сложности алгоритмов. Если здесь неуверенность, начните отсюда. Это не «слишком низкий уровень», а ровно та ступень, без которой дальше тяжело. Как восстановить школьную базу и проверить себя двенадцатью задачами — в гиде «Как вспомнить школьную математику взрослому». Таблица с данными — это матрица: строки — объекты, столбцы — признаки. Каждый объект — вектор. Похожесть двух текстов или товаров часто измеряют через скалярное произведение их векторов. Слой нейросети — это умножение на матрицу. Метод главных компонент, которым сжимают признаки, опирается на собственные векторы. Без линейной алгебры формулы в документации к библиотекам остаются непрозрачными. Главное здесь — не техника вычислений, а геометрический смысл: матрица как преобразование пространства. Когда этот смысл появляется, половина формул начинает читаться сама. Разобрать операции по шагам можно отдельно: умножение матриц по правилу «строка на столбец» и решение систем методом Гаусса. Задача 1. У матрицы A две строки: (2, 0) и (1, 3). Умножьте её на вектор…
Источник: vc.ru — vc.ru/education/3226989-matematika-dlya-data-science-i-ml