原文連結:https://zhuanlan.zhihu.com/p/22345658
kNN 可以用來進行分類或者回歸,大緻方法基本相同,本篇文章将主要介紹使用 kNN 進行分類。
K:鄰居數量
1.距離函數:
最常用L2距離,即歐氏距離。
标準化:要對距離标準化(歸一化)
2.機率KNN
定義:可有時我們并不想知道一個确切地分類,而想知道它屬于某個分類的機率是多大。
這隻兔子的特征資料在悲傷和痛苦的分界處,機器不論判斷它屬于哪個類别都很有可能是錯的。這時,類似“它有一半可能性是痛苦,一半可能性是悲傷”的回報會更有意義。
方法:距離目标最近的15 個樣本中,有8隻悲傷和7隻痛苦,由此判斷:它有53%的可能性是悲傷,47%的可能性是痛苦,0%的可能性是絕望。
3.優缺點
kNN 雖然思路簡單,但實作起來有一個問題,那就是計算量很大;當資料量很多時,拿一組特征來和所有樣本依次計算距離并選取最近的k個,是非常耗費時間的。是以,在量化課堂接下來的文章中,我們将講解 kNN 的一個高效算法—kd樹。