共用方式為


kNN 與 ANN

向量搜尋演算法的兩個主要類別是 K 最近鄰項目 (kNN) 和近似最近鄰項目 (ANN,請勿與人工神經網路 (Artificial Neural Network) 混淆)。 kNN 精確但需要大量運算,因此較不適合大型資料集。 另一方面,ANN 在精確度與效率之間提供平衡,使其更適合大規模應用程式。

kNN 的運作方式

  1. 向量化:資料集中的每個資料點都會以多維度空間中的向量表示。
  2. 距離計算:若要分類新的資料點 (查詢點),演算法會使用距離函式來計算查詢點與資料集中其他所有點之間的距離。
  3. 尋找近鄰項目:演算法會根據計算的距離,識別最接近查詢點的 k 最接近資料點 (近鄰項目)。 k (近鄰項目數) 的值至關重要。 小的 k 對雜訊很敏感,而大的 k 可以讓詳細資料平順。
  4. 進行預測:
  • 分類:對於分類工作,kNN 會將類別標籤指派給 k 近鄰項目中最常見的查詢點。 基本上,會執行「多數投票」。
  • 迴歸:對於迴歸工作,kNN 會將查詢點的值預測為 k 近鄰項目值的平均值 (或有時加權平均值)。

ANN 的運作方式

  1. 向量化:資料集中的每個資料點都會以多維度空間中的向量表示。
  2. 索引和資料結構:ANN 演算法會使用進階資料結構 (例如 KD 樹狀結構、地區敏感雜湊或圖表型方法) 來編製資料點的索引,以加快搜尋速度。
  3. 距離計算:ANN 演算法不會計算每個點的確切距離,而是使用啟發學習法快速識別可能包含最近鄰項目空間的區域。
  4. 尋找近鄰項目:演算法會識別一組可能接近查詢點的資料點。 這些近鄰項目不保證是最接近的點,但對於實際用途已足夠接近。
  5. 進行預測:
  • 分類:對於分類工作,ANN 會將類別標籤指派給已識別近鄰項目中最常見的查詢點,類似於 kNN。
  • 迴歸:對於迴歸工作,ANN 會將查詢點的值預測為已識別近鄰項目值的平均值 (或加權平均值)。