一种基于可重构方式的KNN算法的硬件实现系统和方法技术方案

技术编号:23344812 阅读:40 留言:0更新日期:2020-02-15 04:21
本发明专利技术公开了一种基于可重构方式的KNN算法的硬件实现系统,包括控制器模块、距离计算模块、排序模块、决策模块、地址产生模块和数据分发模块,其中,控制器模块用于配置运算所需要的参数并将参数送入到地址产生模块和数据分发模块,地址产生模块生成地址数据然后通过数据分发模块送入距离计算模块,然后将得到计算的距离后送入排序模块然后得到最小的K个值,通过决策模块得到最终标签,然后通过结果分发模块和写结果地址产生模块写入到SRAM相应位置;所述距离计算模块为一个实数乘法器和三个实数加法器组成的乘累加单元。本发明专利技术同时提供一种方法,使用乘法器和加法器搭建一个全流水的乘累加模块减少了距离计算所需的时间。

A hardware implementation system and method of KNN algorithm based on reconfigurable mode

【技术实现步骤摘要】
一种基于可重构方式的KNN算法的硬件实现系统和方法
本专利技术属于机器学习分类算法的硬件实现领域,更具体地说,涉及一种基于可重构方式的KNN算法的硬件实现系统和方法。
技术介绍
KNN算法(K-NearestNeighbor,K最近分类邻算法)是一种非参数分类算法,在未知分布的分类上具有高分类精度,在非正态分布分类上具有低错误率,因此被广泛应用于机器学习、随机规划、模式识别等领域。所谓K最近邻分类算法就是寻找距离待分类样本距离最近的K个类别已知的样本,待分类样本的类别由这K个样本决定。如图1所示。如果我们需要确定圆圈属于哪种分类,要做的就是选出距离目标点距离最近的K个点,看这K个点的大多数是什么形状。当K取3的时候,我们可以看出距离最近的三个分别是三角形、三角形、正方形,因此得到的目标点也为三角形。K最近邻分类算法核心是最后的决策环节,如果待分类样本最近的K个类别已知的样本大多数属于一种分类,则该样本也属于这种分类。由于K最近邻分类算法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来判别最终的类别,因此对于交叉和重叠样本集来说,K最本文档来自技高网...

【技术保护点】
1.一种基于可重构方式的KNN算法的硬件实现系统,其特征在于:包括控制器模块、距离计算模块、排序模块、决策模块、地址产生模块和数据分发模块;地址产生模块包括写结果地址产生模块;数据分发模块包括结果分发模块;/n其中,控制器模块用于配置运算所需要的参数并将参数送入到地址产生模块和数据分发模块;/n地址产生模块生成地址数据然后通过数据分发模块送入距离计算模块;/n距离计算模块接收数据分发模块发送的数据并将计算后的距离数据送入排序模块,所述距离计算模块计算每个测试集样本与所有训练集样本的对应欧式距离,距离计算模块为一个实数乘法器和三个实数加法器组成的乘累加单元;/n排序模块对距离计算模块发送的数据进...

【技术特征摘要】
1.一种基于可重构方式的KNN算法的硬件实现系统,其特征在于:包括控制器模块、距离计算模块、排序模块、决策模块、地址产生模块和数据分发模块;地址产生模块包括写结果地址产生模块;数据分发模块包括结果分发模块;
其中,控制器模块用于配置运算所需要的参数并将参数送入到地址产生模块和数据分发模块;
地址产生模块生成地址数据然后通过数据分发模块送入距离计算模块;
距离计算模块接收数据分发模块发送的数据并将计算后的距离数据送入排序模块,所述距离计算模块计算每个测试集样本与所有训练集样本的对应欧式距离,距离计算模块为一个实数乘法器和三个实数加法器组成的乘累加单元;
排序模块对距离计算模块发送的数据进行排序后得到最小的K个值然后发送给决策模块,决策模块寻找标签地址以得到最终标签;
结果地址产生模块产生对应地址同时将数据通过结果分发模块写入到SRAM相应位置。


2.根据权利要求1所述的基于可重构方式的KNN算法的硬件实现系统,其特征在于:若M>[logK]+1,则距离计算模块的计算时间覆盖排序模块和决策模块的计算时间;若M≤[logK]+1,则排序模块的计算时间覆盖距离计算模块和决策模块的计算时间,其中,M为距离计算模块计算一个样本距离的时间,[K]+1为排序模块的计算时间,即对于距离计算结果已经排序的的K个距离,插入一个距离计算结果重新排序所需的时间,其中,3≤K≤20,2≤M≤64。


3.根据权利要求1所述的基于可重构方式的KNN算法的硬件实现系统,其特征在于:根据存储资源按照训练集数据、测试集数据、训练集标签和结果数据的比例分配存储资源。


4.根据权利要求1所述的基于可重构方式的KNN算法的硬件实现系统,其特征在于:所述排序模块获取每个测试集和所有训练集样本中要选取距离最小的K个样本,每计算得到一个距离数值,若该距离数值小于现有的K个样本中距离最大的值,则将此值与剩下的K-1个值重新排序,排序模块的计算时间为[logK]+1,其中,3≤K≤20。


5.根据权利要求4所述的基于可重构方式的KNN算法的硬件实现系...

【专利技术属性】
技术研发人员:李丽张衡傅玉祥何书专
申请(专利权)人:南京宁麒智能计算芯片研究院有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1