FLFamily Learning

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

Вектор признаков

Объект превращается в упорядоченный список чисел. Так модель получает квартиру, слово, пользователя или картинку на вход.

18 минутБазовый

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

Вектор признаков

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

1. Вектор как запись объекта

Возьмем квартиру. Человек описывает ее словами: площадь 42 м2, две комнаты, 700 метров до метро. Модель не работает с такими словами напрямую. Ей нужен численный объект. Поэтому мы задаем схему: x = [площадь, комнаты, расстояние до метро]. Тогда квартира превращается в x = [42, 2, 0.7].

Важно, что порядок компонент - часть смысла. [42, 2, 0.7] и [2, 42, 0.7] содержат похожий набор чисел, но для модели это разные входы. Во втором случае модель подумает, что площадь равна 2, а комнат 42. Ошибка не математическая, а смысловая: нарушен контракт данных.

2. Размерность - это количество признаков

Если в векторе три компоненты, его размерность равна 3. Это не обязательно физическое трехмерное пространство. Это признаковое пространство: каждая ось отвечает за один признак. В примере оси такие: площадь, комнаты, расстояние.

Когда признаков становится 100, 768 или 4096, картинку уже нельзя нарисовать глазами. Но правила остаются теми же. Эмбеддинг слова в transformer-модели может иметь сотни или тысячи компонент. Каждая компонента сама по себе обычно плохо интерпретируется, но весь вектор хранит полезное представление объекта.

3. Почему масштаб признаков важен

Площадь в нашем примере измеряется десятками, комнаты - единицами, расстояние - дробными числами. Если модель использует расстояния или скалярные произведения, разные масштабы начинают влиять на вычисления. Признак с большими числами может доминировать просто из-за единиц измерения.

Поэтому в ML часто нормализуют признаки: приводят их к сопоставимым масштабам. Это не меняет смысл объекта, но меняет координаты, в которых модель работает с объектом.

4. Что значит 'модель видит вектор'

Когда мы говорим 'модель видит квартиру', это сокращение. На самом деле модель получает массив чисел. Дальше она применяет к нему операции линейной алгебры: скалярные произведения, матричные умножения, нормы, проекции.

В нейросети первый линейный слой тоже берет вектор или матрицу векторов и умножает на матрицу весов. Поэтому понимание входного вектора - первый шаг к пониманию того, что происходит внутри модели.

Связь с AI

Так модель получает квартиру, слово, пользователя или картинку на вход.

Типичные ошибки

  • Смотреть на числа без схемы признаков.
  • Путать порядок компонент: [площадь, комнаты] и [комнаты, площадь] - разные входы.
  • Думать, что размерность всегда можно представить как обычное 2D/3D пространство.
  • Игнорировать масштаб признаков и единицы измерения.

Практика

Есть пользователь: возраст 34, 12 покупок за месяц, средний чек 1800. Схема [возраст, покупки, средний чек]. Запиши вектор.

x = [34, 12, 1800].

Почему [12, 34, 1800] не является тем же самым входом при той же схеме?

Потому что модель прочитает 12 как возраст, а 34 как число покупок. Смысл компонент задается позицией.

Какой shape будет у матрицы, если у нас 1000 квартир и каждая описана 3 признаками?

X.shape = (1000, 3), если строки - квартиры, а столбцы - признаки.

Проверка

Объяснить, почему [42, 2, 0.7] и [2, 42, 0.7] - разные данные.