K近鄰法(K-NN,k-NearestNeighbor)
前言
什么是KNN
K-NN是一種簡(jiǎn)單且最常用的分類(lèi)算法,可以應(yīng)用于回歸計(jì)算。K-NN是無(wú)參數(shù)學(xué)習(xí),這意味它不會(huì)對(duì)底層數(shù)據(jù)的分布做出任何假設(shè),它是基于實(shí)例并在一個(gè)有監(jiān)督的學(xué)習(xí)環(huán)境中使用。我們的算法沒(méi)有顯示的模型,它選擇的是記憶訓(xùn)練實(shí)例。
K-NN算法工作原理
KNN用于分類(lèi)時(shí)的輸出結(jié)果是一個(gè)類(lèi)別,這種方法有三個(gè)關(guān)鍵元素:
· 一組標(biāo)記的對(duì)象
· 對(duì)象之間的距離
·k的值-最近鄰的數(shù)量
kNN分類(lèi)原理
KNN分類(lèi)
要對(duì)未標(biāo)記的對(duì)象進(jìn)行分類(lèi),則會(huì)計(jì)算出該對(duì)象對(duì)標(biāo)記的對(duì)象之間的距離(最常用的是歐氏距離),確定其k近鄰點(diǎn),然后使用周邊最多的最近鄰點(diǎn)的類(lèi)標(biāo)簽來(lái)確定該對(duì)象的類(lèi)標(biāo)簽。
歐氏距離
其他常見(jiàn)的距離度量方法包括:
· Hamming Distance(漢明距離)
· Manhattan Distance (曼哈頓距離)
· Minkowski Distance (閔氏距離)
K的取值
求K的值并不容易。K值較小意味著噪聲會(huì)對(duì)結(jié)果產(chǎn)生較大影響,而K值較大會(huì)使得計(jì)算成本變高。有些情況下最好是遍歷每個(gè)可能的K值,然后根據(jù)自己的實(shí)際來(lái)選擇K值。