В этой части мы увидим, как вычисляется x-соответствие.
В предыдущей части мы увидели, как вычисляется внутреннее произведение (VP). В этой части мы увидим, как вычисляется x-соответствие, также известное как соответствие косинусов.
X-соответствие — это мера схожести между двумя векторами, которая вычисляется путем деления их внутреннего произведения на произведение их норм. Математически это можно записать следующим образом:
x-соответствие = VP(u, v) / (|u| * |v|)
где:
VP(u, v)
— внутреннее произведение векторов u
и v
|u|
и |v|
— нормы векторов u
и v
соответственноДля вычисления x-соответствия мы можем использовать тот же подход, который мы использовали для вычисления внутреннего произведения.
Самый простой способ вычислить x-соответствие — использовать цикл для суммирования произведений соответствующих элементов векторов и затем разделить на произведение норм векторов.
def compute_x_similarity(u, v):
numerator = 0
den1 = 0
den2 = 0
for i in range(len(u)):
numerator += u[i] * v[i]
den1 += u[i] ** 2
den2 += v[i] ** 2
den = (den1 ** 0.5) * (den2 ** 0.5)
if den == 0:
return 0
return numerator / den
Если у вас есть библиотека Numpy, вы можете использовать ее для более эффективного вычисления x-соответствия.
import numpy as np
def compute_x_similarity(u, v):
numerator = np.dot(u, v)
den1 = np.linalg.norm(u)
den2 = np.linalg.norm(v)
den = den1 * den2
if den == 0:
return 0
return numerator / den
В этой части мы увидели, как вычисляется x-соответствие. Это важная метрика в задачах поиска внутреннего продукта максимума и ее можно использовать для измерения схожести между двумя векторами.