天天看點

【圖像檢索】基于matlab GUI KNN圖像檢索【含Matlab源碼 267期】

K最近鄰(k-Nearest Neighbor,KNN)分類算法,是一個理論上比較成熟的方法,也是最簡單的機器學習算法之一。該方法的思路是:如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數屬于某一個類别,則該樣本也屬于這個類别。

1 定義

如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數屬于某一個類别,則該樣本也屬于這個類别,即由你的“鄰居”來推斷出你的類别.

2 距離公式

兩個樣本的距離可以通過如下公式計算,又叫歐式距離

3 KNN算法的步驟

(1)計算已知類别資料集中每個點與目前點的距離;

(2)選取與目前點距離最小的K個點;

(3)統計前K個點中每個類别的樣本出現的頻率;

(4)傳回前K個點出現頻率最高的類别作為目前點的預測分類。

4 KNN原理

【圖像檢索】基于matlab GUI KNN圖像檢索【含Matlab源碼 267期】
【圖像檢索】基于matlab GUI KNN圖像檢索【含Matlab源碼 267期】
【圖像檢索】基于matlab GUI KNN圖像檢索【含Matlab源碼 267期】

5 KNN的優缺點

6 KNN性能問題

NN的性能問題也是KNN的缺點之一。使用KNN,可以很容易的構造模型,但在對待分類樣本進行分類時,為了獲得K近鄰,必須采用暴力搜尋的方式,掃描全部訓練樣本并計算其與待分類樣本之間的距離,系統開銷很大。

【圖像檢索】基于matlab GUI KNN圖像檢索【含Matlab源碼 267期】

1 matlab版本

2014a

2 參考文獻

[1]韓紀慶,張磊,鄭鐵然.語音信号處理(第3版)[M].清華大學出版社,2019.

[2]柳若邊.深度學習:語音識别技術實踐[M].清華大學出版社,2019.

[3]葉斌.基于HMM和PNN的語音情感識别研究.[J]青島大學學報(工程技術版). 2011,26(04)

繼續閱讀