- BrainTools - https://www.braintools.ru -

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан

Математикой [1] часто пугают новичков ML и Data Science. В этой статье разберем, что спрашивают и до какой глубины изучать математику для собеседований.

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

Содержание:

  • Линейная алгебра
    вектора, матрицы, операции над ними и др

  • Математический анализ
    пространство, градиент, апроксимация и др

  • Полезные материалы

Статьи серии

Математика: линейная алгебра и математический анализ [эта часть]

Математика: теория вероятностей, статистика и оптимизация [Soon… Stay fine-tuned…]

classic ML: основы мл, линейные модели, метрики классификации и регресии [2]

classic ML: Деревья и ансамбли, кластеризация, метрические модели [3]

NLP: трансформеры и внимание [4]

NLP: GPT, LLM, Alignment и оптимизации [Soon… Stay fine-tuned…]

NLP: LLM и RAG [5]

NLP: LLM и агенты [Soon… Stay fine-tuned…]

Чтобы не пропустить выход статей и видео по ML, DS, DL, подпишись на мои соц. сети:

  • В Telegram канале [6] – регулярный контент по ML и Data Science

  • На Ютуб канале [7] – видеоразборы вопросов с собеседований (и по этой статье)

  • На Boosty [8] – разборы задач по математике, реальных собеседований и еще больше обучающих материалов

  • Полная карта [9] со всем моим контентом

  • Вкат с нуля или повышение грейда в ML – менторство [10]

Линейная алгебра

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

Что такое вектор и какие операции с ним можно делать?

запись вектора по координатам

запись вектора по координатам

Вектор – это упорядоченный набор чисел

визуализация вектора

визуализация вектора

Его можно интерпретировать как точку в пространстве

Операции и свойства

  • У вектора есть направление и длина

  • Вектора можно складывать

сложение векторов

сложение векторов
  • свойства сложения:

    • Коммутативность: u+v=v+u

    • Ассоциативность: (u+v)+w=u+(v+w)

    • Существование нулевого вектора: u+0=u

    • Существование противоположного вектора: u+(−u)=0

  • Вектор можно умножать на число

умножение вектора на скаляр

умножение вектора на скаляр
  • Свойства умножения на скаляр:

    • (λ+μ)u=λu+μu

    • λ(u+v)=λu+λv

    • (λμ)v=λ(μv)

    • 1⋅v=v

  • Скалярное произведение 2х векторов

скалярное произведение векторов

скалярное произведение векторов
  • Свойства скалярного произведения:

    • ⟨u,v⟩=⟨v,u⟩

    • ⟨v,v⟩≥0 и ⟨v,v⟩=0  ⟺  v=0

    • ⟨λu,v⟩=λ⟨u,v⟩

    • ⟨u+v,w⟩=⟨u,w⟩+⟨v,w⟩

С помощью скалярного произведения можно определить такие понятия как норма вектора и косинусная близость.

Что такое норма вектора?

Простыми словами норма – это мера длины вектора.

Более формально, то:

Норма – это функция 

∥⋅∥: V→R, обладающая следующими свойствами:

  1. Неотрицательность: ∥x∥≥0

  2. Обращение в нуль: ∥x∥=0  ⟺  x=0

  3. Неравенство треугольника: ∥x+y∥≤∥x∥+∥y∥,∀x,y∈V

  4. Однородность: ∥αx∥=∣α∣ ∥x∥,∀ α∈R  (или C),  ∀ x∈V

Где в машинном обучении применяется норма вектора?

Норма помогает нам в машинном обучении [12] определить размер вектора (объекта), а также измерить расстояние между векторами (объектами)

Есть разные виды норм:

L1 норма

L1 норма

L₁-норма (манхэттенская норма)

L2 норма

L2 норма

L₂-норма (Евклидова норма)

обобщения норм

обобщения норм

Стоит отметить, что разных норм есть очень много, и они описываются общей формулой.

L1 и L2 регуляризация

L1 и L2 регуляризация

Но в машинном обучении чаще всего используются именно эти, например, в L1 и L2 регуляризации

Что такое косинусная близость? Зачем она нужна?

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан - 10

Косинусная близость для векторов u и v — это нормированное скалярное произведение, которое показывает, насколько близки направления двух векторов независимо от их длин.

То есть скалярно умножаем вектора u и v и делим все это на их нормы.

векторный поиск

векторный поиск

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

Виды рекомендательных систем

Виды рекомендательных систем

рекомендовать пользователю маркетплейса похожие товары

Что такое матрица?

пример матрицы

пример матрицы

Матрица – это таблица чисел.

