一种无监督学习方法及装置与流程

文档序号:18756413发布日期:2019-09-24 22:29阅读:1184来源:国知局
一种无监督学习方法及装置与流程

本申请涉及通信技术领域,尤其涉及一种无监督学习方法及装置。



背景技术:

随着机器学习的快速发展,机器学习可应用于各个领域,如数据挖掘、计算机视觉、自然语言处理、生物特征识别、医学诊断、检测信用卡欺诈、证券市场分析和dna序列测序等。机器学习包括学习部分和执行部分,学习部分利用样本数据修改系统的知识库,以增进系统执行部分完成任务的效能,执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分。

目前,由于各数据拥有方的样本数据具有密切联系,如果机器学习仅使用一方的样本数据,则学习得到的模型不准确,为解决上述问题,通过联合各数据拥有方的样本数据,应用逻辑回归或决策树等单层简单模型进行机器学习。然而,目前的联合学习主要依托于双方均拥有标注的样本数据,无法使用无标注样本数据进行联合训练,导致样本数据无法得到有效利用。

因此,如何提高各数据拥有方样本数据的利用率是目前函待解决的问题。



技术实现要素:

本申请实施例提供一种无监督学习方法及装置,解决了现有技术存在的上述问题,克服了现有技术无法使用无标注样本数据进行联合训练的问题,提高了样本的利用率。

第一方面,提供了一种无监督学习方法,该方法可以包括:

终端接收中心服务器发送的预设数量的初始中心数据,每个初始中心数据为预设的表示一种数据类别的标称数据,且所述预设数量的初始中心数据的数据类别不同;

采用预设聚类算法,对存储的无标注样本数据按照所述预设数量的初始中心数据进行聚类,得到预设数量的数据集合和每个数据集合中无标注样本数据的数据值对应的处于收敛状态的平均值,所述每个数据集合包括具有相同数据类别的无标注样本数据;

将所述处于收敛状态的平均值确定为所述数据集合的中心数据;

向所述中心服务器发送所述预设数量的数据集合的中心数据,以使所述中心服务器根据所述多个终端的预设数量的数据集合的中心数据,获取预设数量的当前中心数据,并在所述预设数量的当前中心数据均处于收敛状态时确定所述预设数量的当前中心数据为预设数量的目标中心数据,每个当前中心数据为所述多个终端中具有相同数据类别的数据集合的中心数据的平均值。

在一个可选的实现中,所述方法还包括:

在所述中心服务器检测到所述预设数量的当前中心数据中存在处于未收敛状态的当前中心数据,所述中心服务器将所述处于未收敛状态的当前中心数据和处于收敛状态的当前中心数据确定为新的初始中心数据时,所述终端接收所述中心服务器发送的预设数量的新的初始中心数据;

所述终端将所述初始中心数据更新为所述新的初始中心数据,并返回执行采用预设聚类算法,对存储的无标注样本数据按照所述预设数量的初始中心数据进行聚类的步骤。

在一个可选的实现中,所述预设聚类算法包括但不限于夹角余弦相似度算法、欧式距离算法、切比雪夫距离算法、jaccard相似系数算法和曼哈顿距离算法。

第二方面,提供了一种无监督学习方法,该方法可以包括:

中心服务器向多个终端中的每个终端发送预设数量的初始中心数据,每个初始中心数据为预设的表示一种数据类别的标称数据,且所述预设数量的初始中心数据的数据类别不同;

接收所述每个终端发送的预设数量的数据集合的中心数据;其中,所述数据集合的中心数据为所述每个终端采用预设聚类算法,对存储的无标注样本数据按照所述预设数量的初始中心数据进行聚类的预设数量的数据集合中每个数据集合的无标注样本数据的数据值对应的处于收敛状态的平均值,所述数据集合包括具有相同数据特征的无标注样本数据;

根据所述多个终端的预设数量的中心数据,获取预设数量的当前中心数据,每个当前中心数据为所述多个终端中具有相同数据类别的数据集合的中心数据的平均值;

