詳細解釋
K近鄰(K-Nearest Neighbors, KNN)是基於實例的學習算法,預測時查找訓練集中最近的K個樣本,以它們的標籤投票或平均,簡單直觀,無需訓練階段。
工作原理:
- 距離度量:
- 歐氏距離(最常用)
- 曼哈頓距離
- 餘弦相似度
- 預測:
- 分類:多數投票
- 迴歸:平均值或加權平均
關鍵參數:
- K值:
- 小K:噪聲敏感,過擬合
- 大K:平滑,可能欠擬合
- 通常3-10,交叉驗證選擇
- 距離度量:根據問題選擇
- 權重:距離倒數加權
優勢:
- 簡單:無需訓練
- 靈活:自動適應數據分布
- 多類別:天然支持
- 理論基礎:貝葉斯誤差率
局限:
- 預測慢:需計算所有距離
- 維度災難:高維失效
- 特徵縮放:必須標準化
- 存儲大:保存全部訓練數據
優化:
- KD-Tree:低維加速
- Ball-Tree:高維加速
- 近似:LSH、Annoy
- 降維:先PCA
KNN是簡單直觀的基線算法。