DevLearn logo
Skill Up With Me
Interactive Learning
Signing in…

Векторы: геометрия, нормы (L1/L2) и скалярное произведение

🔒 Sign in to use this
Вектор — это стрелка, а не список чисел

Когда говорят «вектор», большинство новичков думают «массив чисел». Это неверная интуиция. Вектор — это стрелка в пространстве: у неё есть направление и длина. Представьте, что вы стоите в центре города. «Три квартала на север и два на восток» — это вектор. В ML каждый объект (клиент, фото, слово) превращается в такую стрелку в многомерном пространстве признаков, и модель учится различать эти стрелки.

Вектор: интуиция и математика

Математически вектор — это упорядоченный набор чисел, например [3.0, -1.5, 0.8]. Каждое число — координата в одном из измерений. В ML признаки объекта (рост, вес, возраст) — это координаты, и объект живёт в пространстве признаков. Близкие объекты — похожие объекты.
Вектор задаёт позицию точки в многомерном пространстве признаков
Два вектора «близко» → два объекта похожи. Именно на этом строится k-NN
Направление вектора важнее его длины — косинусное сходство это использует
Word2Vec, BERT, CLIP — все они превращают объекты (слова, картинки) в векторы
L1 и L2: как измерить «длину» стрелки

Норма вектора — это его «длина». Но длину можно считать по-разному. L2 (евклидова) — прямая линия от начала до конца стрелки: x2+y2\sqrt{x^2 + y^2}. L1 (манхэттенская) — движение по клеткам города, только вдоль осей: x+y|x|+|y|. Нажмите на каждую метрику ниже, чтобы увидеть разницу наглядно.

Клик по метрике — подсветит соответствующий путь
2D VECTOR SPACE
0(3, 4)
Скалярное произведение: мера «совпадения» двух стрелок

Скалярное произведение ab=a1b1+a2b2\mathbf{a}\cdot\mathbf{b}=a_1b_1+a_2b_2 — это мера того, насколько два вектора «смотрят в одну сторону». Если угол между ними маленький — произведение большое и положительное. Если перпендикулярны — ноль. Если смотрят в разные стороны — отрицательное. Потащите вектор B мышью и посмотрите, как меняется результат.

Перетащите конец вектора B и наблюдайте, как меняются угол и «похожесть»
DOT PRODUCT · Объект A · Объект B
Объект AОбъект B
cos(θ) = directional similarity
cos(θ) = 0.857similarity +
Объект A · Объект B = 15.00 = |Объект A|·|Объект B|·cos(θ) = 4.12 · 4.24 · 0.85715.00
В нейросети каждый нейрон — это скалярное произведение

Каждый нейрон делает ровно одну операцию: вычисляет скалярное произведение входного вектора на вектор весов. Потом функция активации решает, «зажигаться» нейрону или нет. Именно поэтому понимание векторов — это не абстрактная математика, а основа понимания того, как работает любая нейросеть.

Кликните на строку, чтобы понять, что происходит ▼
python
1
import numpy as np
2
a = np.array([1.0, 2.0, 3.0])
3
b = np.array([4.0, 5.0, 6.0])
4
dot = np.dot(a, b)  # 1*4 + 2*5 + 3*6 = 32
5
l2 = np.linalg.norm(a)  # √14 ≈ 3.74
6
l1 = np.linalg.norm(a, ord=1)  # 6.0
7
cos_sim = dot / (np.linalg.norm(a) * np.linalg.norm(b))
ℹ️В рекомендательных системах (Spotify, Netflix) каждый пользователь и каждая песня — это вектор. Рекомендация — это поиск ближайших векторов к вашему. Именно поэтому математика векторов — не абстракция, а ядро реальных продуктов.
🔒 Sign in to use this