人工智能之K近鄰算法(KNN)
前言:人工智能機(jī)器學(xué)習(xí)有關(guān)算法內(nèi)容,請參見公眾號“科技優(yōu)化生活”之前相關(guān)文章。人工智能之機(jī)器學(xué)習(xí)主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點(diǎn)探討一下K近鄰(KNN)算法。 ^_^
K近鄰KNN(k-Nearest Neighbor)算法,也叫K最近鄰算法,1968年由 Cover 和 Hart 提出,是機(jī)器學(xué)習(xí)算法中比較成熟的算法之一。K近鄰算法使用的模型實(shí)際上對應(yīng)于對特征空間的劃分。KNN算法不僅可以用于分類,還可以用于回歸。
KNN概念:
K近鄰算法KNN就是給定一個(gè)訓(xùn)練數(shù)據(jù)集,對新的輸入實(shí)例,在訓(xùn)練數(shù)據(jù)集中找到與該實(shí)例最鄰近的K個(gè)實(shí)例(K個(gè)鄰居),這K個(gè)實(shí)例的多數(shù)屬于某個(gè)類,就把該輸入實(shí)例分類到這個(gè)類中。
如果一個(gè)樣本在特征空間中的k個(gè)最相似(即特征空間中最鄰近)的樣本中的大多數(shù)屬于某一個(gè)類別,則該樣本也屬于這個(gè)類別。K近鄰算法使用的模型實(shí)際上對應(yīng)于對特征空間的劃分。
通俗地講,就是“物以類聚,人以群分”。
分類策略,就是“少數(shù)從屬于多數(shù)”。
算法描述:
KNN沒有顯示的訓(xùn)練過程,在測試時(shí),計(jì)算測試樣本和所有訓(xùn)練樣本的距離,根據(jù)最近的K個(gè)訓(xùn)練樣本的類別,通過多數(shù)投票的方式進(jìn)行預(yù)測。具體算法描述如下:
輸入:訓(xùn)練數(shù)據(jù)集T={(x1,y1),(x2,y2),...,(xn,yn)},其中xi∈Rn,yi∈{c1,c2,...,cK}和測試數(shù)據(jù)x
輸出:實(shí)例x所屬的類別
1) 根據(jù)給定的距離度量,在訓(xùn)練集T中找到與x距離最近的k個(gè)樣本,涵蓋這k個(gè)點(diǎn)的x的鄰域記作Nk(x)。
2)在Nk(x)中根據(jù)分類規(guī)則(如多數(shù)表決)確定x的類別y:
核心思想:
當(dāng)無法判定當(dāng)前待分類點(diǎn)是從屬于已知分類中的哪一類時(shí),依據(jù)統(tǒng)計(jì)學(xué)的理論看它所處的位置特征,衡量它周圍鄰居的權(quán)重,而把它歸為到權(quán)重更大的那一類中。
kNN的輸入是測試數(shù)據(jù)和訓(xùn)練樣本數(shù)據(jù)集,輸出是測試樣本的類別。
KNN算法中,所選擇的鄰居都是已經(jīng)正確分類的對象。KNN算法在定類決策上只依據(jù)最鄰近的一個(gè)或者幾個(gè)樣本的類別來決定待分樣本所屬的類別。
算法要素:
KNN 算法有3個(gè)基本要素:
1)K值的選擇:K值的選擇會對算法的結(jié)果產(chǎn)生重大影響。K值較小意味著只有與輸入實(shí)例較近的訓(xùn)練實(shí)例才會對預(yù)測結(jié)果起作用,但容易發(fā)生過擬合;如果 K 值較大,優(yōu)點(diǎn)是可以減少學(xué)習(xí)的估計(jì)誤差,但缺點(diǎn)是學(xué)習(xí)的近似誤差增大,這時(shí)與輸入實(shí)例較遠(yuǎn)的訓(xùn)練實(shí)例也會對預(yù)測起作用,使預(yù)測發(fā)生錯(cuò)誤。在實(shí)際應(yīng)用中,K 值一般選擇一個(gè)較小的數(shù)值,通常采用交叉驗(yàn)證的方法來選擇最優(yōu)的 K 值。隨著訓(xùn)練實(shí)例數(shù)目趨向于無窮和 K=1 時(shí),誤差率不會超過貝葉斯誤差率的2倍,如果K也趨向于無窮,則誤差率趨向于貝葉斯誤差率。
2)距離度量:距離度量一般采用 Lp 距離,當(dāng)p=2時(shí),即為歐氏距離,在度量之前,應(yīng)該將每個(gè)屬性的值規(guī)范化,這樣有助于防止具有較大初始值域的屬性比具有較小初始值域的屬性的權(quán)重過大。
對于文本分類來說,使用余弦(cosine)來計(jì)算相似度就比歐式(Euclidean)距離更合適。
3)分類決策規(guī)則:該算法中的分類決策規(guī)則往往是多數(shù)表決,即由輸入實(shí)例的K個(gè)最臨近的訓(xùn)練實(shí)例中的多數(shù)類決定輸入實(shí)例的類別。
算法流程:
1)準(zhǔn)備數(shù)據(jù),對數(shù)據(jù)進(jìn)行預(yù)處理。
2)選用合適的數(shù)據(jù)結(jié)構(gòu)存儲訓(xùn)練數(shù)據(jù)和測試元組。
3)設(shè)定參數(shù),如K。
4)維護(hù)一個(gè)距離由大到小的優(yōu)先級隊(duì)列(長度為K),用于存儲最近鄰訓(xùn)練元組。隨機(jī)從訓(xùn)練元組中選取K個(gè)元組作為初始的最近鄰元組,分別計(jì)算測試元組到這K個(gè)元組的距離,將訓(xùn)練元組標(biāo)號和距離存入優(yōu)先級隊(duì)列。
5)遍歷訓(xùn)練元組集,計(jì)算當(dāng)前訓(xùn)練元組與測試元組的距離,將所得距離L與優(yōu)先級隊(duì)列中的最大距離Lmax。
6)進(jìn)行比較。若L>=Lmax,則舍棄該元組,遍歷下一個(gè)元組。若L
7)遍歷完畢,計(jì)算優(yōu)先級隊(duì)列中K個(gè)元組的多數(shù)類,并將其作為測試元組的類別。
8)測試元組集測試完畢后計(jì)算誤差率,繼續(xù)設(shè)定不同的K值重新進(jìn)行訓(xùn)練,最后取誤差率最小的K值。
算法優(yōu)點(diǎn):
1)KNN從原理上也依賴于極限定理,但在類別決策時(shí),只與極少量的相鄰樣本有關(guān)。
2)由于KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對于類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。
3)算法本身簡單有效,精度高,對異常值不敏感,易于實(shí)現(xiàn),無需估計(jì)參數(shù),分類器不需要使用訓(xùn)練集進(jìn)行訓(xùn)練,訓(xùn)練時(shí)間復(fù)雜度為0。
4)KNN 分類的計(jì)算復(fù)雜度和訓(xùn)練集中的文檔數(shù)目成正比,即,如果訓(xùn)練集中文檔總數(shù)為n,那么KNN的分類時(shí)間復(fù)雜度為O(n)。
5)適合對稀有事件進(jìn)行分類。
6)特別適合于多分類問題(multi-modal),對象具有多個(gè)類別標(biāo)簽,kNN比SVM的表現(xiàn)要好。
算法缺點(diǎn):
1)當(dāng)樣本不平衡時(shí),樣本數(shù)量并不能影響運(yùn)行結(jié)果。
2)算法計(jì)算量較大;
3)可理解性差,無法給出像決策樹那樣的規(guī)則。
改進(jìn)策略:
KNN算法因其提出時(shí)間較早,隨著其他技術(shù)的不斷更新和完善,KNN算法逐漸顯示出諸多不足之處,因此許多KNN算法的改進(jìn)算法也應(yīng)運(yùn)而生。算法改進(jìn)目標(biāo)主要朝著分類效率和分類效果兩個(gè)方向。
改進(jìn)1:通過找出一個(gè)樣本的k個(gè)最近鄰居,將這些鄰居的屬性的平均值賦給該樣本,就可以得到該樣本的屬性。
改進(jìn)2:將不同距離的鄰居對該樣本產(chǎn)生的影響給予不同的權(quán)值(weight),如權(quán)值與距離成反比(1/d),即和該樣本距離小的鄰居權(quán)值大,稱為可調(diào)整權(quán)重的K最近鄰居法WAKNN(weighted adjusted K nearestneighbor)。但WAKNN會造成計(jì)算量增大,因?yàn)閷γ恳粋€(gè)待分類的文本都要計(jì)算它到全體已知樣本的距離,才能求得它的K個(gè)最近鄰點(diǎn)。
改進(jìn)3:事先對已知樣本點(diǎn)進(jìn)行剪輯(editing技術(shù)),事先去除(condensing技術(shù))對分類作用不大的樣本。該算法比較適用于樣本容量比較大的類域的自動分類,而那些樣本容量較小的類域采用這種算法比較容易產(chǎn)生誤分。
考慮因素:
實(shí)現(xiàn) K 近鄰算法時(shí),主要考慮的因素是如何對訓(xùn)練數(shù)據(jù)進(jìn)行快速 K 近鄰搜索,這在特征空間維數(shù)大及訓(xùn)練數(shù)據(jù)容量大時(shí)是非常必要的。
應(yīng)用場景:
K 近鄰算法應(yīng)用場景包括機(jī)器學(xué)習(xí)、字符識別、文本分類、圖像識別等領(lǐng)域。
結(jié)語:
K近鄰算法KNN,也叫K最近鄰算法,是機(jī)器學(xué)習(xí)研究的一個(gè)活躍領(lǐng)域。最簡單的暴力算法,比較適合小數(shù)據(jù)樣本。K近鄰算法使用的模型實(shí)際上對應(yīng)于對特征空間的劃分。KNN算法不僅可以用于分類,還可以用于回歸。KNN算法在人工智能之機(jī)器學(xué)習(xí)、字符識別、文本分類、圖像識別等領(lǐng)域有著廣泛應(yīng)用。
您可能也感興趣:
今日熱點(diǎn)
為您推薦
A股5家上市險(xiǎn)企去年保費(fèi)收入增長0.03% 行業(yè)整體增速放緩
8家險(xiǎn)企股權(quán)被掛牌轉(zhuǎn)讓,為何險(xiǎn)企股權(quán)不再被追捧?
深圳最低工資標(biāo)準(zhǔn)調(diào)整為2360元/月 失業(yè)保險(xiǎn)金為2124元/月
更多
- 科技部和浙江發(fā)布《創(chuàng)新行動方案》 構(gòu)建高標(biāo)準(zhǔn)技術(shù)要素市場...
- 蕪湖釋放創(chuàng)新“N次方”效應(yīng) 數(shù)字賦能驅(qū)動產(chǎn)業(yè)升級
- 重慶:激發(fā)人才創(chuàng)新活力,到2025年創(chuàng)新要素活躍度顯著增強(qiáng)
- 西寧加快知識產(chǎn)權(quán)強(qiáng)市建設(shè)步伐 去年兌現(xiàn)資助資金200萬元
- 無錫錫山區(qū)全面啟動實(shí)施“雙招雙引” 引進(jìn)高端創(chuàng)新資源
- 重慶巴南區(qū)落實(shí)創(chuàng)新驅(qū)動發(fā)展戰(zhàn)略 以科技創(chuàng)新引領(lǐng)五大產(chǎn)業(yè)集...
- 朝陽北票經(jīng)開區(qū)加快推進(jìn)數(shù)字經(jīng)濟(jì)發(fā)展 推動體制機(jī)制創(chuàng)新
- 湖北省先進(jìn)低碳冶金產(chǎn)業(yè)技術(shù)創(chuàng)新聯(lián)合體組建 打造五千億級產(chǎn)...
更多
- 指導(dǎo)企業(yè)鞏固傳統(tǒng)市場、開拓新興市場 促進(jìn)綠色貿(mào)易健康發(fā)展
- 去年湖南GDP同比增長7.7% 固定資產(chǎn)投資增長7.8%
- 深圳不斷提升對外投資水平 “走出去”服務(wù)水平顯著提高
- 去年實(shí)際使用外資達(dá)1.1萬億元 來源地投資穩(wěn)定增長
- 北京“十四五”投資實(shí)現(xiàn)良好開局 高技術(shù)產(chǎn)業(yè)投資亮眼
- 山東抓投資抓項(xiàng)目 新興領(lǐng)域投資規(guī)模持續(xù)擴(kuò)大
- 2021年各地引資成績單亮眼 迸發(fā)出巨大經(jīng)濟(jì)活力
- 多地重大項(xiàng)目投資規(guī)模力度明顯加大 新基建項(xiàng)目成重要發(fā)力點(diǎn)
排行
最近更新
- 人工智能之K近鄰算法(KNN)
- 傅里葉紅外光譜儀基本原理和特點(diǎn)
- BAT三大巨頭決戰(zhàn)人工智能
- 聯(lián)想樂Pad A1拆機(jī)全過程
- 安規(guī)測試簡介
- 一文讀懂:什么是工業(yè)物聯(lián)網(wǎng)?
- 聚焦年夜飯市場:外送服務(wù)成標(biāo)配,預(yù)制菜的戲份越來越足
- 青松股份預(yù)計(jì)去年最高預(yù)虧9.2億元 化妝品業(yè)務(wù)虧損系主要因素
- 平安產(chǎn)險(xiǎn)深圳分公司:遇高額維修費(fèi)怎么辦 平安定損員暖心協(xié)助
- 保險(xiǎn)打工人年終獎多數(shù)和上年持平或下降,怎樣發(fā)才合理?
- 12個(gè)優(yōu)質(zhì)項(xiàng)目集體落地天津?yàn)I海新區(qū) 持續(xù)增強(qiáng)區(qū)域發(fā)展活力
- 擴(kuò)大保障性租賃住房供給 提升“新市民”的城市融入感
- 科技部和浙江發(fā)布《創(chuàng)新行動方案》 構(gòu)建高標(biāo)準(zhǔn)技術(shù)要素市場...
- 糖尿病患者能喝飲料嗎?“無糖飲料”可以大膽喝?
- 肩袖損傷和肩周炎有明顯區(qū)別 不可自行盲目拉伸
- 加密貨幣和股票投資平臺Domain Money完成3300萬美元融資
- 泄露截圖顯示OpenSea正在添加Solana NFT以及Phantom錢包支持
- 年終聚會減少 到急診科“醒酒”的人較往年同期有所減少
- 口腔潰瘍與情緒壓力有關(guān) 保持心情舒暢有助于加快自愈速度
- 不少快餐店推出植物肉套餐 并不能與傳統(tǒng)肉類相媲美
- 平安產(chǎn)險(xiǎn)深圳分公司:綠色保險(xiǎn)亮相第十五屆深圳國際金融博覽會
- 滑雪醫(yī)生 如何急救
- 讓實(shí)體店人氣重新旺起來
- 老字號年貨賣出新味道
- “北京快件因疫情禁發(fā)”不屬實(shí)
- 豐臺區(qū)設(shè)1319個(gè)核酸檢測點(diǎn)
- 沒有零食的童年不完整 營養(yǎng)師教你挑選過年健康零食
- 北京:健康寶每日24時(shí)比對核酸結(jié)果并賦碼
- 搶票軟件“VIP陷阱”何時(shí)休?
- 真感冒了喝熱粥有用嗎?這兩種食材能預(yù)防感冒!
今日要聞
- 人工智能之K近鄰算法(KNN)
- 傅里葉紅外光譜儀基本原理和特點(diǎn)
- BAT三大巨頭決戰(zhàn)人工智能
- 聯(lián)想樂Pad A1拆機(jī)全過程
- 安規(guī)測試簡介
- 一文讀懂:什么是工業(yè)物聯(lián)網(wǎng)?
- 聚焦年夜飯市場:外送服務(wù)成標(biāo)配,預(yù)制菜的戲份越來越足
- 青松股份預(yù)計(jì)去年最高預(yù)虧9.2億元 化妝品業(yè)務(wù)虧損系主要因素
- 平安產(chǎn)險(xiǎn)深圳分公司:遇高額維修費(fèi)怎么辦 平安定損員暖心協(xié)助
- 科技部和浙江發(fā)布《創(chuàng)新行動方案》 構(gòu)建高標(biāo)準(zhǔn)技術(shù)要素市場示范區(qū)