Alterna · учебный материал

13.3 Ищем ближайшие направления

Используем уже знакомое сравнение векторов из главы 01. Расчёт выполняется в полном пространстве, а не по расстоянию на картинке.

Что в этом материале

Содержание и основные понятия

На предыдущей странице: как меняются векторные представления.
Используем уже знакомое сравнение векторов из главы 01. Расчёт выполняется в полном пространстве, а не по расстоянию на картинке.
Таблица E хранит строку координат для каждого ID. Эти координаты обучаются. Знакомый cosine теперь используется для конкретной задачи поиска близких представлений.
Для изменения рисунка включитеJavaScript; расчёт и теория доступны далее.
Сравниваем векторы, не названия
Для ненулевых q,d cosine=qᵀd/(||q||₂||d||₂). Поиск вычисляет score для каждого кандидата и сортирует по убыванию; при одинаковых scores используем ID как детерминированный tie-break. Сам запрос исключается из списка соседей.
В ручном fixture «кот»=[1,0,0], «пёс»=[.9,.1,0], «рыба»=[0,0,1]. Cosine кот/пёс=.9/√.82≈.993884, кот/рыба=0. Это заданная геометрия, не доказательство того, что модель самостоятельно выучила близость животных.
Эксперимент.
Измените третью координату одного кандидата, наблюдая полный3Dscore. Затем переключите 2D-проекцию графика. Ranking не должен тайно пересчитываться по двум видимым координатам. Для нулевого вектора cosine не определён; такой кандидат помечается отдельно, не получает выдуманный0.
Длина q может содержать информацию, которую cosine удаляет. В некоторых задачах используется dot, Euclidean distance или обученная metric. Нельзя считать cosine универсальным определением смысла. Полный перебор здесь точен и дешёв; ANN-индекс для большого корпуса — отдельное инженерное решение будущего RAG-блока.
from math import sqrt
similarity=.9/sqrt(.9**2+.1**2)
assert abs(similarity-.9938837346736189)<1e-12
Код повторяет только что разобранные операции.
Полный проверяемыйPython-пример главы
доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.
Визуализация не подменяет исходную метрику.
Рисунок показывает только часть пространства. Как этот вопрос продолжает полученный результат?
Python-примеры главы 13
Академическая база →

Структурная карта учебников