Вектор – это одна строка или столбец в матрице.

Где в мл пригождается матрица?

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан - 14

Матрица может использоваться для хранения данных.

В задачах МЛ возникает такая штука, как матрица объекты-признаки.

Строки – это наши объекты.

Столбцы – признаки, описывающие эти объекты.

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

Какие операции можно делать с матрицами?

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан - 15

Матрицы можно складывать.

Сложение происходит поэлементно.

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан - 16

Умножение матрицы на скаляр.

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан - 17

Умножение 2х матриц.

Чтобы получить значение с_ij, нужно из матрицы A взять i-ю строку, а из матрицы B — j-й столбец и скалярно их перемножить.

В матричном произведении есть правило, что внутренняя размерность должна быть одинаковая

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан - 18

Матрицы также можно транспонировать

по сути разворачивать матрицу, то есть ее строки теперь столбцы новой транспонированной матрицы

Матричное произведение используется очень много где в мл, и в особенности в глубоком обучении, например:

линейный слой нейросети

линейный слой нейросети

применим один линейный слой нейросети к входу h(l-1) или по-другому сделаем линейное преобразование

Визуализация линейного преобразования

Визуализация линейного преобразования

Какие виды матрицы существуют?

прямоугольная матрица

прямоугольная матрица

Прямоугольная матрица

У нее число строк не равно числу столбцов

квадратная матрица

квадратная матрица

Квадратная матрица

Число строк равно числу столбцов

диагональная матрица

диагональная матрица

Диагональная матрица

Квадратная матрица, у которой все элементы вне главной диагонали равны нулю

главная диагональ – такие элементы a_ij, где i=j

Треугольные матрицы

Треугольные матрицы

Треугольная – Верхнетреугольная или нижнетреугольная

Квадратная матрица, у которой все элементы ниже/выше главной диагонали равны нулю

Единичная матрица

Единичная матрица

Единичная матрица

Диагональная матрица, у которой все элементы главной диагонали равны 1

Что такое линейная комбинация векторов?

Простыми словами: это сумма векторов, умноженных на число:

линейная комбинация

линейная комбинация

На выходе получаем снова вектор.

Что такое линейная зависимость / независимость?

Если вектор из линейной комбинации можно выразить через комбинацию других векторов, то вектора линейно зависимы.

Более формально: Система векторов линейна зависима, если существует такая линейная комбинация векторов, что она равно нулевому вектору, при этом не все веса перед векторами в системе не равны нулю

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан - 27

Или другими словами: один вектор из этой системы можно представить как линейную комбинацию остальных

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

Где в мл используется линейная зависимость / независимость?

В машинном обучении у нас система векторов это столбцы признаков. и мы хотим понять, это является ли эта система линейно независимой

heatmap матрицы корреляций

heatmap матрицы корреляций

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

Что такое пространство?

Пример 3х мерного пространства

Пример 3х мерного пространства

Векторное пространство – это некая “коробка”, в которую помещены наши вектора. Все вектора имеют одинаковый размер – он как раз-таки задает размерность пространства. Например, если все вектора пространства имеют по 3 числа, то пространство – трехмерное. Все эти вектора в пространстве можно умножать на число, складывать между собой и делать все, что мы описывали выше.

Что такое базис?

Базис векторного пространства — это система линейно независимых векторов, которые порождают все пространство. Базисные векторы имеют единичную длину. Любой вектор v из V можно выразить в виде линейной комбинации базисных векторов

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан - 30

Примером базиса могут быть вектора (1, 0) и (0, 1) в R^2

кстати, это еще называется каноническим базисом

пример базиса

пример базиса

Что такое размерность пространства?

Размерность векторного пространства V – это число векторов в базисе этого пространства. Обозначается как dim(V). Размерность показывает минимальное число векторов, достаточное для порождения пространства.

Пример:

В R^n: размерность равна n, то есть в пространстве находятся векторы размерности n

Что такое ранг матрицы и как его интерпретировать?

Ранг матрицы – это максимальное число линейно независимых строк или столбцов.

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

LoRA схема

LoRA схема

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

Что такое обратная матрица и обратимая?

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

Например: a/b = a*b^-1

но b^-1 такой, что b*b^-1 = 1

В матрицах похожая история:

матрица B^-1 обратная, если B*B^-1 = E

где E – единичная матрица

и вот B – уже будет называется обратимой

Но в отличие от чисел, обратная матрица не всегда существует

Что такое определитель и как его интерпретировать?

Определитель – это скаляр, который показывает, во сколько раз линейное преобразование, заданное матрицей, изменяет объём нашего пространства, в котором мы действуем этой матрицей.

