機(jī)器學(xué)習(xí)-K近鄰(KNN)

一、KNN算法原理


KNN算法是選擇與輸入樣本在特征空間內(nèi)最近鄰的k個(gè)訓(xùn)練樣本并根據(jù)一定的決策規(guī)則,給出輸出結(jié)果 及皂。

決策規(guī)則:

????分類(lèi)任務(wù):輸出結(jié)果為k個(gè)訓(xùn)練樣本中占大多數(shù)的類(lèi) 验烧。

????回歸任務(wù):輸出結(jié)果為k個(gè)訓(xùn)練樣本值的平均值 碍拆。

如下圖所示房?jī)r(jià)預(yù)測(cè)任務(wù):

K代表我們的候選對(duì)象個(gè)數(shù),也就是找和我房間數(shù)量最相近的其他房子的價(jià)格
假設(shè)我們的數(shù)據(jù)源中只有5條信息弧满,現(xiàn)在我想針對(duì)我的房子(只有一個(gè)房間)來(lái)定一個(gè)價(jià)格谱秽。


二、KNN算法步驟


回歸:

? ? ? ? ? 1近哟、計(jì)算待預(yù)測(cè)樣本與訓(xùn)練集的每個(gè)樣本的距離

????????? 2吉执、將訓(xùn)練集的樣本按照距離從小到大排序

? ? ? ? ? 3戳玫、取前K個(gè)距離最小的訓(xùn)練樣本币绩,計(jì)算平均值

分類(lèi):

???????????1缆镣、計(jì)算已知類(lèi)別數(shù)據(jù)集中的點(diǎn)與當(dāng)前點(diǎn)之間的距離董瞻;

????????????2、按照距離遞增依次排序眠蚂;

????????????3逝慧、選取與當(dāng)前點(diǎn)距離最小的K個(gè)點(diǎn)笛臣;

????????????4、確定前k個(gè)點(diǎn)所在類(lèi)別的出現(xiàn)頻率诞丽;

????????????5、返回前k個(gè)點(diǎn)出現(xiàn)頻率最高的類(lèi)別作為當(dāng)前點(diǎn)的預(yù)測(cè)分類(lèi)

三懂衩、KNN算法三要素


K值的選擇浊洞、距離度量和分類(lèi)決策規(guī)則是K近鄰算法的三個(gè)基本要素枷餐。當(dāng)三個(gè)要素確定后毛肋,對(duì)于任何一個(gè)新的輸入實(shí)例惊暴,它所屬的Y值也確定了辽话,本節(jié)介紹了三要素的含義典徘。

?1逮诲、K值的選擇:

K取值較小時(shí),模型復(fù)雜度高齐唆,訓(xùn)練誤差會(huì)減小,泛化能力減弱锭弊;K取值較大時(shí),模型復(fù)雜度低桃犬,訓(xùn)練誤差會(huì)增大土匀,泛化能力有一定的提高就轧。KNN模型的復(fù)雜度可以通過(guò)對(duì)噪聲的容忍度來(lái)理解,若模型對(duì)噪聲很敏感,則模型的復(fù)雜度高惋啃;反之,模型的復(fù)雜度低。為了更好理解模型復(fù)雜度的含義椭坚,我們?nèi)∫粋€(gè)極端,分析K=1和K="樣本數(shù)"的模型復(fù)雜度垂涯。

由上圖可知膳殷,K=1時(shí)册招,模型輸出的結(jié)果受噪聲的影響很大虑鼎。


由上圖可知絮短,樣本數(shù)等于7杉允,當(dāng)K=7時(shí)痢缎,不管輸入數(shù)據(jù)的噪聲有多大署穗,輸出結(jié)果都是綠色類(lèi),模型對(duì)噪聲極不敏感,但是模型太過(guò)簡(jiǎn)單,包含的信息太少,也是不可取的。

通過(guò)上面兩種極端的K選取結(jié)果可知尿背,K值選擇應(yīng)適中残家,K值一般小于20陪捷,建議采用交叉驗(yàn)證的方法選取合適的K值啡直。

2、距離的度量:

KNN算法用距離來(lái)度量?jī)蓚€(gè)樣本間的相似度。

常用的距離表示方法:

歐式距離公式


曼哈頓距離公式


閔可夫斯基距離公式

可以看出早芭,歐式距離是閔可夫斯基距離在p=2時(shí)的特例,而曼哈頓距離是p=1時(shí)的特例 司抱。

3. 分類(lèi)決策規(guī)則:

KNN算法一般是用多數(shù)表決方法资溃,即由輸入實(shí)例的K個(gè)鄰近的多數(shù)類(lèi)決定輸入實(shí)例的類(lèi)溶锭。這種思想也是經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化的結(jié)果拱绑。

訓(xùn)練樣本為(xi , yi)。當(dāng)輸入實(shí)例為 x猎拨,標(biāo)記為c膀藐,N\kappa (x)是輸入實(shí)例x的k近鄰訓(xùn)練樣本集。

我們定義訓(xùn)練誤差率是K近鄰訓(xùn)練樣本標(biāo)記與輸入標(biāo)記不一致的比例红省,誤差率表示為:

(2.1)

因此额各,要使誤差率最小化即經(jīng)驗(yàn)風(fēng)險(xiǎn)最小,就要使(2.1)式右端的\frac{1}{k}\sum_{xi \in N {\kappa } (x)} I(Yi = C j)最大吧恃,即K近鄰的標(biāo)記值盡可能的與輸入標(biāo)記一致虾啦,所以多數(shù)表決規(guī)則等價(jià)于經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化。


四蚜枢、KNN算法優(yōu)缺點(diǎn)


優(yōu)點(diǎn):

1)算法簡(jiǎn)單缸逃,理論成熟针饥,可用于分類(lèi)和回歸厂抽。

2)對(duì)異常值不敏感。

3)可用于非線性分類(lèi)丁眼。

4)比較適用于容量較大的訓(xùn)練數(shù)據(jù)筷凤,容量較小的訓(xùn)練數(shù)據(jù)則很容易出現(xiàn)誤分類(lèi)情況。

5)KNN算法原理是根據(jù)鄰域的K個(gè)樣本來(lái)確定輸出類(lèi)別苞七,因此對(duì)于不同類(lèi)的樣本集有交叉或重疊較多的待分樣本集來(lái)說(shuō)藐守,KNN方法較其他方法更為合適。

缺點(diǎn):

1)時(shí)間復(fù)雜度和空間復(fù)雜度高蹂风。

2)訓(xùn)練樣本不平衡卢厂,對(duì)稀有類(lèi)別的預(yù)測(cè)準(zhǔn)確率低。

3)相比決策樹(shù)模型惠啄,KNN模型可解釋性不強(qiáng)慎恒。

參考:https://mp.weixin.qq.com/s?__biz=MzU0MDQ1NjAzNg==&mid=2247485435&idx=1&sn=e7e78e931eda0fe10972db8f8fae46b1&chksm=fb39a2f0cc4e2be6d546aa746adccfc5034495e7703c76e576dca76414542398d488ba2bad6a

附帶代碼:K近鄰(KNN)-代碼 - 簡(jiǎn)書(shū)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末任内,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子融柬,更是在濱河造成了極大的恐慌死嗦,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粒氧,死亡現(xiàn)場(chǎng)離奇詭異越除,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)外盯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)摘盆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人饱苟,你說(shuō)我怎么就攤上這事骡澈。” “怎么了掷空?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵肋殴,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我坦弟,道長(zhǎng)护锤,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任酿傍,我火速辦了婚禮烙懦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘赤炒。我一直安慰自己氯析,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布莺褒。 她就那樣靜靜地躺著掩缓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪遵岩。 梳的紋絲不亂的頭發(fā)上你辣,一...
    開(kāi)封第一講書(shū)人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音尘执,去河邊找鬼舍哄。 笑死,一個(gè)胖子當(dāng)著我的面吹牛誊锭,可吹牛的內(nèi)容都是我干的表悬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼丧靡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蟆沫!你這毒婦竟也來(lái)了叉讥?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤饥追,失蹤者是張志新(化名)和其女友劉穎图仓,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體但绕,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡救崔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了捏顺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片六孵。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖幅骄,靈堂內(nèi)的尸體忽然破棺而出劫窒,到底是詐尸還是另有隱情,我是刑警寧澤拆座,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布主巍,位于F島的核電站,受9級(jí)特大地震影響挪凑,放射性物質(zhì)發(fā)生泄漏孕索。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一躏碳、第九天 我趴在偏房一處隱蔽的房頂上張望搞旭。 院中可真熱鬧,春花似錦菇绵、人聲如沸肄渗。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)翎嫡。三九已至,卻和暖如春丹诀,著一層夾襖步出監(jiān)牢的瞬間钝的,已是汗流浹背翁垂。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工铆遭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人沿猜。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓枚荣,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親啼肩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子橄妆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容