CN110717517A - 智能化多线程聚类方法、装置及计算机可读存储介质 - Google Patents
智能化多线程聚类方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110717517A CN110717517A CN201910846706.2A CN201910846706A CN110717517A CN 110717517 A CN110717517 A CN 110717517A CN 201910846706 A CN201910846706 A CN 201910846706A CN 110717517 A CN110717517 A CN 110717517A
- Authority
- CN
- China
- Prior art keywords
- data
- clustering
- cluster centers
- sample sets
- intelligent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 239000013598 vector Substances 0.000 claims description 37
- 238000004422 calculation algorithm Methods 0.000 claims description 33
- 238000012549 training Methods 0.000 claims description 19
- 238000013500 data storage Methods 0.000 claims description 10
- 238000005192 partition Methods 0.000 claims description 8
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种人工智能技术,揭露了一种智能化多线程聚类方法,包括:接收用户输入的n个数据样本集及聚类数K,根据所述聚类数K,随机确定K个簇心,并将所述n个数据样本集随机分为K块并输入至K块数据模块中;K个线程读取所述K块数据模块中的样本集,并计算所述K个簇心和所述n个数据样本集的损失值,判断所述损失值与预设阈值的大小关系;当所述损失值大于所述预设阈值时,重新确定所述K个簇心,重新计算损失值并判断与所述预设阈值的大小关系,当所述损失值小于所述预设阈值时,输出所述K个簇心,完成聚类结果。本发明还提出一种智能化多线程聚类装置以及一种计算机可读存储介质。本发明可以实现精准的智能化多线程聚类功能。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于多组输入数据的智能化多线程聚类的方法、装置及计算机可读存储介质。
背景技术
聚类是信息检索、数据挖掘中的一类重要技术,是分析数据并从中发现有用信息的一种有效手段。它将数据对象分组成为多个类或簇,使得在同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别很大。Kmeans算法是最常用和最典型的聚类算法之一,该算法简便且易于部署,通常被作为大样本聚类分析的首选方案。传统的Kmeans算法在聚类数据量不大的情况下,聚类过程一般在主机端使用单线程,在设备端使用单GPU过程来实现计算,但是在海量数据运算量的情况下运行效率较低,无法快速收敛,计算耗时较大,在一定程度上限制了Kmeans算法的应用。
发明内容
本发明提供一种智能化多线程聚类方法、装置及计算机可读存储介质,其主要目的在于提供一种快速、精确的多线程聚类方案,可以缩短了计算耗时,加速了聚类进程。
为实现上述目的,本发明提供的一种智能化多线程聚类方法,包括:
步骤A:线程与数据模块划分区接收用户输入的n个数据样本集及聚类数K,并根据所述聚类数K将模型训练层内的线程数修改为K个,将数据存储模块分割为K块,并根据固定线程读取固定数据模块原则,将所述K个线程与所述K块数据模块一一对应,将所述n个数据样本集及聚类数K输入至数据规划层;
步骤B:所述数据规划层根据所述聚类数K,随机确定K个簇心,并将所述n个数据样本集随机分为K块并分别随机输入至所述K块数据模块中;
步骤C:所述模型训练层内的K个线程数读取所述K块数据模块中的样本集,并根据最小化平方误差算法,计算所述K个簇心和所述n个数据样本集的损失值,并判断所述损失值与预设阈值的大小关系;
步骤D:当所述损失值大于所述预设阈值时,计算所述n个数据样本集与所述K个簇心的距离,重新确定所述K个簇心,并返回步骤C,当所述损失值小于所述预设阈值时,输出所述K个簇心,完成聚类结果。
可选地,所述n个数据样本集包括n个数据样本集的坐标位置;
所述聚类数K小于或者等于所述数据样本集的样本数n。
可选地,所述随机确定K个簇心包括:随机确定所述K个簇心的样本数{c1,c2,c3,..ci..,cK}和K个簇心的质心向量{μ1,μ2,μ3,..μi..,μK},其中,所述质心向量μi的确定方法为:
其中,xt为所述n个数据样本集内的数据。
可选地,所述根据最小化平方误差算法,计算所述K个簇心和所述n个数据样本的损失值,包括:
将所述K个簇心的质心向量与所述n个数据样本集的坐标位置输入至所述最小化平方误差算法,利用所述最小化平方误差算法计算出损失值E:
其中,xt为所述n个数据样本内的数据,且所述xt在所述K个簇心样本数内。
可选地,所述计算所述n个数据样本集与所述K个簇心的距离,重新确定所述K个簇心,包括:
根据预设距离公式计算所述n个数据样本集内的数据xt与所述K个簇心的质心向量μi的距离dti,其中,所述距离公式为:
dti=|xt-μi|2
其中dti表示第t个数据样本集内的数据xt与第i个簇心的质心向量μi的距离;
选取所述距离dti最小的质心向量所对应的样本数ci,并将所述第t个数据样本集内的数据xt添加进所述质心向量所对应的样本数ci内,直至μ1到μK全部计算完毕,重新确定完所述K个簇心。
此外,为实现上述目的,本发明还提供一种智能化多线程聚类装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的智能化多线程聚类程序,所述智能化多线程聚类程序被所述处理器执行时实现如下步骤:
步骤A:线程与数据模块划分区接收用户输入的n个数据样本集及聚类数K,并根据所述聚类数K将模型训练层内的线程数修改为K个,将数据存储模块分割为K块,并根据固定线程读取固定数据模块原则,将所述K个线程与所述K块数据模块一一对应,将所述n个数据样本集及聚类数K输入至数据规划层;
步骤B:所述数据规划层根据所述聚类数K,随机确定K个簇心,并将所述n个数据样本集随机分为K块并分别随机输入至所述K块数据模块中;
步骤C:所述模型训练层内的K个线程数读取所述K块数据模块中的样本集,并根据最小化平方误差算法,计算所述K个簇心和所述n个数据样本集的损失值,并判断所述损失值与预设阈值的大小关系;
步骤D:当所述损失值大于所述预设阈值时,计算所述n个数据样本集与所述K个簇心的距离,重新确定所述K个簇心,并返回步骤C,当所述损失值小于所述预设阈值时,输出所述K个簇心,完成聚类结果。
可选地,所述n个数据样本集包括n个数据样本集的坐标位置;
所述聚类数K小于或者等于所述数据样本集的样本数n。
可选地,所述随机确定K个簇心包括:随机确定所述K个簇心的样本数{c1,c2,c3,..ci..,cK}和K个簇心的质心向量{μ1,μ2,μ3,..μi..,μK},其中,所述质心向量μi的确定方法为:
其中,xt为所述n个数据样本集内的数据。
可选地,所述根据最小化平方误差算法,计算所述K个簇心和所述n个数据样本的损失值,包括:
将所述K个簇心的质心向量与所述n个数据样本集的坐标位置输入至所述最小化平方误差算法,利用所述最小化平方误差算法计算出损失值E:
其中,xt为所述n个数据样本内的数据,且所述xt在所述K个簇心样本数内。
可选地,所述计算所述n个数据样本集与所述K个簇心的距离,重新确定所述K个簇心,包括:
根据预设距离公式计算所述n个数据样本集内的数据xt与所述K个簇心的质心向量μi的距离dti,其中,所述距离公式为:
dti=|xt-μi|2
其中dti表示第t个数据样本集内的数据xt与第i个簇心的质心向量μi的距离;
选取所述距离dti最小的质心向量所对应的样本数ci,并将所述第t个数据样本集内的数据xt添加进所述质心向量所对应的样本数ci内,直至μ1到μK全部计算完毕,重新确定完所述K个簇心。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有智能化多线程聚类程序,所述智能化多线程聚类程序可被一个或者多个处理器执行,以实现如上所述的智能化多线程聚类方法的步骤。
本发明提出的智能化多线程聚类方法、装置及计算机可读存储介质,接收用户输入的n个数据样本集及聚类数K,将所述n个数据样本集及聚类数K输入至数据规划层;根据所述聚类数K,随机确定K个簇心,并将所述n个数据样本集随机分为K块并分别随机输入至所述K块数据模块中;K个线程数读取所述K块数据模块中的样本集,并根据最小化平方误差算法,计算所述K个簇心和所述n个数据样本集的损失值,并判断所述损失值与预设阈值的大小关系;当所述损失值小于所述预设阈值时,输出所述K个簇心,完成聚类结果。本发明采用线程并行与数据计算并行的思想,通过多线程的并行计算能力来优化Kmeans算法。由此,提高了计算机的整体运行效率,提升了设备端的计算并行度,缩短了计算耗时,加速了聚类进程。因此本发明可以实现精准的智能化多线程聚类功能。
附图说明
图1为本发明一实施例提供的智能化多线程聚类方法的流程示意图;
图2为本发明一实施例提供的智能化多线程聚类装置的内部结构示意图;
图3为本发明一实施例提供的智能化多线程聚类装置中智能化多线程聚类程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种智能化多线程聚类方法。参照图1所示,为本发明一实施例提供的智能化多线程聚类方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,智能化多线程聚类方法包括:
S1、线程与数据模块划分区接收用户输入的n个数据样本集及聚类数K,并根据所述聚类数K将模型训练层内的线程数修改为K个,将数据存储模块分割为K块,并根据固定线程读取固定数据模块原则,将所述每个线程数与所述每个数据模块一一对应,将所述n个数据样本集及聚类数K输入至数据规划层。
本发明较佳实施例,所述n个数据样本集包括n个数据样本集的坐标位置。例如,所述n个数据样本集在二维平面坐标内,则所述n个数据样本集的坐标位置可用(x,y)表示,当所述所述n个数据样本集在三维平面坐标,则所述n个数据样本集的坐标位置可用(x,y,z)表示。
本发明较佳实施例中,所述聚类数K小于或者等于所述n个数据样本集。当用户输入的所述聚类数K大于所述数据样本集的样本数n时,所述线程与数据模块划分区提示用户重新输入所述聚类数K。
本发明较佳实施例中,所述模型训练层内的线程数包括主机端线程、CPU线程、GPU线程数等,所述数据存储模块为存储所述n个数据样本集及聚类数K的设备。
本发明较佳实施例根据固定线程读取固定数据模块原则,将所述K个线程与所述K块数据模块一一对应,如第一个线程只能读取第一块数据模块,第二个线程只能读取第二个模块,直至第K个线程只能读取第K块数据模块为止。
S2、所述数据规划层根据所述聚类数K,随机确定K个簇心,并将所述n个数据样本集随机分为K块并分别随机输入至所述K块数据模块中。
本发明较佳实施例中,数据规划层随机确定K个簇心包括:随机确定所述K个簇心的样本数{c1,c2,c3,..ci..,cK}和K个簇心的质心向量{μ1,μ2,μ3,..μi..,μK}。本发明较佳实施例中,所述质心向量μi的确定方法为:
其中,xt为所述n个数据样本集内的数据。
S3、所述模型训练层内的K个线程数读取所述K块数据模块中的样本集,并根据最小化平方误差算法,计算所述K个簇心和所述n个数据样本集的损失值,并判断所述损失值与预设阈值的大小关系。
本发明较佳实施例,将所述K个簇心的质心向量与所述n个数据样本集的坐标位置输入至所述最小化平方误差算法,利用所述最小化平方误差算法计算出损失值E。
本发明较佳实施例所述最小化平方误差算法为:
其中,xt为所述n个数据样本内的数据,且所述xt一定在所述K个簇心样本数内,所述阈值一般设定为0.01。
S4、当所述损失值大于所述预设阈值时,计算所述n个数据样本集与所述K个簇心的距离,重新确定所述K个簇心,并返回步骤S3。
本发明较佳实施例,当所述损失值大于所述阈值时,根据距离公式计算所述n个数据样本集内的数据xt与所述K个簇心的质心向量μi的距离,所述距离公式为:
dti=|xt-μi|2
其中dti表示第t个数据样本集内的数据xt与第i个簇心的质心向量μi的距离。
本发明较佳实施例选取距离dti最小的质心向量所对应的样本数ci,并将所述数据样本集内的数据xt添加进所述质心向量所对应的样本数ci内,直至μ1到μK全部计算完毕,重新确定完所述K个簇心。
S5、当所述损失值小于所述预设阈值时,输出所述K个簇心,完成聚类结果。
发明还提供一种智能化多线程聚类装置。参照图2所示,为本发明一实施例提供的智能化多线程聚类装置的内部结构示意图。
在本实施例中,所述智能化多线程聚类装置1可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。该智能化多线程聚类装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是智能化多线程聚类装置1的内部存储单元,例如该智能化多线程聚类装置1的硬盘。存储器11在另一些实施例中也可以是智能化多线程聚类装置1的外部存储设备,例如智能化多线程聚类装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括智能化多线程聚类装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于智能化多线程聚类装置1的应用软件及各类数据,例如智能化多线程聚类程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行智能化多线程聚类程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在智能化多线程聚类装置1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-14以及智能化多线程聚类程序01的智能化多线程聚类装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对智能化多线程聚类装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,存储器11中存储有智能化多线程聚类程序01;处理器12执行存储器11中存储的智能化多线程聚类程序01时实现如下步骤:
步骤一、线程与数据模块划分区接收用户输入的n个数据样本集及聚类数K,并根据所述聚类数K将模型训练层内的线程数修改为K个,将数据存储模块分割为K块,并根据固定线程读取固定数据模块原则,将所述每个线程数与所述每个数据模块一一对应,将所述n个数据样本集及聚类数K输入至数据规划层。
本发明较佳实施例,所述n个数据样本集包括n个数据样本集的坐标位置。例如,所述n个数据样本集在二维平面坐标内,则所述n个数据样本集的坐标位置可用(x,y)表示,当所述所述n个数据样本集在三维平面坐标,则所述n个数据样本集的坐标位置可用(x,y,z)表示。
本发明较佳实施例中,所述聚类数K小于或者等于所述n个数据样本集。当用户输入的所述聚类数K大于所述数据样本集的样本数n时,所述线程与数据模块划分区提示用户重新输入所述聚类数K。
本发明较佳实施例中,所述模型训练层内的线程数包括主机端线程、CPU线程、GPU线程数等,所述数据存储模块为存储所述n个数据样本集及聚类数K的设备。
本发明较佳实施例根据固定线程读取固定数据模块原则,将所述K个线程与所述K块数据模块一一对应,如第一个线程只能读取第一块数据模块,第二个线程只能读取第二个模块,直至第K个线程只能读取第K块数据模块为止。
步骤二、所述数据规划层根据所述聚类数K,随机确定K个簇心,并将所述n个数据样本集随机分为K块并分别随机输入至所述K块数据模块中。
本发明较佳实施例中,数据规划层随机确定K个簇心包括:随机确定所述K个簇心的样本数{c1,c2,c3,..ci..,cK}和K个簇心的质心向量{μ1,μ2,μ3,..μi..,μK}。本发明较佳实施例中,所述质心向量μi的确定方法为:
其中,xt为所述n个数据样本集内的数据。
步骤三、所述模型训练层内的K个线程数读取所述K块数据模块中的样本集,并根据最小化平方误差算法,计算所述K个簇心和所述n个数据样本集的损失值,并判断所述损失值与预设阈值的大小关系。
本发明较佳实施例,将所述K个簇心的质心向量与所述n个数据样本集的坐标位置输入至所述最小化平方误差算法,利用所述最小化平方误差算法计算出损失值E。
本发明较佳实施例所述最小化平方误差算法为:
其中,xt为所述n个数据样本内的数据,且所述xt一定在所述K个簇心样本数内,所述阈值一般设定为0.01。
步骤四、当所述损失值大于所述预设阈值时,计算所述n个数据样本集与所述K个簇心的距离,重新确定所述K个簇心,并返回步骤步骤三。
本发明较佳实施例,当所述损失值大于所述阈值时,根据距离公式计算所述n个数据样本集内的数据xt与所述K个簇心的质心向量μi的距离,所述距离公式为:
dti=|xt-μi|2
其中dti表示第t个数据样本集内的数据xt与第i个簇心的质心向量μi的距离。
本发明较佳实施例选取距离dti最小的质心向量所对应的样本数ci,并将所述数据样本集内的数据xt添加进所述质心向量所对应的样本数ci内,直至u1到μK全部计算完毕,重新确定完所述K个簇心。
步骤五、当所述损失值小于所述预设阈值时,输出所述K个簇心,完成聚类结果。
可选地,在其他实施例中,智能化多线程聚类程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述智能化多线程聚类程序在智能化多线程聚类装置中的执行过程。
例如,参照图3所示,为本发明智能化多线程聚类装置一实施例中的智能化多线程聚类程序的程序模块示意图,该实施例中,所述智能化多线程聚类程序可以被分割为数据接收模块10、数据规划模块20、聚类训练模块30、聚类结果输出模块40示例性地:
所述数据接收模块10用于:接收用户输入的n个数据样本集及聚类数K,并根据所述聚类数K将模型训练层内的线程数修改为K个,将数据存储模块分割为K块,并根据固定线程读取固定数据模块原则,将所述K个线程与所述K块数据模块一一对应,将所述n个数据样本集及聚类数K输入至数据规划层。
所述数据规划模块20用于:根据所述聚类数K,随机确定K个簇心,并将所述n个数据样本集随机分为K块并分别随机输入至所述K块数据模块中。
所述聚类训练模块30用于:K个线程数读取所述K块数据模块中的样本集,并根据最小化平方误差算法,计算所述K个簇心和所述n个数据样本集的损失值,并判断所述损失值与预设阈值的大小关系,当所述损失值大于所述预设阈值时,计算所述n个数据样本集与所述K个簇心的距离,重新确定所述K个簇心,重新计算所述损失值,并判断所述损失值与所述预设阈值的大小关系。
所述聚类结果输出模块40用于:当所述损失值小于所述预设阈值时,输出所述K个簇心,完成聚类结果。
上述数据接收模块10、数据规划模块20、聚类训练模块30、聚类结果输出模块40等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有智能化多线程聚类程序,所述智能化多线程聚类程序可被一个或多个处理器执行,以实现如下操作:
接收用户输入的n个数据样本集及聚类数K,并根据所述聚类数K将模型训练层内的线程数修改为K个,将数据存储模块分割为K块,并根据固定线程读取固定数据模块原则,将所述K个线程与所述K块数据模块一一对应,将所述n个数据样本集及聚类数K输入至数据规划层。
根据所述聚类数K,随机确定K个簇心,并将所述n个数据样本集随机分为K块并分别随机输入至所述K块数据模块中。
K个线程数读取所述K块数据模块中的样本集,并根据最小化平方误差算法,计算所述K个簇心和所述n个数据样本集的损失值,并判断所述损失值与预设阈值的大小关系,当所述损失值大于所述预设阈值时,计算所述n个数据样本集与所述K个簇心的距离,重新确定所述K个簇心,重新计算所述损失值,并判断所述损失值与所述预设阈值的大小关系。
当所述损失值小于所述预设阈值时,输出所述K个簇心,完成聚类结果。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种智能化多线程聚类方法,其特征在于,所述方法包括:
步骤A:线程与数据模块划分区接收用户输入的n个数据样本集及聚类数K,并根据所述聚类数K将模型训练层内的线程数修改为K个,将数据存储模块分割为K块,并根据固定线程读取固定数据模块原则,将所述K个线程与所述K块数据模块一一对应,将所述n个数据样本集及聚类数K输入至数据规划层;
步骤B:所述数据规划层根据所述聚类数K,随机确定K个簇心,并将所述n个数据样本集随机分为K块并分别随机输入至所述K块数据模块中;
步骤C:所述模型训练层内的K个线程数读取所述K块数据模块中的样本集,并根据最小化平方误差算法,计算所述K个簇心和所述n个数据样本集的损失值,并判断所述损失值与预设阈值的大小关系;
步骤D:当所述损失值大于所述预设阈值时,计算所述n个数据样本集与所述K个簇心的距离,重新确定所述K个簇心,并返回步骤C,当所述损失值小于所述预设阈值时,输出所述K个簇心,完成聚类结果。
2.如权利要求1所述的智能化多线程聚类方法,其特征在于,所述n个数据样本集包括n个数据样本集的坐标位置;及
所述聚类数K小于或者等于所述数据样本集的样本数n。
5.如权利要求4所述的智能化多线程聚类方法,其特征在于,所述计算所述n个数据样本集与所述K个簇心的距离,重新确定所述K个簇心,包括:
根据预设距离公式计算所述n个数据样本集内的数据xt与所述K个簇心的质心向量μi的距离dti,其中,所述距离公式为:
dti=|xt-μi|2
其中dti表示第t个数据样本集内的数据xt与第i个簇心的质心向量μi的距离;
选取所述距离dti最小的质心向量所对应的样本数ci,并将所述第t个数据样本集内的数据xt添加进所述质心向量所对应的样本数ci内,直至μ1到μK全部计算完毕,重新确定完所述K个簇心。
6.一种智能化多线程聚类装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的智能化多线程聚类程序,所述智能化多线程聚类程序被所述处理器执行时实现如下步骤:
步骤A:线程与数据模块划分区接收用户输入的n个数据样本集及聚类数K,并根据所述聚类数K将模型训练层内的线程数修改为K个,将数据存储模块分割为K块,并根据固定线程读取固定数据模块原则,将所述K个线程与所述K块数据模块一一对应,将所述n个数据样本集及聚类数K输入至数据规划层;
步骤B:所述数据规划层根据所述聚类数K,随机确定K个簇心,并将所述n个数据样本集随机分为K块并分别随机输入至所述K块数据模块中;
步骤C:所述模型训练层内的K个线程数读取所述K块数据模块中的样本集,并根据最小化平方误差算法,计算所述K个簇心和所述n个数据样本集的损失值,并判断所述损失值与预设阈值的大小关系;
步骤D:当所述损失值大于所述预设阈值时,计算所述n个数据样本集与所述K个簇心的距离,重新确定所述K个簇心,并返回步骤C,当所述损失值小于所述预设阈值时,输出所述K个簇心,完成聚类结果。
7.如权利要求6所述的智能化多线程聚类装置,其特征在于,所述n个数据样本集包括n个数据样本集的坐标位置;及
所述聚类数K小于或者等于所述数据样本集的样本数n。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有智能化多线程聚类程序,所述智能化多线程聚类程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的智能化多线程聚类方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910846706.2A CN110717517A (zh) | 2019-09-06 | 2019-09-06 | 智能化多线程聚类方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910846706.2A CN110717517A (zh) | 2019-09-06 | 2019-09-06 | 智能化多线程聚类方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110717517A true CN110717517A (zh) | 2020-01-21 |
Family
ID=69209814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910846706.2A Pending CN110717517A (zh) | 2019-09-06 | 2019-09-06 | 智能化多线程聚类方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110717517A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140143251A1 (en) * | 2012-11-19 | 2014-05-22 | The Penn State Research Foundation | Massive clustering of discrete distributions |
CN103971191A (zh) * | 2013-01-31 | 2014-08-06 | 国际商业机器公司 | 工作线程管理方法和设备 |
US20140359626A1 (en) * | 2013-05-30 | 2014-12-04 | Qualcomm Incorporated | Parallel method for agglomerative clustering of non-stationary data |
CN108268891A (zh) * | 2017-12-29 | 2018-07-10 | 安徽中凯信息产业股份有限公司 | 一种数据处理方法 |
CN108763576A (zh) * | 2018-05-28 | 2018-11-06 | 大连理工大学 | 一种用于高维文本数据的并行k-means算法 |
-
2019
- 2019-09-06 CN CN201910846706.2A patent/CN110717517A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140143251A1 (en) * | 2012-11-19 | 2014-05-22 | The Penn State Research Foundation | Massive clustering of discrete distributions |
CN103971191A (zh) * | 2013-01-31 | 2014-08-06 | 国际商业机器公司 | 工作线程管理方法和设备 |
US20140359626A1 (en) * | 2013-05-30 | 2014-12-04 | Qualcomm Incorporated | Parallel method for agglomerative clustering of non-stationary data |
CN108268891A (zh) * | 2017-12-29 | 2018-07-10 | 安徽中凯信息产业股份有限公司 | 一种数据处理方法 |
CN108763576A (zh) * | 2018-05-28 | 2018-11-06 | 大连理工大学 | 一种用于高维文本数据的并行k-means算法 |
Non-Patent Citations (2)
Title |
---|
YOU LI ER AL.: "Speeding up K-Means Algorithm by GPUs", 《2010 10TH IEEE INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION TECHNOLOGY (CIT 2010)》 * |
申彦 朱玉全: "CMP上基于数据集划分的K-means多核优化算法", 《智能系统学报》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021042844A1 (zh) | 大规模数据聚类方法、装置、计算机设备及计算机可读存储介质 | |
CN104616029B (zh) | 数据分类方法及装置 | |
CN107784321B (zh) | 数字绘本快速识别方法、系统及计算机可读存储介质 | |
CN111242291A (zh) | 神经网络后门攻击的检测方法、装置和电子设备 | |
US11822595B2 (en) | Incremental agglomerative clustering of digital images | |
CN110363303B (zh) | 智能分配模型训练内存方法、装置及计算机可读存储介质 | |
KR20200102409A (ko) | 키 프레임 스케줄링 방법 및 장치, 전자 기기, 프로그램과 매체 | |
US20210304010A1 (en) | Neural network training under memory restraint | |
US11334358B2 (en) | Hardware accelerator having reconfigurable instruction set and reconfigurable decoder | |
CN112287140A (zh) | 一种基于大数据的图像检索方法及系统 | |
CN110633733B (zh) | 图像智能匹配方法、装置及计算机可读存储介质 | |
CN110009625B (zh) | 基于深度学习的图像处理系统、方法、终端、及介质 | |
Kim et al. | Image recognition accelerator design using in-memory processing | |
CN113672232A (zh) | 程序编译方法和装置 | |
CN110717517A (zh) | 智能化多线程聚类方法、装置及计算机可读存储介质 | |
CN110738175A (zh) | 人脸图像处理方法、装置、计算机设备和存储介质 | |
CN110765917A (zh) | 适用于人脸识别模型训练的主动学习方法、装置、终端、介质 | |
CN113887535B (zh) | 模型训练方法、文本识别方法、装置、设备和介质 | |
CN113553884B (zh) | 手势识别方法、终端设备及计算机可读存储介质 | |
US11841792B1 (en) | Instructions with multiple memory access modes | |
CN110647666B (zh) | 模板与公式的智能匹配方法、装置及计算机可读存储介质 | |
Messom et al. | Stream processing of integral images for real-time object detection | |
CN112906728B (zh) | 一种特征比对方法、装置及设备 | |
Kim et al. | Dynamic load balancing of parallel SURF with vertical partitioning | |
CN113361511A (zh) | 修正模型的建立方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200121 |