KNN邻近算法(k-NEAREST NEIGHBOR)

邻近算法,或者说K近邻(KNN, K-NearestNeighbor)的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。kNN算法需要一个已经分好类的训练数据集,然后对没有分类(没有标记)的记录进行分类,kNN确定训练数据集中与该记录相似度"最近"的k条记录,将无标记的测试例子分配到k个近邻中占比最大的那个类中。

k 邻近算法需要做的三件事请:

1、特征空间(已经分好类的训练数据集)

2、计算该记录(未知分类)与训练数据中每条记录之间的距离,确定最近的邻居

3、确定k个最近的邻居和k的值,训练集中与该待分类记录相似度最近的记录条数

4、获得多数类,使用最近邻居的类标签来确定未知记录的类标签

KNN 算法一般用在背景分割中,背景分割是许多可视化应用中重要操作。比如:一个静止的摄像头计算进出房间的游客数量的计数器,或者交通摄像头的车辆信息提取等等。在所有这些案例中都要独立 提取人或者车,从技术上讲,需要将动态的前景与静态的背景分离。

在实opencv BackgroundSubtractorKNN 类中有实现。

 

 

 

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