カテゴリ:

ベクトル類似関数

VECTOR_L2_DISTANCE

2つの ベクトル 間のL2距離を計算します。

L2距離はユークリッド距離とも呼ばれ、ベクトル空間における2つのベクトル間の距離を表す尺度です。距離は、ベクトル要素の差の2乗和の平方根を取ることによって計算されます。距離はゼロかそれ以上の値です。距離がゼロの場合、ベクトルは同一です。距離が大きいほど、ベクトルは離れています。

こちらもご参照ください。

VECTOR_INNER_PRODUCTVECTOR_COSINE_SIMILARITYベクトル埋め込み

構文

VECTOR_L2_DISTANCE( <vector>, <vector> )
Copy

引数

vector

距離を計算する元の VECTOR 値。

vector

距離を計算する先の VECTOR の値。

戻り値

2つの入力ベクトル間の距離を FLOAT 値で返します。

使用上の注意

  • ベクトル比較関数の計算最適化により、浮動小数点演算誤差が通常よりわずかに大きくなることがあります(例: 約1e-4)。

この例では、 VECTOR_L2_DISTANCE 関数を使用して、テーブル内のどのベクトルが列 ab の間で互いに最も近いかを判断しています。

CREATE TABLE vectors (a VECTOR(FLOAT, 3), b VECTOR(FLOAT, 3));
INSERT INTO vectors SELECT [1.1,2.2,3]::VECTOR(FLOAT,3), [1,1,1]::VECTOR(FLOAT,3);
INSERT INTO vectors SELECT [1,2.2,3]::VECTOR(FLOAT,3), [4,6,8]::VECTOR(FLOAT,3);

-- Compute the pairwise inner product between columns a and b
SELECT VECTOR_L2_DISTANCE(a, b) FROM vectors;
Copy
+------+
| 2.3  |
|------|
| 6.95 |
+------+