Урок по треку Математика для ML 6 мин

Векторы и матрицы для ML за 6 минут

Скалярное произведение, нормы, умножение матриц, ранг, обратная матрица и где всё это в ML.

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

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

Вектор это упорядоченный набор чисел: x = (x₁, …, xₙ). Скалярное произведение:

a·b = a₁b₁ + a₂b₂ + … + aₙbₙ = |a|·|b|·cos θ

Отсюда три вывода:

  • a·b = 0 у ненулевых векторов означает, что они ортогональны.
  • Знак показывает, смотрят ли векторы в одну сторону.
  • Косинусная близость cos θ = a·b / (|a|·|b|) не зависит от длины векторов. Поэтому эмбеддинги текстов сравнивают косинусом: смысл в направлении, а длина часто отражает побочное, например частоту слова.

Нормы

Норма это длина вектора. Три главные:

  • L1: сумма модулей. Для (3, -4) это 7.
  • L2: корень из суммы квадратов. Для (3, -4) это 5.
  • L∞: максимальный модуль. Для (3, -4) это 4.

L1 и L2 встречаются как регуляризация (lasso и ridge), L2 как евклидово расстояние в kNN и кластеризации.

Матрицы и их умножение

Матрица A размером m×n переводит вектор длины n в вектор длины m. Произведение AB определено, только если число столбцов A равно числу строк B, и результат имеет размер «строки A × столбцы B».

def matmul(A, B):
    return [[sum(A[i][t] * B[t][j] for t in range(len(B)))
             for j in range(len(B[0]))] for i in range(len(A))]

Что важно помнить:

  • AB ≠ BA в общем случае.
  • (AB)ᵀ = BᵀAᵀ, порядок меняется.
  • Умножение n×m на m×k стоит n·m·k умножений. Поэтому A·(B·x) может быть в сотни раз дешевле, чем (A·B)·x.

Полносвязный слой это y = xW + b. Если у слоя 128 входов и 64 выхода, то W имеет размер 128×64, а батч из 32 объектов (32×128) проходит через слой одним умножением и даёт 32×64.

Ранг, обратная матрица, определитель

Линейная независимость: ни один вектор набора не выражается через остальные. Ранг матрицы это максимальное число независимых строк (оно равно числу независимых столбцов).

Квадратная матрица n×n обратима, только если её ранг n. Эквивалентно: определитель не равен нулю. Для 2×2 det [[a, b], [c, d]] = ad - bc.

Где это в ML: линейная регрессия решается нормальным уравнением

w = (XᵀX)⁻¹ Xᵀ y

Если два признака линейно зависимы (цена в рублях и та же цена в тысячах), столбцы X зависимы, XᵀX вырождена и решение неединственно. Это мультиколлинеарность. L2-регуляризация лечит её: XᵀX + λI обратима при любом λ > 0.

Особые матрицы

  • Единичная I: AI = IA = A.
  • Симметричная: A = Aᵀ. Таковы ковариационная матрица и гессиан гладкой функции.
  • Ортогональная Q: QᵀQ = I, обратная равна транспонированной, длины сохраняются. Это повороты и отражения.
  • Положительно определённая: xᵀAx > 0 для любого ненулевого x. Ковариационная матрица положительно полуопределена.

Частые ошибки

  • Путать размеры при умножении и не проверять их перед ответом.
  • Считать, что ненулевые строки обязательно независимы.
  • Говорить «косинус от 0 до 1»: он лежит от -1 до 1.
  • Решать систему, явно вычисляя обратную матрицу: численно надёжнее метод Гаусса или разложения.

Что спросят на собесе

  • Что такое скалярное произведение и косинусная близость, почему эмбеддинги сравнивают косинусом.
  • Размер результата и стоимость умножения матриц, где это в нейросети.
  • Что такое ранг, когда матрица необратима, что такое мультиколлинеарность.
  • Посчитать нормы L1 и L2, определитель 2×2.
  • Чем ортогональная матрица отличается от симметричной.

Закрепите за 5 минут

После урока в тренажёре 3-5 проверочных вопросов, дальше модуль уходит в повторения.