カテゴリ:

Vector functions

VECTOR_L2_DISTANCE

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

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

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

VECTOR_INNER_PRODUCT , VECTOR_COSINE_SIMILARITY , VECTOR_L1_DISTANCE , ベクトル埋め込み

構文

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 |
+------+