1. 程式人生 > >K近鄰(KNN)演算法的學習

K近鄰(KNN)演算法的學習

K近鄰演算法

首先應該明白K近鄰演算法是一種分類演算法,這裡不作實際問題抽象成數學模型的解釋,只在數學方面來說明。

背景

已知一系列的資料點被分成了幾個類,現在有一個新的未知點,那麼該把這個未知點歸為哪一類呢?這就是K近鄰演算法來解決的問題。

演算法

  1. 在未知點附近找出K個最近鄰的點(一般K取較小的奇數)
  2. 查詢出的這K個點分別屬於哪個類
  3. 將未知點歸於包含最多點的那個類

PS:需要指出的是,在尋找最近鄰點是選擇的距離衡量方式有多種,可能會產生不同的結果。另外,在實際情況中根據距離加上權重可能效果更好(普通演算法中K個最近鄰的距離的權重是相同的)。