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

Скалярное произведение и нормы

Угол не первичен — он определяется через скалярное произведение, а не наоборот

Шаг 16 из 117 · ~30 мин

Направление зависимости

В школе скалярное произведение вводят через угол: x,y=xycosθ\langle \mathbf{x}, \mathbf{y}\rangle = \|\mathbf{x}\|\|\mathbf{y}\|\cos\theta. Это удобно, но логически вывернуто наизнанку: чтобы так определить, нужно уже уметь измерять углы.

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

Скалярное произведение это функция ,\langle \cdot, \cdot \rangle двух векторов, удовлетворяющая трём требованиям:

  • симметричность: x,y=y,x\langle \mathbf{x}, \mathbf{y}\rangle = \langle \mathbf{y}, \mathbf{x}\rangle;
  • линейность по первому аргументу (а с симметричностью — и по второму);
  • положительная определённость: x,x>0\langle \mathbf{x}, \mathbf{x}\rangle > 0 при x0\mathbf{x} \ne \mathbf{0}.

В Rn\R^n стандартный выбор — ixiyi\sum_i x_i y_i, но он именно выбор. Другое скалярное произведение — например xMy\mathbf{x}^\top M \mathbf{y} с положительно определённой MM — даёт другую геометрию на том же пространстве. Это не экзотика: расстояние Махаланобиса и есть такая замена.

Длина и угол как следствия

Норма определяется через скалярное произведение:

x=x,x\|\mathbf{x}\| = \sqrt{\langle \mathbf{x}, \mathbf{x}\rangle}

А угол — так:

cosθ:=x,yxy\htmlData{k=cos}{\cos\theta} := \frac{\htmlData{k=inner}{\langle \mathbf{x}, \mathbf{y}\rangle}}{\htmlData{k=norms}{\|\mathbf{x}\|\,\|\mathbf{y}\|}}

Знак :=:= здесь важен: это определение, а не тождество. — это то, что мы называем отношением к произведению . И тогда «ортогональность» означает просто x,y=0\langle \mathbf{x}, \mathbf{y}\rangle = 0 — без всякой геометрии, что позволяет говорить об ортогональных функциях, многочленах и случайных величинах.

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

ab
скалярное произведение
0
норма a
2.24
норма b
2.24
косинус
0
угол
90°
Скалярное произведение равно нулю — векторы ортогональны, и угол ровно 90°. Заметьте, что первым обнулилось именно произведение.

Неравенство Коши–Буняковского

x,yxy|\langle \mathbf{x}, \mathbf{y}\rangle| \le \|\mathbf{x}\|\,\|\mathbf{y}\|

Без него определение угла было бы бессмысленным: правая часть формулы для cosθ\cos\theta могла бы вылезти за [1,1][-1, 1]. Неравенство гарантирует, что не вылезет, и обращается в равенство ровно тогда, когда векторы коллинеарны.

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

Нормы, которые не из скалярного произведения

Норма — это любая функция \|\cdot\| с тремя свойствами: положительность (ноль только у нулевого вектора), однородность λx=λx\|\lambda\mathbf{x}\| = |\lambda|\|\mathbf{x}\| и неравенство треугольника. Скалярное произведение даёт норму, но не всякая норма получается так.

Семейство LpL^p:

xp=(ixip)1/p,x=maxixi\|\mathbf{x}\|_p = \left(\sum_i |x_i|^p\right)^{1/p}, \qquad \|\mathbf{x}\|_\infty = \max_i |x_i|

Единичный шар — множество {x:x1}\{\mathbf{x} : \|\mathbf{x}\| \le 1\} — показывает разницу лучше формулы. Потяните pp:

p 2
L1
1.3
L2
0.94
L∞
0.8
текущая Lp
0.94
Точка внутри единичного шара текущей нормы: её длина не больше единицы.

Обратите внимание: одна и та же точка может лежать внутри шара по LL^\infty и снаружи по L1L^1. «Далеко» и «близко» зависят от нормы, и это не философия — от выбора нормы зависит, что именно оптимизируется.

Только L2L^2 приходит из скалярного произведения. У L1L^1 и LL^\infty шары с углами, и понятие угла для них не определено. Практические следствия:

  • L2L^2-регуляризация сжимает все координаты понемногу — шар гладкий, и оптимум обычно не попадает на ось;
  • L1L^1-регуляризация зануляет координаты — у шара вершины на осях, и оптимум охотно садится в вершину. Разреженность Lasso — это геометрия ромба, а не магия.

Что стоит унести

Скалярное произведение — не следствие геометрии, а её источник. Меняя его, вы меняете, что значит «длина», «угол» и «перпендикулярно». Именно поэтому cosine similarity работает на эмбеддингах: она измеряет только направление, сознательно выбрасывая длину, — и именно поэтому её значение не меняется при масштабировании векторов.

Источники

Проверки

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

    Отметьте все верные утверждения.

  2. Три нормы одного вектора

    Реализуйте norms(v) — верните список из трёх чисел [v1,  v2,  v][\|v\|_1,\; \|v\|_2,\; \|v\|_\infty] в этом порядке.

    Напоминание:

    v1=ivi,v2=ivi2,v=maxivi\|v\|_1 = \sum_i |v_i|, \qquad \|v\|_2 = \sqrt{\sum_i v_i^2}, \qquad \|v\|_\infty = \max_i |v_i|

    Для пустого вектора все три равны 0 — сумма по пустому множеству это ноль, а максимум по пустому множеству по соглашению тоже берут нулём, раз норма не может быть отрицательной.

    функция norms

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

    Ctrl/⌘ + Enter