---
title: "K 近鄰演算法（KNN）"
slug: knn
language: zh-TW
source: https://aiterms.tw/terms/knn
updated_at: 2026-06-22
tags: [機器學習, 統計方法, 推薦系統, 模型評估]
ipas_term: false
---

# K 近鄰演算法（KNN）

K 近鄰演算法（K-Nearest Neighbors, KNN）是一種非參數式監督學習演算法，透過尋找訓練集中距離最近的 K 個樣本進行多數投票（分類）或加權平均（回歸），無需建立顯式的模型參數。

## 完整說明

K 近鄰演算法（K-Nearest Neighbors, KNN）屬於懶惰學習（Lazy Learning）方法，訓練階段僅儲存資料，預測時才計算新樣本與所有訓練樣本之間的距離（通常為歐氏距離）並找出 K 個最近鄰居，以多數投票決定分類結果或取平均值進行回歸。KNN 原理直觀、無需訓練過程，但預測時間與資料量線性成長。廣泛應用於推薦系統的協作過濾、文件相似度計算、醫療診斷輔助及異常偵測等場景。

## 常見問題

### KNN 的 K 值要如何選擇？

K 值選擇需在過擬合（K 太小）和欠擬合（K 太大）之間取得平衡。實務流程：先用 K = sqrt(n)（n 為訓練樣本數）作為起始點，再透過 k-fold 交叉驗證在候選 K 值清單（如 1, 3, 5, 7, 11, 15 等奇數）中搜尋驗證集上準確率最高的值。二分類問題建議選奇數 K 避免平票。若資料有明顯雜訊，K 應偏大；若類別邊界複雜，K 應偏小。最終選擇時，若兩個 K 值準確率相近，選較大的以獲得更穩健的預測。

### KNN 與向量資料庫的關係是什麼？

現代向量資料庫（如 Pinecone、Weaviate、pgvector）的核心功能是高效的近似 K 近鄰搜尋（Approximate Nearest Neighbor, ANN），本質上是 KNN 的大規模工程實現。在 RAG（檢索增強生成）架構中，將使用者查詢轉換為嵌入向量後，向量資料庫負責找出語意最相近的 K 個文件片段，這個過程即為 KNN 搜尋。主要差異在於：傳統 KNN 追求精確近鄰，而 ANN 以犧牲少量精度換取極大的速度提升，使得在億級向量庫中的毫秒級搜尋成為可能。

### iPAS 考題中 KNN 的常見考點有哪些？

iPAS 考題中 KNN 常從四個角度出題：一是懶惰學習特性（訓練快、預測慢、記憶體占用大）；二是超參數 K 對偏差-方差的影響（K 小 = 高方差低偏差、K 大 = 低方差高偏差）；三是特徵縮放的必要性（KNN 基於距離，未縮放的特徵會主導結果）；四是維度詛咒（高維空間中所有點距離趨於相近，KNN 效果下降）。考生應能辨別 KNN 屬於非參數、監督學習、懶惰學習方法，並與 SVM、決策樹等其他分類演算法比較訓練/預測效能特性。

---

來源：https://aiterms.tw/terms/knn
快查頁：https://aiterms.tw/terms/knn
最後更新：2026/06/22
深度解說：https://aiterms.tw/learning/what-is-knn