Язык математики

Как читать формулу

Типы, размерности и соглашения о буквах — минимум, после которого формула перестаёт быть шифром

Шаг 1 из 117 · ~20 мин

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

Хорошая новость: в статьях по ML нотация почти стандартизирована. Достаточно выучить соглашения — и половина формул начнёт читаться с листа.

Первое правило: у каждого символа есть тип и форма

Возьмём самую известную формулу в машинном обучении — предсказание линейной модели.

y^=wx+b\htmlData{k=yhat}{\hat{y}} = \htmlData{k=w}{\mathbf{w}}^\top \htmlData{k=x}{\mathbf{x}} + \htmlData{k=b}{b}

Наведите курсор на любую часть формулы — или на выделенные слова в тексте.

Здесь и — векторы одинаковой длины nn, — одно число, а — тоже одно число. Операция wx\mathbf{w}^\top \mathbf{x} превращает два вектора в скаляр: это скалярное произведение, оно же сумма попарных произведений.

Как только вы выписали для каждого символа его тип и форму, формула перестаёт быть шифром. Это буквально механическая процедура, и она работает всегда.

Соглашения о буквах

В статьях по ML почти всегда придерживаются такой системы:

НаписаниеЧто обозначаетПримеры
строчная латинскаяскаляр или векторxx, yy, bb
жирная строчнаявекторx\mathbf{x}, w\mathbf{w}
ЗАГЛАВНАЯматрицаAA, WW, XX
строчная греческаяпараметр, гиперпараметрα\alpha, θ\theta, σ\sigma
каллиграфическаямножество или распределениеX\mathcal{X}, D\mathcal{D}, N\mathcal{N}

Соглашение не закон: авторы его нарушают, и жирное начертание часто опускают. Но если вы видите WW и xx рядом — почти наверняка первое матрица, второе вектор, и запись WxWx означает умножение матрицы на вектор.

Проверка размерностей

Главный практический навык — shape-исчисление. Перед тем как понимать смысл формулы, проверьте, что размерности сходятся. Если WW имеет форму m×nm \times n, а x\mathbf{x} — форму nn, то WxW\mathbf{x} имеет форму mm. Внутренние размерности обязаны совпасть; они «схлопываются».

Wm×n  xn×1  =  zm×1\underbrace{W}_{m \times n} \; \underbrace{\mathbf{x}}_{n \times 1} \;=\; \underbrace{\mathbf{z}}_{m \times 1}

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

Что делать дальше

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

Источники

Проверки

0 из 2
  1. Согласование размерностей

    Матрица AA имеет форму 4×74 \times 7, вектор v\mathbf{v} — форму 77. Какую форму имеет AvA\mathbf{v}?

  2. Скалярное произведение

    Реализуйте функцию dot(a, b), которая вычисляет скалярное произведение двух векторов одинаковой длины:

    ab=i=1naibi\mathbf{a}^\top \mathbf{b} = \sum_{i=1}^{n} a_i b_i

    Никаких библиотек — только цикл. Смысл упражнения в том, чтобы формула и код стояли рядом.

    Для векторов разной длины бросьте исключение (ValueError в Python, Error в JS/TS).

    функция dot

    Загрузка редактора…

    Ctrl/⌘ + Enter