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

Кванторы и остальная нотация

∀ и ∃ и почему их порядок меняет смысл, плюс словарь сокращений и O-нотация

Шаг 9 из 117 · ~25 мин

Кванторы

xX:P(x)\forall x \in X : P(x) — «для всякого xx из XX верно P(x)P(x)».

xX:P(x)\exists x \in X : P(x) — «существует xx из XX, для которого верно P(x)P(x)».

Двоеточие часто заменяют точкой, запятой или вообще опускают. Это не несёт смысла.

Порядок кванторов меняет смысл

Это главное, ради чего написан урок.

Кто какой замок открывает
замок 1замок 2замок 3
Аня··
Боря··
Вера··
Каждый человек открывает какой-то замок — но нет замка, который открывают все. Первое утверждение верно, второе нет.

xy:P(x,y)\forall x \, \exists y : P(x, y) — «для каждого xx найдётся свой yy». Подходящий yy зависит от xx.

yx:P(x,y)\exists y \, \forall x : P(x, y) — «есть один yy, годящийся для всех xx». Тот же yy обязан работать для каждого xx.

Второе утверждение строго сильнее: из \exists\forall всегда следует \forall\exists, но не наоборот.

В машинном обучении это различие живое. Сравните:

  • «для любого ε>0\varepsilon > 0 существует NN, такое что при n>Nn > N ошибка меньше ε\varepsilon» — сходимость, NN зависит от ε\varepsilon;
  • «существует NN, такое что для любого ε>0\varepsilon > 0 …» — это было бы утверждение о точном равенстве после конечного числа шагов.

Первое верно, второе почти никогда.

Отрицание

Правило механическое: при отрицании кванторы меняются местами, отрицание проваливается внутрь.

¬x:P(x)    x:¬P(x)\neg\,\forall x : P(x) \;\equiv\; \exists x : \neg P(x) ¬x:P(x)    x:¬P(x)\neg\,\exists x : P(x) \;\equiv\; \forall x : \neg P(x)

Отсюда сразу следует, как опровергать утверждения: чтобы опровергнуть «для всех», достаточно одного контрпримера. Чтобы опровергнуть «существует», надо разобрать все случаи. Первое обычно легко, второе обычно тяжело.

argmin и argmax

minxf(x)R,arg minxf(x)область определения\min_x f(x) \in \R, \qquad \argmin_x f(x) \subseteq \text{область определения}

min\min — это значение. arg min\argmin — это точка (или множество точек), где значение достигается. Разные типы.

Строго говоря, arg min\argmin возвращает множество, поэтому корректная запись — θarg minθL(θ)\theta^* \in \argmin_\theta L(\theta). В статьях почти всегда пишут ==, подразумевая, что минимум единственный.

Знаки, которые легко перепутать

ЗнакЗначение
:=:=«определяется как» — вводит новое обозначение
\equivтождественно равно; иногда — сравнение по модулю
\proptoпропорционально: равно с точностью до константы
\approxприближённо равно
\sim«распределено как»: XN(0,1)X \sim \mathcal{N}(0,1). Или эквивалентность. По контексту
    \iffтогда и только тогда
\Rightarrowвлечёт
\triangleqто же, что :=:=

Знак \propto встречается в байесовском выводе постоянно: p(θx)p(xθ)p(θ)p(\theta \mid x) \propto p(x \mid \theta)\, p(\theta) — нормировочная константа опущена, потому что её не надо считать.

Сокращения

СокращениеРасшифровкаЧто означает
iidindependent and identically distributedнезависимы и одинаково распределены
s.t.such that / subject to«такой что» или «при ограничениях»
w.r.t.with respect to«по отношению к», «по переменной»
a.e.almost everywhereвсюду, кроме множества меры нуль
a.s.almost surelyс вероятностью 1
w.l.o.g.without loss of generalityбез ограничения общности
resp.respectivelyсоответственно
i.e. / e.g.id est / exempli gratia«то есть» / «например»

Отдельно про s.t.: в задачах оптимизации это «subject to», ограничения:

minxf(x)s.t.g(x)0\min_x f(x) \quad \text{s.t.} \quad g(x) \le 0

А в определениях — «such that». Одно и то же сокращение, два разных смысла, различаются контекстом.

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

  • строчные греческие — параметры, скаляры: α\alpha, θ\theta, λ\lambda
  • строчные латинские — скаляры и векторы: xx, ww, bb
  • жирные строчные — векторы: x\mathbf{x}
  • заглавные — матрицы: AA, WW
  • каллиграфические — множества и распределения: X\mathcal{X}, D\mathcal{D}, N\mathcal{N}
  • ^\hat{\cdot} — оценка или предсказание: y^\hat{y}, θ^\hat{\theta}
  • ~\tilde{\cdot} — «изменённая версия»: зашумлённая, аппроксимированная
  • ˉ\bar{\cdot} — среднее: xˉ\bar{x}
  • \cdot^* — оптимальное значение: θ\theta^*

O-нотация на рабочем уровне

f=O(g)f = O(g) — «ff растёт не быстрее gg с точностью до константы». Ω\Omega — не медленнее. Θ\Theta — и то, и другое.

Знак равенства здесь — злоупотребление обозначением: O(g)O(g) на самом деле множество функций, и правильнее было бы fO(g)f \in O(g). Все пишут ==; читать это надо как «принадлежит».

В ML O-нотация чаще всего встречается в описаниях сложности внимания: O(n2d)O(n^2 d) для обычного attention против O(nd2)O(n d^2) для линейных вариантов — и весь смысл SSM-архитектур в этой замене.

Источники

Проверки

0 из 2
  1. Порядок кванторов

    Пусть SS — множество студентов, BB — множество книг, а R(s,b)R(s, b) означает «студент ss прочитал книгу bb».

    Какое из утверждений означает «есть книга, которую прочитали все студенты»?

  2. Вычисление кванторов

    Отношение задано матрицей: relation[i][j] истинно, если R(xi,yj)R(x_i, y_j).

    Реализуйте evaluate(relation), которая возвращает список из четырёх булевых значений:

    1. i  j:R(i,j)\forall i \; \exists j : R(i, j)
    2. j  i:R(i,j)\exists j \; \forall i : R(i, j)
    3. i  j:R(i,j)\exists i \; \forall j : R(i, j)
    4. j  i:R(i,j)\forall j \; \exists i : R(i, j)

    Аккуратно с пустыми случаями: «для всех» на пустом множестве истинно (утверждать нечего — значит, опровергнуть нечем), «существует» на пустом множестве ложно.

    функция evaluate

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

    Ctrl/⌘ + Enter