Нам не особо интересно, как он считается, самое главное, что, если определитель матрицы равен 0, то матрица вырожденная, то есть необратимая, потому что матрица с определителем, равным нулю, превращает все векторы пространства и само пространство в тыкву – оно вырождается в 0. Поэтому и название такое – вырожденная матрица.

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

Что такое собственные значения и собственные векторы?

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан - 33

Начну с того, что мы знаем, что если умножить матрицу N x N на вектор размерности N, то получим другой вектор тоже размерности N

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

Если мы применим матрицу А к вектору v и окажется, что последний только растянулся или сжался в lambda раз, то есть

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан - 34

то этот вектор v – собственный вектор матрицы А, а скаляр lambda – собственное, или сингулярное, число

Эти вещи часто используются в методах понижения размерности: например в сингулярном разложении матриц (SVD).

Что такое число обусловленности?

число обусловленности

число обусловленности

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

Оно показывает, насколько решение Ax=b чувствительно к небольшим изменениям. 

Большое число обусловленности – это признак нестабильности (плохой обусловленности), особенно опасной при решении систем, в которых матрица X^TX близка к вырожденной. Если матрица плохо обусловлена, то даже небольшие погрешности в матрице признаков X или целевой переменной y могут привести к большим ошибкам в предсказанных весах w. Такое может случиться, если:

  • Признаки сильно коррелированы (мультиколлинеарность). 

  • Признаки на разных масштабах.

  • Слишком много признаков

Математический анализ

Что такое функция одной переменной?

Функция – это правило, по которому каждому значению независимой переменной x из множества Х ставится в соответствие единственное значение y из Y: f(x) = y, x -> y

X – область определения

Y – область значений

примеры функций

примеры функций

Что такое функция нескольких переменных?

Функция нескольких переменных это тоже правило, по которому мы каждому x ставим в соответствие y

но x это уже вектор значений (x1, x2, …, xn)

y = f(x) = f(x1, x2, …, xn)

f(x1, x2)=x1^2 + x2^2

f(x1, x2) = x1^2 + x2^2

Функции особенно важны в анализе данных и машинном обучении, поскольку они:

  • Позволяют моделировать зависимость между входными признаками и целевой переменной.

  • Помогают оценить качество модели (через функцию потерь).

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

Что такое предел последовательности?

Начнем с последовательности

последовательность и предел

последовательность и предел

Последовательность – это упорядоченный набор чисел x1, x2, x3, …, 

Ну а предел это то число L, к которому стремится xn при n→∞

последовательность 1/n**2

последовательность 1/n**2

В качестве примера можем взять последовательность 1/n**2 – она сходится к 0

Предел последовательности – фундаментальная вещь в матанализе, на основе которой строится понятие непрерывности.

Что такое непрерывность тогда?

Если функция непрерывна, то это нам обеспечивает стабильность и предсказуемость поведения [13]. Позволяет понять, как малейшие изменения входных данных отражаются на результате.

Если говорить более формально, то

функция f(x) называется непрерывной в точке x0 если выполняются два условия:

  • Существует значение f(x0).

  • Существует предел lim x→x 0f(x), и он равен значению функции в этой точке:

    lim x→x0 f(x)=f(x0).

Если функция непрерывна, то у нее нет неожиданных скачков и разрывом в точке х0

функция с разрывом

функция с разрывом

нет непрерывности

непрерывная функция

непрерывная функция

непрерывная функция

Что такое производная?

Производная функции f(x) в точке x0 определяется как предел отношения приращения функции к приращению аргумента, если этот предел существует:

производная

производная
  • Δx — малое изменение (приращение) аргумента функции,

  • f(x 0 +Δx)−f(x0) — соответствующее изменение (приращение) значения функции.

Функция f(x) называется дифференцируемой в точке x0, если её производная f′(x0) существует. Это означает, что предел, представленный в формальном определении, существует и конечен.

Если функция дифференцируема в каждой точке некоторого интервала, она называется дифференцируемой на этом интервале.

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

Какой геометрический смысл производной?

Геометрический смысл производной – это касательная к функции в точке х0

а почему?

секущая

секущая

ну потому что допустим возьмем х0

возьмем дельту

отметим эти 2 точки и соединим их прямой – получим секущую

касательная в пределе

касательная в пределе

но если будем стремить дельту к нулу, то получим уже касательную

Также важным свойством производной является то, что она показывает скорость роста функции f(x) в точке х

Что такое гладкая функция?

Гладкая функция f(x) означает, что

  • функция f(x) непрерывная

  • у нее есть производная f’(x)

  • и сама производная f’(x) непрерывная

