KNN鄰近算法(k-NEAREST NEIGHBOR)

鄰近算法,或者說K近鄰(KNN, K-NearestNeighbor)的核心思想是如果一個樣本在特徵空間中的k個最相鄰的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別,並具有這個類別上樣本的特性。kNN算法需要一個已經分好類的訓練數據集,然後對沒有分類(沒有標記)的記錄進行分類,kNN確定訓練數據集中與該記錄相似度"最近"的k條記錄,將無標記的測試例子分配到k個近鄰中佔比最大的那個類中。

k 鄰近算法需要做的三件事請:

1、特徵空間(已經分好類的訓練數據集)

2、計算該記錄(未知分類)與訓練數據中每條記錄之間的距離,確定最近的鄰居

3、確定k個最近的鄰居和k的值,訓練集中與該待分類記錄相似度最近的記錄條數

4、獲得多數類,使用最近鄰居的類標籤來確定未知記錄的類標籤

KNN 算法一般用在背景分割中,背景分割是許多可視化應用中重要操作。比如:一個靜止的攝像頭計算進出房間的遊客數量的計數器,或者交通攝像頭的車輛信息提取等等。在所有這些案例中都要獨立 提取人或者車,從技術上講,需要將動態的前景與靜態的背景分離。

在實opencv BackgroundSubtractorKNN 類中有實現。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章