共用方式為


series_cosine_similarity()

適用於:✅Microsoft網狀架構✅✅✅

計算兩個數值向量的餘弦相似度。

函式 series_cosine_similarity() 會接受兩個數值數列做為輸入,並計算其 餘弦相似性

語法

series_cosine_similarity( series1, series2, [*magnitude1, [*magnitude2]])

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
series1, series2 dynamic ✔️ 具有數值數據的輸入陣列。
級1級,級2 級2級 real 第一個向量和第二個向量的選擇性大小。 大小是向量本身點乘積的平方根。 如果未提供大小,則會加以計算。

傳回

傳回類型的real值,其值為 series2 之 series1餘弦相似度。 如果這兩個數列長度不相等,則較長的數列將會截斷為較短的序列長度。 將會忽略輸入數列的任何非數值專案。

注意

如果其中一個或兩個輸入陣列都是空的,則結果會是 null

最佳化效能

若要在使用此函式時增強效能和降低儲存需求,請考慮使用 Vector16 編碼原則來儲存不需要 64 位精確度的浮點向量,例如 ML 向量內嵌。 此 Vector16 配置檔利用 Bfloat16 浮點表示法,可以大幅優化作業,並將記憶體大小減少 4 倍。 如需編碼原則 Vector16 的詳細資訊,請參閱 編碼原則類型

範例

datatable(s1:dynamic, s2:dynamic)
[
    dynamic([0.1,0.2,0.1,0.2]), dynamic([0.11,0.2,0.11,0.21]),
    dynamic([0.1,0.2,0.1,0.2]), dynamic([1,2,3,4]),
]
| extend cosine_similarity=series_cosine_similarity(s1, s2)
s1 s2 cosine_similarity
[0.1,0.2,0.1,0.2] [0.11,0.2,0.11,0.21] 0.99935343825504
[0.1,0.2,0.1,0.2] [1,2,3,4] 0.923760430703401