【技术实现步骤摘要】
一种基于FPGA的K均值算法的实现方法
本专利技术属于数字电路设计
,具体涉及一种基于FPGA的K均值算法的实现方法。
技术介绍
随着互联网和电子商务的飞速发展,获取信息的需求和手段越来越多,对于获取数据的速度要求越来越高,就会导致各行各业获取,沉淀和处理的数据呈指数增长。海量高维度的数据的存储,使用等明显降低了数据处理的速度,成为研究人员密切关注和希望有所突破的问题。这也是数据挖掘领域的核心内容。一种无监督的机器学习算法聚类算法被广泛应用于数据挖掘,模式识别,图像处理等领域,在各领域发挥其重要作用。聚类算法可以在商业领域中进行市场分析、调研信息,比如从数据库中消费者记录分析不同消费者的习惯、需求等;可以在生物医学领域中加速研究,对动植物分类,对基因的相似关联性分析等。聚类算法大致可以分为五大类,但不局限于这五类,分别为基于划分的聚类算法,比如我们最熟识的K均值算法就是基于划分思想的聚类算法中的一种。基于层次的聚类算法、基于密度的聚类算法、基于网格的聚类算法和基于模型的聚类算法。不同的聚类算法会根据自身不同的特点局限性适用于不同分布的多种多样的数据集。比如K均值算法,该算法原理简单,运行速度快时间短,适用于连续型球状分布的数据集,但在处理分布不规则的数据集时便很难得到较好的聚类效果。而其他类别中的某个或者某些算法就相对更适用于这种分布不规则的数据集,能够达到更好的聚类效果。目前,云计算平台在大数据分析领域发展快速且成熟。云计算平台由多台CPU构成,由于CPU之间信息通信受带宽限制,此时硬件加速平台应运而 ...
【技术保护点】
1.一种基于FPGA的K均值算法的实现方法,主要结构包括顶层模块(1)、聚类模块(2)、更新模块(3)、存储模块(4),顶层模块(1)由有限状态机实现对其他模块的控制以及数据通路,根据控制部件的信息跳转顺序的执行各个模块,首先,在收到上位机传入的开始命令后,状态机进入开始状态,将数据从寄存器中读出送入聚类模块(2),开始数据聚类过程,聚类结束后反馈给顶层模块(1)一个完成信号,状态机继而跳转,最终完成数据的聚类,为了实现循环,利用多个计数器控制,存储模块(4)除存储所有输入数据的ROM外,还利用RAM动态存储聚类中心和K类输入数据,每次聚类时读出聚类中心进行聚类,聚类完成时将每类输入写入,更新模块时从K类输入数据分别读出更新中心,更新后的中心写入存储聚类中心的RAM里,其中:/n顶层模块(1):输入端输出端都与聚类模块(2)中的控制器(201),更新模块(3)中的控制器(301)相连;/n存储模块(4):输入端输出端都与聚类模块(2)、更新模块(3)的输入输出端相连。/n
【技术特征摘要】
1.一种基于FPGA的K均值算法的实现方法,主要结构包括顶层模块(1)、聚类模块(2)、更新模块(3)、存储模块(4),顶层模块(1)由有限状态机实现对其他模块的控制以及数据通路,根据控制部件的信息跳转顺序的执行各个模块,首先,在收到上位机传入的开始命令后,状态机进入开始状态,将数据从寄存器中读出送入聚类模块(2),开始数据聚类过程,聚类结束后反馈给顶层模块(1)一个完成信号,状态机继而跳转,最终完成数据的聚类,为了实现循环,利用多个计数器控制,存储模块(4)除存储所有输入数据的ROM外,还利用RAM动态存储聚类中心和K类输入数据,每次聚类时读出聚类中心进行聚类,聚类完成时将每类输入写入,更新模块时从K类输入数据分别读出更新中心,更新后的中心写入存储聚类中心的RAM里,其中:
顶层模块(1):输入端输出端都与聚类模块(2)中的控制器(201),更新模块(3)中的控制器(301)相连;
存储模块(4):输入端输出端都与聚类模块(2)、更新模块(3)的输入输出端相连。
2.根据权利要求1所述的一种基于FPGA的K均值算法的实现方法,其特征在于,所述聚类模块(2)包括控制器(201)、距离计算模块(202)、寻找最小距离模块(203)、确定类别模块(204)、串入并出模块(205),控制器(201)用有限状态机实现,与顶层模块(1)类似,控制聚类的过程,距离计算模块(202)接收到控制器(201)的开始信号后,读取数据计算输入数据与聚类中心的曼哈顿距离,即读取一个输入计算该输入与K个聚类中心的距离,在寻找最小距离模块(203)中找到K个距离中的最小值,通过确定类别模块(204)将该输入分配到相应的存储器RAM中也就是聚类到了相应的...
【专利技术属性】
技术研发人员:石晴文,冯佳玮,
申请(专利权)人:哈尔滨理工大学,
类型:发明
国别省市:黑龙江;23
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。