Что такое вектор: точка, стрелка и список чисел
Вектор — это одновременно стрелка в пространстве и список чисел; в ML он описывает один объект через его признаки.
Вектор — упорядоченный список чисел (координат). Геометрически это стрелка из начала координат в точку с этими координатами.
Два взгляда на одно и то же
Слово «вектор» пугает, пока не увидишь, что за ним стоят две простые картинки, и они про одно.
- Геометрический взгляд: вектор — стрелка. У неё есть длина и направление. Вектор
(3, 4)на плоскости — это стрелка из точки(0, 0)в точку(3, 4). - Алгебраический взгляд: вектор — просто список чисел
[3, 4]. Каждое число — координата вдоль своей оси.
В машинном обучении мы почти всегда работаем со вторым взглядом (список чисел), но держим в голове первый (геометрию), потому что именно он даёт интуицию: «близкие» объекты — это стрелки, смотрящие примерно туда же.
Объект как вектор признаков
Вот центральная идея всего ML. Любой объект мы описываем числами — признаками (features), — и складываем их в вектор. Квартиру можно описать вектором [площадь, этаж, число_комнат, расстояние_до_метро]. Тогда квартира — это точка в четырёхмерном пространстве. Похожие квартиры окажутся рядом, непохожие — далеко. Вся геометрия векторов начинает работать на нас: «расстояние», «угол», «направление» обретают смысл «похожести» и «различия».
# Один объект = один вектор признаков (список чисел)
flat = [42.0, 5, 2, 800] # площадь, этаж, комнаты, метро (м)
print("Вектор квартиры:", flat)
print("Размерность (число признаков):", len(flat))
print("Признак 'площадь':", flat[0])
print("Признак 'комнаты':", flat[2])
Вывод:
Вектор квартиры: [42.0, 5, 2, 800] Размерность (число признаков): 4 Признак 'площадь': 42.0 Признак 'комнаты': 2
Размерность и зачем она важна
Размерность вектора — это сколько в нём чисел. Вектор из 2 чисел живёт на плоскости (2D), из 3 — в обычном пространстве (3D), из 784 — в 784-мерном пространстве (так кодируют картинку 28×28 пикселей в задаче распознавания цифр). Рисовать выше 3D мы не умеем, но вся арифметика работает одинаково в любой размерности — в этом сила алгебраического взгляда.
| Где встречается | Что вектор описывает | Размерность |
| Координаты на карте | широта, долгота | 2 |
| Цвет пикселя | R, G, B | 3 |
| Картинка 28×28 | яркость каждого пикселя | 784 |
| Эмбеддинг слова | скрытые смыслы | 300–1536 |
Представление в коде
В чистом Python вектор — это обычный список list. Этого достаточно, чтобы реализовать всю линейную алгебру вручную, что мы и будем делать. В реальных проектах берут библиотеку numpy (её массивы быстрее и удобнее), но математика под капотом — ровно та же.
# Тот же вектор в numpy (в браузере не запустится — это для практики)
import numpy as np
flat = np.array([42.0, 5, 2, 800])
print(flat.shape) # (4,)
Итог
- Вектор — это стрелка (геометрия) и список чисел (алгебра) одновременно.
- В ML объект описывается вектором признаков; число признаков — это размерность.
- В коде вектор — обычный
list; вся арифметика работает в любой размерности.