Как раз поэтому в машинном обучении и в частности в методах оптимизации мы хотим, чтобы рассматриваемые нами функции были непрерывными, дифференцируемыми и гладенькими!

Что такое частная производная?

Частная производная – это производная функции многих переменных по одной из координат:

частная производная

частная производная

В формуле выше у нас функция имеет несколько переменных (x_1,…,x_n), и мы взяли производную по переменной x_k. Все остальные переменные фиксируются, а производную рассматриваем только относительно выбранной переменной x_k.

Частные производные потом используются в понятии градиента.

Что такое градиент?

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан - 46

Градиент функции f(x) это вектор ее частных производных

Вспоминая свойство производной, градиент похожим образом показывает нам направление наискорейшего возрастания функции.

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан - 47

В ML градиенты просто везде и всюду

например градиент нужен в методе оптимизации нейронных сетей, который называется градиентный спуск

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

Что такое максимум и минимум?

Топ вопросов по математике для ML и Data Science собесов: линейная алгебра и матан - 48

Это можно одним словом назвать – экстремум

Экстремум – максимальное или минимальное значение функции на заданном множестве.

Точка, в которой он достигается, называется точкой экстремума.

Локальный экстремум —-максимум или минимум в окрестности точки.

Глобальный экстремум – максимум или минимум на всей области определения.

примеры локальных и глобальных экстремумов

примеры локальных и глобальных экстремумов

Что такое аппроксимация / интерполяция / экстраполяция функций?

Аппроксимация функции – это приближение одной функции другой, более простой.

Допустим, у нас есть сложная закономерность и мы ее не знаем, но можем делать наблюдения x и получать значения в этих точках y

изначально мы ничего не знаем про истинную зависимость y от x, но может приблизить ее через фукнцию f(x)

это будет грубое иногда не совсем точное приближение, но с ним уже можно что-то делать

аппроксимация

аппроксимация

Интерполяция простыми словами – это нахождение неизвестных промежуточных значений с помощью нескольких известных. Интерполировать – это, по сути, вставить дополнительные значения в ряд.

интерполяция

интерполяция

Экстраполяция – это метод нахождения значений за пределами интервала.

Экстраполяция

Экстраполяция

Какие-то модели МЛ умеют и интерполировать и экстраполировать, но вот например деревья в экстраполяцию не умеют.

Полезные материалы

Учебник Яндекса по математике [14] | реально классный хабропост [15] по математике | 3blue1brown на русском [16]

  • В Telegram канале [6] – регулярный контент по ML и Data Science

  • На Ютуб канале [7] – видеоразборы вопросов с собеседований (и по этой статье)

  • На Boosty [8] – разборы задач по математике, реальных собеседований и еще больше обучающих материалов

  • Полная карта [9] со всем моим контентом

  • Вкат с нуля или повышение грейда в ML – менторство [10]

Автор: abletobetable

Источник [17]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/29505

URLs in this post:

[1] Математикой: http://www.braintools.ru/article/7620

[2] classic ML: основы мл, линейные модели, метрики классификации и регресии: https://habr.com/ru/articles/926398/

[3] classic ML: Деревья и ансамбли, кластеризация, метрические модели: https://habr.com/ru/articles/955636/

[4] NLP: трансформеры и внимание: https://habr.com/ru/articles/972178/

[5] NLP: LLM и RAG: https://nlp:%20LLM,%20RAG%20%D0%B8%20%D0%B0%D0%B3%D0%B5%D0%BD%D1%82%D1%8B%20%5BSoon%E2%80%A6%20Stay%20fine-tuned%E2%80%A6%5D/

[6] Telegram канале: https://t.me/rockaux

[7] Ютуб канале: https://www.youtube.com/@abletobetable

[8] Boosty: https://boosty.to/lokis_alexandr

[9] карта: https://lokismentor.yonote.ru/share/1446665b-a492-4cdb-8d56-6a92c5234dc8

[10] менторство: https://sites.google.com/view/lokismlmentor/%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0

[11] шпаргалку: https://t.me/rockaux/153

[12] обучении: http://www.braintools.ru/article/5125

[13] поведения: http://www.braintools.ru/article/9372

[14] Учебник Яндекса по математике: https://education.yandex.ru/handbook/math

[15] хабропост: https://habr.com/ru/articles/942114/

[16] 3blue1brown на русском: https://www.youtube.com/@3blue1brown31

[17] Источник: https://habr.com/ru/articles/1019194/?utm_campaign=1019194&utm_source=habrahabr&utm_medium=rss

www.BrainTools.ru

Rambler's Top100