Data Science — быстро развивающееся направление, без которого сейчас невозможно обойтись ни в одной отрасли бизнеса или науки. Сырые и неструктурированные данные — кладезь информации. Но для того чтобы ее получить в нужном виде, требуется приложить немало усилий. А объемы таких сырых данных зашкаливают — каждый день, по статистике, человечество генерирует около 2,5 квинтиллиона байт.
Для обработки всего этого необходимы специалисты — чем больше, тем лучше. Основной инструмент в их руках — математика. Сегодня обсудим, какие разделы науки наиболее востребованы в профессии. Об этом мы поговорили с Кириллом Шмидтом, Product analyst Team Lead в корпорации Citrix (США) и автором профессии Data Analyst в Skillbox. Сразу стоит сказать, что статья рассчитана на новичков. Что же, приступим.
Математика в науке о данных — необходимые специалисту разделы
Если коротко, то Data Science решает задачи классификации, регрессии и кластеризации. Практически все методы современной науки о данных, включая машинное обучение, базируются на математике. И чем лучше в ней разбирается специалист, тем выше его шансы принять участие в интересном проекте. Что нужно освоить в обязательном порядке и зачем?
Функциональный математический анализ
Функциональный анализ базируется на знании математического анализа, линейной алгебры и высшей математики, а также теории функции комплексной переменной. Вам надо разбираться, что такое многомерные пространства, градиентный спуск, линейные операторы, матрицы, функции ошибок, ортонормированный базис и т. д. Это все те термины и понятия, которые нужны для работы.
Классический математический анализ
Основа всего — дифференциальное и интегральное исчисление. Оно нужно для решения даже относительно несложных задач вроде наименьших квадратов в линейной регрессии. Оно же применяется в нейронных сетях, обратном распространении, что используется для идентификации новых паттернов.
Линейная алгебра
Без нее никак не обойтись, поскольку именно линейная алгебра необходима для понимания работы алгоритмов машинного обучения в плане обработки потоков данных для создания представлений. Подавляющее число алгоритмов, на которых базируются рекомендательные системы и распознавание изображений, используют матрицы и матричную алгебру.
Объем информации, генерируемой человечеством
Уравнения, графики, функции и переменные
Еще одна основа основ, где нужно знать многое: от уравнения прямой до биномиальной теоремы. Сюда входят также рациональные числа, логарифмы, тригонометрические тождества, неравенства, декартовы и полярные координаты и многие другие области знания.
Статистика
Основные понятия статистики и теории вероятности нужно знать как таблицу умножения во втором классе. К слову, именно классическое машинное обучение — это статистическое обучение. Область довольно обширная, главное — освоить ключевые концепции.
В реальных задачах специалист работает со случайными процессами, а значит, необходимо понимать, что такое теория вероятности и математическая статистика. Для чего? Чтобы разобраться, как работать со статистической неопределенностью.
Специалисту нужно хорошо разбираться в базовой комбинаторике, случайных величинах, основных типах распределений случайных величин (нормальное, Пуассона, биномиальное и т. д.). Требуется еще и понимать основные законы и теоремы вроде закона больших чисел или центральной предельной теоремы. Зачем? От этого зависит ваша способность интерпретировать то, что вы получаете в вашем анализе и моделях.
Кроме всего прочего, специалисту по науке о данных требуется решать задачи по казуальной статистике и выявлению эффектов от каких-то изменений. Это то, чем во многом занимается современная эконометрика и ее математические методы, связанные с матчингом. Эконометрика очень много времени уделяет изучению регрессии и ее применению для анализа ситуации в наблюдаемых данных.
Дискретная математика
Одна из основ современной науки о данных. Здесь понадобится хорошо разбираться в концепциях, которые потребуются для применения алгоритмов и разнообразных структур данных в аналитическом проекте.
Исследование операций
Уже более специализированная область, которая важна для таких направлений, как теория управления, исследование операций или теоретическая информатика. Исследование операций применяется в машинном обучении для минимизации ошибок оценки с учетом разных ограничений.
Доступно ли все это гуманитарию?
Распространенный вопрос, на который можно и нужно ответить утвердительно. Если вы настоящий гуманитарий, т. е. человек, который глубоко понимает современные гуманитарные науки, то у вас не должно быть проблем ни с логикой, ни со сложными концепциями. Но тем, кто с детства обладает аналитическим складом ума, окончил школу с углубленным изучением физики и математики, будет гораздо легче понять математический анализ и теорию вероятностей.
Важно также отметить, что в науке бесполезно «учить» — важно понять, как работает то, что вы изучили. В этом вся математика и состоит — в концепциях, которые выходят одна из другой. Когда вы много работаете с ними, то начинаете понимать, как все устроено. Это сложный этап, но его обязательно нужно пройти начинающему специалисту по Data Science. Без этого в аналитике и науке о данных попросту не обойтись.
Если говорить о новичках или о тех, кто только думает начать карьеру специалиста по науке о данных, — есть хороший совет. Стоит начать с системы организации конкурсов по исследованию данных Kaggle, пробовать попасть на стажировку и почитать требования к джуниорам. Не стоит учить что-то абстрактно, просто ради теории. Обязательно нужно учить и практиковать то, что требуется от джуниора — т. е. области знания, которые нужны для решения вполне конкретных задач. Вас не возьмут на работу за пятерку по функциональному анализу. Компания вышлет офер, только когда увидит, что вы можете быть полезны для решения ее задач.
Обычно от начинающего специалиста ожидают, что после некоторой вводной он может взяться за задачу и решить ее. Что если ему говорят, например: «Нужно обновить модель и добавить в нее факторы», то сотрудник должен хорошо понимать, о чем идет речь и что примерно надо делать. Соответственно, нужна практика решения задач. Поэтому выше и дан совет начать с Kaggle — там есть сеты с данными и сформулированные проблемы. Так вы можете освоить базовые навыки работы с данными и построения моделей. Чтобы решить эти задачи, вы пишете код на Python с воспроизводимыми результатами.
И, к слову, разделы математики джуниору, мидлу или сеньору нужны одни и те же. Движение от джуниора до сеньора базируется не на математике, а на умении понимать, какую проблему надо решать, определять приоритеты. Кроме того, необходимо обсуждать с вашими «заказчиками» и руководителями цели проекта и понимать, какой метод нужно применять для какой проблемы. Математика — помощник и инструмент в решении рабочих задач, когда понимание теории позволяет вам быстро выйти на нужный ответ, а не заниматься бесконечным перебором.
Стоит отметить, что методы решения разделяются по типам задач. Например, методы для NLP (Natural language processing) отличаются от методов обработки изображений или от методов решения предсказания оттока клиентов. Хотя, опять же, общая математика остается той же — функциональный анализ, вариационное исчисление, линейная алгебра, статистика и теория вероятности, математический анализ, высшая математика и т. п.
Если говорить о Data Science в целом, то актуальность этого направления будет только расти. Каждый день мы сталкиваемся с работой специалистов по науке о данных. Так, маркетплейсы формируют главную страницу в зависимости от предпочтений пользователя, что вычисляется по сложным алгоритмам. Рекомендации музыки, фильмов и роликов обрабатываются нейросетями. Все более важной становится предиктивная аналитика, которая применяется для прогнозирования спроса, улучшения и автоматизации продуктов самых разных компаний. Так что и востребованность специалистов по науке о данных растет не то что с каждым годом, а ежедневно.