網(wǎng)站二級域名怎么設(shè)置小紅書關(guān)鍵詞搜索量查詢
?K Nearest Neighbours
KNN Definition
KNN 是一種簡單的算法,它存儲所有可用案例,并根據(jù)相似度量對新案例進(jìn)行分類。
KNN 不同名稱:
K-Nearest Neighbors ? Memory-Based Reasoning基于記憶的推理 ? Example-Based Reasoning基于實例的推理 ? Instance-Based Learning基于實例的學(xué)習(xí) ? Case-Based Reasoning基于案例的推理 ? Lazy Learning懶惰學(xué)習(xí)
KNN 簡史
knn早在 20 世紀(jì) 70 年代初就已用于統(tǒng)計估計和模式識別(非參數(shù)技術(shù))
動態(tài)記憶: ?計算機(jī)和人的記憶與學(xué)習(xí)理論》(Schank,1982 年)
人們通過記憶進(jìn)行推理,通過實踐進(jìn)行學(xué)習(xí)。?思維就是提醒、類比
KNN主要步驟:
-
選擇參數(shù)K:K是一個正整數(shù),表示在進(jìn)行決策時將考慮的最近鄰居的數(shù)量。
-
距離度量:選擇一個距離度量方法來計算未知樣本與已知樣本之間的距離,常見的距離度量包括歐氏距離、曼哈頓距離等。
-
尋找最近鄰:對于一個新的未知樣本,計算它與訓(xùn)練集中每個樣本的距離,并找出距離最近的K個樣本。
-
投票決策:根據(jù)這K個最近鄰樣本的類別,通過多數(shù)投票的方式來預(yù)測新樣本的類別。
-
分類決策:將獲得最高票數(shù)的類別指定為新樣本的類別。
特點:
-
懶惰學(xué)習(xí):KNN是一種懶惰學(xué)習(xí)算法,它在訓(xùn)練階段不需要構(gòu)建模型,所有的計算都推遲到分類階段進(jìn)行。
-
對數(shù)據(jù)敏感:KNN對數(shù)據(jù)的分布非常敏感,特別是當(dāng)數(shù)據(jù)集的規(guī)模和特征空間的維度變化時。
-
特征縮放:由于KNN是基于距離的算法,特征的縮放會直接影響距離的計算,因此在應(yīng)用KNN之前通常需要對特征進(jìn)行標(biāo)準(zhǔn)化或歸一化。
-
局部結(jié)構(gòu):KNN可以捕捉到數(shù)據(jù)的局部結(jié)構(gòu),這使得它在某些情況下比全局模型(如線性模型)更靈活。
-
參數(shù)選擇:K的選擇對KNN的性能有很大影響。K太小容易受到噪聲的影響,K太大則可能包含太多不相關(guān)的鄰居,影響分類精度
KNN 鄰居數(shù)
如果 K=1,選擇最近的鄰居
如果 K>1,對于分類,選擇最頻繁的鄰居;對于回歸,計算 K 個鄰居的平均值。
距離加權(quán)近鄰算法
根據(jù)鄰居與查詢點的 "距離 "分配權(quán)重
權(quán)重 "可能 "是距離的倒平方
所有訓(xùn)練點都可能影響特定實例:謝潑德方法
距離 :分類變量
基于實例的推理
IB1 基于標(biāo)準(zhǔn) KNN
IB2 是增量 KNN 學(xué)習(xí)器,只將錯誤分類的實例納入分類器。
IB3通過保留成功記錄來剔除表現(xiàn)不佳的實例。?
?基于案例的推理
?
總結(jié)
KNN 概念簡單,卻能解決復(fù)雜問題
能在信息相對較少的情況下工作
學(xué)習(xí)簡單(根本無需學(xué)習(xí)!)
內(nèi)存和 CPU 成本-特征選擇問題
對表示敏感
受維度詛咒的困擾?