根据预设收敛条件,检测所述预设数量的当前中心数据是否处于收敛状态;若所述预设数量的当前中心数据均处于收敛状态,则确定所述预设数量的当前中心数据为预设数量的目标中心数据。

在一个可选的实现中,所述方法还包括:

中心服务器若检测出所述预设数量的当前中心数据中存在处于未收敛状态的当前中心数据,则将所述处于未收敛状态的当前中心数据和处于收敛状态的当前中心数据确定为新的初始中心数据,并返回执行向多个终端中的每个终端发送预设数量的初始中心数据的步骤。

在一个可选的实现中,根据预设收敛条件,检测所述预设数量的当前中心数据是否处于收敛状态,包括:

判断所述预设数量的当前中心数据与前一次获取的预设数量的相应当前中心数据的差值是否不大于预设收敛阈值;

若所述预设数量的差值均不大于所述预设收敛阈值,则确定所述预设数量的当前中心数据均处于收敛状态;

或者,判断所述预设数量的当前中心数据的获取次数是否己达到预设的最大迭代次数;

若所述获取次数已达到所述最大迭代次数,则确定所述预设数量的当前中心数据均处于收敛状态。

第三方面,提供了一种无监督学习装置,该装置可以包括:接收单元、分类单元、确定单元和发送单元;

所述接收单元,用于接收中心服务器发送的预设数量的初始中心数据,每个初始中心数据为预设的表示一种数据类别的标称数据,且所述预设数量的初始中心数据的数据类别不同;

所述分类单元,用于采用预设聚类算法,对存储的无标注样本数据按照所述预设数量的初始中心数据进行聚类,得到预设数量的数据集合和每个数据集合中无标注样本数据的数据值对应的处于收敛状态的平均值,所述每个数据集合包括具有相同数据类别的无标注样本数据;

所述确定单元,用于将所述处于收敛状态的平均值确定为所述数据集合的中心数据;

所述发送单元,用于向所述中心服务器发送所述预设数量的数据集合的中心数据,以使所述中心服务器根据所述多个终端的预设数量的数据集合的中心数据,获取预设数量的当前中心数据,并在所述预设数量的当前中心数据均处于收敛状态时确定所述预设数量的当前中心数据为预设数量的目标中心数据,每个当前中心数据为所述多个终端中具有相同数据类别的数据集合的中心数据的平均值。

在一个可选的实现中,所述装置还包括触发单元;

所述接收单元,还用于在所述中心服务器检测到所述预设数量的当前中心数据中存在处于未收敛状态的当前中心数据,所述中心服务器将所述处于未收敛状态的当前中心数据和处于收敛状态的当前中心数据确定为新的初始中心数据时,接收所述中心服务器发送的预设数量的新的初始中心数据;

所述触发单元,用于将所述初始中心数据更新为所述新的初始中心数据,并返回执行采用预设聚类算法,对存储的无标注样本数据按照所述预设数量的初始中心数据进行聚类的步骤。

在一个可选的实现中,所述预设聚类算法包括但不限于夹角余弦相似度算法、欧式距离算法、切比雪夫距离算法、jaccard相似系数算法和曼哈顿距离算法。

第四方面,提供了一种无监督学习装置,该装置可以包括:发送单元、接收单元、获取单元、检测单元和确定单元;

所述发送单元,用于向多个终端中的每个终端发送预设数量的初始中心数据,每个初始中心数据为预设的表示一种数据类别的标称数据,且所述预设数量的初始中心数据的数据类别不同;

所述接收单元,用于接收所述每个终端发送的预设数量的数据集合的中心数据;其中,所述数据集合的中心数据为所述每个终端采用预设聚类算法,对存储的无标注样本数据按照所述预设数量的初始中心数据进行聚类的预设数量的数据集合中每个数据集合的无标注样本数据的数据值对应的处于收敛状态的平均值,所述数据集合包括具有相同数据特征的无标注样本数据;

所述获取单元,用于根据所述多个终端的预设数量的中心数据,获取预设数量的当前中心数据,每个当前中心数据为所述多个终端中具有相同数据类别的数据集合的中心数据的平均值;

所述检测单元,用于根据预设收敛条件,检测所述预设数量的当前中心数据是否处于收敛状态;

所述确定单元,用于若所述预设数量的当前中心数据均处于收敛状态,则确定所述预设数量的当前中心数据为预设数量的目标中心数据。

在一个可选的实现中,所述装置还包括触发单元;

所述确定单元,还用于若检测出所述预设数量的当前中心数据中存在处于未收敛状态的当前中心数据,则将所述处于未收敛状态的当前中心数据和处于收敛状态的当前中心数据确定为新的初始中心数据;

所述触发单元,用于触发发送单元向多个终端中的每个终端发送预设数量的初始中心数据的步骤。

在一个可选的实现中,所述检测单元,具体用于判断所述预设数量的当前中心数据与前一次获取的预设数量的相应当前中心数据的差值是否不大于预设收敛阈值;

若所述预设数量的差值均不大于所述预设收敛阈值,则确定所述预设数量的当前中心数据均处于收敛状态;

或者,判断所述预设数量的当前中心数据的获取次数是否己达到预设的最大迭代次数;

若所述获取次数已达到所述最大迭代次数,则确定所述预设数量的当前中心数据均处于收敛状态。

第五方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的方法步骤或上述第二方面中任一项上所述的方法步骤。

第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤或上述第二方面中任一所述的方法步骤。

本发明上述实施例的无监督学习方法中终端接收中心服务器发送的预设数量的初始中心数据,每个初始中心数据为预设的表示一种数据类别的标称数据,且预设数量的初始中心数据的数据类别不同;采用预设聚类算法,对存储的无标注样本数据按照预设数量的初始中心数据进行聚类,得到预设数量的数据集合和每个数据集合中无标注样本数据的数据值对应的处于收敛状态的平均值,每个数据集合包括具有相同数据类别的无标注样本数据;将处于收敛状态的平均值确定为数据集合的中心数据;向中心服务器发送预设数量的数据集合的中心数据,中心服务器根据多个终端的预设数量的数据集合的中心数据,获取预设数量的当前中心数据,并在预设数量的当前中心数据均处于收敛状态时确定预设数量的当前中心数据为预设数量的目标中心数据,每个当前中心数据为多个终端中具有相同数据类别的数据集合的中心数据的平均值。该方法采用联邦学习与无监督学习相结合的方式,克服了现有技术无法使用无标注样本数据进行联合训练的问题,提高了样本的利用率。

附图说明

图1为本发明实施例提供的一种无监督学习方法应用的系统架构示意图;

图2为本发明实施例提供的一种无监督学习方法的流程示意图;

图3为本发明实施例提供的另一种无监督学习方法的流程示意图;

图4为本发明实施例提供的一种无监督学习装置的结构示意图;

图5为本发明实施例提供的另一种无监督学习装置的结构示意图;

图6为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

对于监督学习(supervisedlearning),其训练样本是带有标记信息的,并且监督学习的目的是:对带有标记的数据集进行模型学习,从而便于对新的样本进行分类。而在无监督学习(unsupervisedlearning)中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。对于无监督学习,应用最广的便是聚类(clustering)。其中,聚类算法是指将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个簇(cluster),通过这样的划分,每个簇可能对应于一些潜在的概念或类别。聚类算法可以包括:k-means算法、k-medoids算法、clarans算法等。

k-means算法是最为经典的基于划分的聚类方法,其基本思想是:以空间中k个点为形心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各簇的形心的值,直至得到最好的聚类结果。其中,形心可以是实际的点、或者是虚拟点。

本发明实施例提供的无监督学习方法可以应用在图1所示的系统架构中,该系统可以包括中心服务器和多个终端,如n个终端,n为不小于1的整数。中心服务器与多个终端间可进行数据通信。

为了保证学习的精确性,服务器可以是具有较强计算能力的应用服务器或云服务器;终端可以是具有较强的计算能力的移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(pda)、平板电脑(pad)等用户设备(userequipment,ue)、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(mobilestation,ms)、移动终端(mobileterminal)等。

每个终端为一个数据拥有方,每个数据拥有方各自持有各自的无标注样本数据xi,其中,i表示第i个数据拥有方。无标注样本数据为各自数据拥有方的业务系统运行产生的数据,无标注样本数据可以用一个矩阵来表示。矩阵的每一行代表一个无标注样本数据,每一列代表一种无标注样本数据的数据特征。

以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

图2为本发明实施例提供的一种无监督学习方法的流程示意图。如图2所示,该方法可以包括:

步骤210、中心服务器向多个终端中的每个终端发送预设数量的初始中心数据。

其中,每个初始中心数据均为中心服务器随机初始化的表示一种数据类别的标称数据,且预设数量的初始中心数据的数据类别不同。

可以理解的是,预设数量的初始中心数据在聚类算法中相当于初始化的预设数量的质心。

步骤220、终端采用预设聚类算法,对存储的无标注样本数据按照预设数量的初始中心数据进行聚类,得到预设数量的数据集合和每个数据集合对应的平均值。

其中,预设聚类算法可以包括夹角余弦相似度算法、欧式距离算法、切比雪夫距离算法、jaccard相似系数算法、曼哈顿距离算法等。每个数据集合对应的平均值为每个数据集合中无标注样本数据的数据值对应的处于收敛状态的平均值。

具体的,第一步,终端采用上述距离算法或相似度算法,分别计算存储的无标注样本数据与预设数量的初始中心数据的距离或相似度。若待计算的无标注样本数据与当前初始中心数据的距离或相似度不大于预设距离或相似度阈值,则确定待计算的无标注样本数据与当前的初始中心数据的数据类别相同或相近。此时,终端将待计算的无标注样本数据添加入以当前的初始中心数据为类别标准的数据集合中。每个数据集合包括具有相同数据类别的无标注样本数据。

若待计算的无标注样本数据与当前初始中心数据的距离或相似度大于预设距离或相似度阈值,则确定待计算的无标注样本数据与当前初始中心数据的数据类别完全不同,返回计算下一个待计算的无标注样本数据。

第二步,终端获取每个数据集合中具有相同数据类别的全部无标注样本数据的数据值对应的平均值;

第三步,重复迭代执行第一步和第二步直到当前获取的平均值与前一次获取的平均值的差值不大于预设变化阈值时,确定当前获取的平均值处于收敛状态;

或者,当迭代次数达到最大迭代次数时,确定当前获取的平均值处于收敛状态。

可以理解的是,预设数量的数据集合在聚类算法中相当于以初始化的预设数量的质心为基础得到的预设数量的簇。

步骤230、终端将处于收敛状态的平均值确定为该数据集合的中心数据。

将每个数据集合对应的平均值更新该数据集合对应的初始中心数据,即将该平均值确定为该数据集合的中心数据。

由此,每个终端均可以获取到预设数量的数据集合的中心数据。

步骤240、终端向中心服务器发送预设数量的数据集合的中心数据。

每个终端均向中心服务器发送各自获取的预设数量的数据集合的中心数据。

例如,若存在n个终端,预设数量为k,则中心服务器可以接收到n*k数量的数据集合的中心数据。

步骤250、中心服务器根据多个终端的预设数量的数据集合的中心数据,获取预设数量的当前中心数据。

由于每个终端均接收到预设数量的初始中心数据,故每个终端均由预设数量的初始中心数据获取预设数量的数据集合和相应的中心数据,由此可知,终端间存在相同数据类别的中心数据。

中心服务器将具有相同数据类别的数据集合的中心数据进行集合,获取到预设数量的具有相同数据类别的数据集合的中心数据集合,以及获取到每个中心数据集合中的中心数据的平均值,并将该平均值确定为相应中心数据集合的当前中心数据,中心服务器将预设数量的初始中心数据更新为预设数量的当前中心数据。

步骤260、中心服务器根据预设数量的当前中心数据是否处于收敛状态,确定预设数量的目标中心数据。

中心服务器根据预设收敛条件,检测预设数量的当前中心数据是否处于收敛状态。

中心服务器若预设数量的当前中心数据均处于收敛状态,则确定预设数量的当前中心数据为预设数量的目标中心数据。

中心服务器若检测出预设数量的当前中心数据中存在处于未收敛状态的当前中心数据,则将处于未收敛状态的当前中心数据和处于收敛状态的当前中心数据确定为新的初始中心数据,并返回执行步骤210。

可选地,中心服务器根据预设收敛条件,检测预设数量的当前中心数据是否处于收敛状态,可以包括:

中心服务器判断预设数量的当前中心数据与前一次获取的预设数量的相应当前中心数据的差值是否不大于预设收敛阈值;其中,在预设数量的当前中心数据为第一次获取到的中心数据时,前一次获取的预设数量的相应当前中心数据为初始值,如“0”。

若该预设数量的差值均不大于预设收敛阈值,则确定预设数量的当前中心数据均处于收敛状态;

若该预设数量的差值中存在大于预设收敛阈值的差值,则确定预设数量的当前中心数据中存在处于未收敛状态的当前中心数据;

或者,中心服务器判断预设数量的当前中心数据的获取次数是否己达到预设的最大迭代次数;

若获取次数己达到最大迭代次数,则确定预设数量的当前中心数据处于收敛状态。

进一步的,中心服务器向多个终端中的每个终端发送预设数量的目标中心数据。

预测时,各终端采用预设分类算法,对测试数据按照预设数量的目标中心数据进行特征分类,即分别计算测试数据与预设数量的目标中心数据的相似度或距离,得到该测试数据与哪个目标中心数据相似或距离较近,以获取该测试数据所属的数据类别。

在一个例子中,本发明实施例提供的另一种无监督学习方法的流程示意图。如图3所示,该方法可以包括:

步骤301、中心服务器分别向3个终端发送k个初始中心数据。

其中,k为不为零的整数。

步骤302、终端采用预设聚类算法,对存储的无标注样本数据按照预设数量的初始中心数据进行聚类,得到预设数量的数据集合和相应的中心数据。

终端将每个数据集合中无标注样本数据的数据值对应的处于收敛状态的平均值确定为数据集合的中心数据。

步骤303、终端向中心服务器发送预设数量的数据集合的中心数据。

步骤304、中心服务器根据多个终端的预设数量的数据集合的中心数据,获取预设数量的当前中心数据,并根据预设数量的当前中心数据是否处于收敛状态,确定出预设数量的目标中心数据。

本发明上述实施例的无监督学习方法中终端接收中心服务器发送的预设数量的初始中心数据,每个初始中心数据为预设的表示一种数据类别的标称数据,且预设数量的初始中心数据的数据类别不同;采用预设聚类算法,对存储的无标注样本数据按照预设数量的初始中心数据进行聚类,得到预设数量的数据集合和每个数据集合中无标注样本数据的数据值对应的处于收敛状态的平均值,每个数据集合包括具有相同数据类别的无标注样本数据;将处于收敛状态的平均值确定为数据集合的中心数据;向中心服务器发送预设数量的数据集合的中心数据,中心服务器根据多个终端的预设数量的数据集合的中心数据,获取预设数量的当前中心数据,并在预设数量的当前中心数据均处于收敛状态时确定预设数量的当前中心数据为预设数量的目标中心数据,每个当前中心数据为多个终端中具有相同数据类别的数据集合的中心数据的平均值。该方法采用联邦学习与无监督学习相结合的方式,克服了现有技术无法使用无标注样本数据进行联合训练的问题,提高了样本的利用率。

与上述方法对应的,本发明实施例还提供一种无监督学习装置,如图4所示,该无监督学习装置包括:接收单元410、分类单元420、确定单元430和发送单元440;

接收单元410,用于接收中心服务器发送的预设数量的初始中心数据,每个初始中心数据为预设的表示一种数据类别的标称数据,且所述预设数量的初始中心数据的数据类别不同;

分类单元420,用于采用预设聚类算法,对存储的无标注样本数据按照所述预设数量的初始中心数据进行聚类,得到预设数量的数据集合和每个数据集合中无标注样本数据的数据值对应的处于收敛状态的平均值,所述每个数据集合包括具有相同数据类别的无标注样本数据;

确定单元430,用于将所述处于收敛状态的平均值确定为所述数据集合的中心数据;

发送单元440,用于向所述中心服务器发送所述预设数量的数据集合的中心数据,以使所述中心服务器根据所述多个终端的预设数量的数据集合的中心数据,获取预设数量的当前中心数据,并在所述预设数量的当前中心数据均处于收敛状态时确定所述预设数量的当前中心数据为预设数量的目标中心数据,每个当前中心数据为所述多个终端中具有相同数据类别的数据集合的中心数据的平均值。

在一个可选的实现中,所述装置还包括触发单元450;

接收单元410,还用于在所述中心服务器检测到所述预设数量的当前中心数据中存在处于未收敛状态的当前中心数据,所述中心服务器将所述处于未收敛状态的当前中心数据和处于收敛状态的当前中心数据确定为新的初始中心数据时,接收所述中心服务器发送的预设数量的新的初始中心数据;

触发单元450,用于将所述初始中心数据更新为所述新的初始中心数据,并返回执行采用预设聚类算法,对存储的无标注样本数据按照所述预设数量的初始中心数据进行聚类的步骤。

在一个可选的实现中,所述预设聚类算法包括但不限于夹角余弦相似度算法、欧式距离算法、切比雪夫距离算法、jaccard相似系数算法和曼哈顿距离算法。

本发明上述实施例提供的无监督学习装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的无监督学习装置中的各个单元的具体工作过程和有益效果,在此不复赘述。

与上述方法对应的,本发明实施例还提供另一种无监督学习装置,如图5所示,该无监督学习装置包括:发送单元510、接收单元520、获取单元530、检测单元540和确定单元550;

发送单元510,用于向多个终端中的每个终端发送预设数量的初始中心数据,每个初始中心数据为预设的表示一种数据类别的标称数据,且所述预设数量的初始中心数据的数据类别不同;

接收单元520,用于接收所述每个终端发送的预设数量的数据集合的中心数据;其中,所述数据集合的中心数据为所述每个终端采用预设聚类算法,对存储的无标注样本数据按照所述预设数量的初始中心数据进行聚类的预设数量的数据集合中每个数据集合的无标注样本数据的数据值对应的处于收敛状态的平均值,所述数据集合包括具有相同数据特征的无标注样本数据;

获取单元530,用于根据所述多个终端的预设数量的中心数据,获取预设数量的当前中心数据,每个当前中心数据为所述多个终端中具有相同数据类别的数据集合的中心数据的平均值。

检测单元540,用于根据预设收敛条件,检测所述预设数量的当前中心数据是否处于收敛状态;

确定单元550,用于若所述预设数量的当前中心数据均处于收敛状态,则确定所述预设数量的当前中心数据为预设数量的目标中心数据。

在一个可选的实现中,所述装置还包括触发单元560;

确定单元550,还用于若检测出所述预设数量的当前中心数据中存在处于未收敛状态的当前中心数据,则将所述处于未收敛状态的当前中心数据和处于收敛状态的当前中心数据确定为新的初始中心数据;

触发单元560,用于触发发送单元向多个终端中的每个终端发送预设数量的初始中心数据的步骤。

在一个可选的实现中,检测单元540,具体用于判断所述预设数量的当前中心数据与前一次获取的预设数量的相应当前中心数据的差值是否不大于预设收敛阈值;

若所述预设数量的差值均不大于所述预设收敛阈值,则确定所述预设数量的当前中心数据均处于收敛状态;

或者,判断所述预设数量的当前中心数据的获取次数是否己达到预设的最大迭代次数;

若所述获取次数已达到所述最大迭代次数,则确定所述预设数量的当前中心数据均处于收敛状态。

本发明上述实施例提供的无监督学习装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的无监督学习装置中的各个单元的具体工作过程和有益效果,在此不复赘述。

本发明实施例还提供了一种电子设备,如图6所示,包括处理器610、通信接口620、存储器630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。

存储器630,用于存放计算机程序;

处理器610,用于执行存储器630上所存放的程序时,实现如下步骤:

接收中心服务器发送的预设数量的初始中心数据,每个初始中心数据为预设的表示一种数据类别的标称数据,且所述预设数量的初始中心数据的数据类别不同;

采用预设聚类算法,对存储的无标注样本数据按照所述预设数量的初始中心数据进行聚类,得到预设数量的数据集合和每个数据集合中无标注样本数据的数据值对应的处于收敛状态的平均值,所述每个数据集合包括具有相同数据类别的无标注样本数据;

将所述处于收敛状态的平均值确定为所述数据集合的中心数据;

向所述中心服务器发送所述预设数量的数据集合的中心数据,以使所述中心服务器根据所述多个终端的预设数量的数据集合的中心数据,获取预设数量的当前中心数据,并在所述预设数量的当前中心数据均处于收敛状态时确定所述预设数量的当前中心数据为预设数量的目标中心数据,每个当前中心数据为所述多个终端中具有相同数据类别的数据集合的中心数据的平均值。

在一个可选的实现中,所述方法还包括:

在所述中心服务器检测到所述预设数量的当前中心数据中存在处于未收敛状态的当前中心数据,所述中心服务器将所述处于未收敛状态的当前中心数据和处于收敛状态的当前中心数据确定为新的初始中心数据时,所述终端接收所述中心服务器发送的预设数量的新的初始中心数据;

所述终端将所述初始中心数据更新为所述新的初始中心数据,并返回执行采用预设聚类算法,对存储的无标注样本数据按照所述预设数量的初始中心数据进行聚类的步骤。

在一个可选的实现中,所述预设聚类算法包括但不限于夹角余弦相似度算法、欧式距离算法、切比雪夫距离算法、jaccard相似系数算法和曼哈顿距离算法。

或者,执行以下步骤:

向多个终端中的每个终端发送预设数量的初始中心数据,每个初始中心数据为预设的表示一种数据类别的标称数据,且所述预设数量的初始中心数据的数据类别不同;

接收所述每个终端发送的预设数量的数据集合的中心数据;其中,所述数据集合的中心数据为所述每个终端采用预设聚类算法,对存储的无标注样本数据按照所述预设数量的初始中心数据进行聚类的预设数量的数据集合中每个数据集合的无标注样本数据的数据值对应的处于收敛状态的平均值,所述数据集合包括具有相同数据特征的无标注样本数据;

根据所述多个终端的预设数量的中心数据,获取预设数量的当前中心数据,每个当前中心数据为所述多个终端中具有相同数据类别的数据集合的中心数据的平均值;

根据预设收敛条件,检测所述预设数量的当前中心数据是否处于收敛状态;若所述预设数量的当前中心数据均处于收敛状态,则确定所述预设数量的当前中心数据为预设数量的目标中心数据。

在一个可选的实现中,所述方法还包括:

中心服务器若检测出所述预设数量的当前中心数据中存在处于未收敛状态的当前中心数据,则将所述处于未收敛状态的当前中心数据和处于收敛状态的当前中心数据确定为新的初始中心数据,并返回执行向多个终端中的每个终端发送预设数量的初始中心数据的步骤。

在一个可选的实现中,根据预设收敛条件,检测所述预设数量的当前中心数据是否处于收敛状态,包括:

判断所述预设数量的当前中心数据与前一次获取的预设数量的相应当前中心数据的差值是否不大于预设收敛阈值;

若所述预设数量的差值均不大于所述预设收敛阈值,则确定所述预设数量的当前中心数据均处于收敛状态;

或者,判断所述预设数量的当前中心数据的获取次数是否己达到预设的最大迭代次数;

若所述获取次数已达到所述最大迭代次数,则确定所述预设数量的当前中心数据均处于收敛状态。

上述提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图2所示的实施例中的各步骤来实现,因此,本发明实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的无监督学习方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的无监督学习方法。

本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1