matlabKNN多分類


1.KNN簡介:

KNN:(K nearest neighbor)也叫K近鄰算法,主要用於處理機器學習中的分類問題。

 

2.算法思想:統計得到距離目標點最近的K個點中個數最多某個標簽,作為目標點的類標簽。

即假設給定k=8,計算每個樣本點對測試點的距離,並從小到大排序,選出前8個樣本點,統計得出前8個樣本中有5個屬於第一類,2個屬於第二類,1個屬於第三類,則目標點可歸為第一類。【這就是多數表決的概念】

 

3.KNN三要素:距離度量(根據特征選擇),K值選擇,決策規則(比如上述的多數表決規則)

3.1關於距離選擇:

1)閔可夫斯基距離:可分為三種。空間(歐式距離);路徑(曼哈頓距離);國際象棋國王?(切比雪夫距離);

2)加權:標准化歐式距離

3)排除量綱和依存:馬氏距離;

4)向量差距:夾角余弦;

5)編碼差別:漢明距離;

6)集合近似度:傑卡德類似系數與距離;

7)相關:相關系數與距離

3.2關於k值選擇:

k值與近似誤差成正相關,與估計誤差成負相關,(一般選擇5~10左右?)

近似誤差和估計誤差的形象理解:

k取3,k較小,相當於只度量目標點周圍最近的3個樣本點,目標點對這三個節點的信任度高,近似誤差低。但是k取3對噪聲點敏感。

k取8,k較大,相當於度量了目標點周圍最近的8個樣本點,因為參考了多個節點的信息,所以這種情況下對噪聲點和錯誤數據點等等不敏感,估計誤差小。

3.3關於決策規則:

一般有全體一致(一票否決制)和多數表決兩種方式。

 

4.KNN和K-means對比(有監督/無監督)

 

參考資料:

1.KNN_matlab代碼:https://blog.csdn.net/queyuze/article/details/70195087?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase, 作者:新青年hans

2.概念理解:https://blog.csdn.net/weixin_40657079/article/details/82958976

3.K近鄰python簡單示例:https://www.cnblogs.com/eczhou/p/7860462.html

4.距離選擇:https://blog.csdn.net/weixin_40657079/article/details/82958976,作者:weixin_40657079

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM