Код
#статьи

Математика для джунов: что нужно повторить перед собеседованием по Data Science

Говорят, что всю математику знают только Бог и Григорий Перельман. Но джуниору на собеседовании вся и не нужна.

 vlada_maestro / shutterstock

Возможно, наступит время, когда дата-сайентисту вообще не нужно будет знать математику, а вся работа сведётся к нажатию на кнопку Analyze data. Но пока для начала карьеры в Data Science требуется знать хотя бы базовые математические понятия.

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

Мы отобрали семь фундаментальных тем из вопросов к собеседованиям на вакансию Junior Data Scientist:

  • по теории вероятностей,
  • линейной алгебре,
  • математическому анализу,
  • математической статистике.

И написали к ним краткие ответы-шпаргалки. Держите!

1. Закон больших чисел: всё усредняется

Сложность: 1/3

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

После этого подбросим снова, но теперь уже серией из двадцати бросков, и также запишем среднее. Сумму выпавших очков поделим на 20.

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

Для игрального кубика оно равно среднему арифметическому очков на его шести гранях: (1 + 2 + 3 + 4 + 5 + 6) / 6 = 21 / 6 = 3,5.

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

Для Data Science этот закон настолько фундаментален, что кажется абсолютно очевидным: чем больше данных, тем точнее предсказание. Впору переименовывать его в «Закон больших данных».

2. Матрица — это преобразование

Сложность: 1/3

Внешне матрица — это прямоугольная таблица из m строк и n столбцов, состоящая, как правило, из чисел. Если в матрице только одна строка или только один столбец, то получается вектор. Вектор — это тоже матрица.

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

Строка матрицы А поэлементно умножается на столбец матрицы B, затем результат складывается в элемент на позиции {номер строки из А, номер столбца из B}. Википедия

Матрицу правильнее всего понимать как «численный протокол» некоего преобразования. Например, чтобы преобразовать один вектор в другой, нужно умножить его на соответствующую матрицу. Более сложные преобразования тоже задаются или матрицами, или похожими на них объектами, например тензорами (которые сами состоят из матриц).

В Data Science без векторов и матриц никуда. Например, метод главных компонент, который применяют, чтобы избавиться от лишних данных, использует вычисление собственных векторов матриц. А латентно-семантический анализ, необходимый для «понимания» машинами смысла слов, основан на преобразовании матриц и вычислении скалярного произведения векторов.

3. Градиент — это направление

Сложность: 2/3

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

Градиент высоты: чем быстрее растёт высота горы, тем длиннее вектор

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

В deep learning процесс обучения нейросети состоит в том, что мы много-много раз меняем вес каждого нейрона (его авторитет) в зависимости от размера ошибки, которую он передал нейронам следующего слоя. Совокупность величин этих ошибок образует поверхность в многомерном пространстве весов. Задача — найти минимум этой поверхности, то есть «яму» или «ложбину», где ошибки будут наименьшими.

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

4. Теорема Байеса: следствие указывает причину

Сложность: 1/3

Эта теорема говорит, насколько нужно изменить ожидания, когда мы узнаём новый факт или наблюдаем новое свидетельство.

Условие задачи: Энтомолог нашёл жука с узором на корпусе и надеется, что это редкий подвид. Надежда его основана на том, что жуки редкого подвида в 98% случаях с узором, а среди обычных жуков узор имеют только 5%. Редкий подвид действительно редок: таких жуков всего 0,1% от всей популяции.

Вопрос: Какова вероятность, что найденный жук с узором относится к редкому подвиду?

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

В любой непонятной ситуации рисуй диаграмму полной вероятности. Энтомолог, прости, но жук, скорее всего, обычный. Википедия

Оценка потенциального заёмщика (кредитный скоринг), определение точности медицинского теста, поиск признаков банковского мошенничества (антифрод) или взлома корпоративной сети — все эти прикладные задачи Data Science используют байесовский подход.

5: Распределение: главное — график

Сложность: 1/3

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

Распределение вероятностей для граней игрального кубика — прямая линия на уровне ⅙, или 16,67% вероятности

Но дата-сайентисту распределения требуются не для вероятностей, а чтобы понять, какой именно процесс скрывается за данными. Поэтому ему (то есть вам) нужно запомнить названия, графики и параметры всех основных распределений, благо их не так много.

Например, у знаменитой гауссианы, или нормального распределения, есть всего два параметра, которые влияют на форму графика: μ (произносится «мю»), двигающий «колокол» вправо-влево, и σ (сигма) — определяющий одновременно и ширину, и высоту.

Так что если график ваших данных внешне напоминает какое-нибудь распределение, то первым делом нужно подогнать параметры в формуле этого распределения так, чтобы его итоговый вид примерно совпадал с вашими данными. Если это удалось, тогда то, что вы сделали с данными, называется регрессией.

6. Регрессия: от разного к средним

Сложность: 1/3

Регрессия, простыми словами, это закон, определяющий соотношения между средними значениями каких-либо величин. Например, средний рост сыновей линейно зависит от среднего роста отцов: чем выше средний рост отцов, тем выше и средний рост сыновей.

В Data Science регрессия возникает в задаче исследования реальных данных, которые визуально часто выглядят как группы точек на координатной плоскости.

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

Иными словами, в задачах регрессии мы заменяем (аппроксимируем) реальные значения средними и исследуем соответствие уже между ними. Это не только проще для вычислений, но и даёт основания для прогноза и предсказаний. А дата-сайентиста хлебом не корми — дай что-нибудь предсказать.

7. Статистическая значимость — порог доверия

Сложность: 2/3

Статистически значимая величина — это «скорее всего, неслучайная» или «маловероятно, что случайная» величина. Мера случайности и неслучайности определяется по-разному, но всегда заранее.

Статистическая значимость используется при проверке статистических гипотез. Например, мы предположили, что зелюки в основном хрюкочут. Это будет нашей основной статистической гипотезой. Альтернативной гипотезой будем считать, что зелюки в основном не хрюкочут, а пыряются. И договоримся, что величина статистической значимости будет, например, 5%.

Найдите хрюкочущего зелюка. Википедия

Возьмём результаты наблюдения за зелюками. Если хрюкочущих зелюков в них окажется 95% или больше, будем говорить, что основная гипотеза прошла статистическую проверку при уровне значимости α (альфа) = 0,05. А количество альтернативных (пыряющихся) зелюков не оказалось статистически значимой величиной.

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

Собеседование не предел

«Математику уже затем учить надо, что она повышает шансы на оффер», — гласит старинная поговорка дата-сайентистов.

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

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована