聚类方法和装置转让专利
申请号 : CN201710457622.0
文献号 : CN107330452B
文献日 : 2021-07-02
发明人 : 王虎
申请人 : 悦享趋势科技(北京)有限责任公司
摘要 :
权利要求 :
1.一种聚类方法,其特征在于,包括:获取神经网络模型;
将目标数据输入所述神经网络模型,确定所述目标数据对所述神经网络模型中至少一个中间层节点的激活程度;
根据每个中间层节点的激活程度在所述至少一个中间层节点中选择所述目标数据的聚类节点;
根据所述聚类节点确定所述目标数据的聚类结果;
其中,获取神经网络模型包括:接收输入的所述神经网络模型的结构参数以确定所述神经网络模型的结构;通过训练样本集对结构确定的神经网络模型进行训练,其中,所述训练样本集中的每个样本包括样本数据和样本类别标签,所述神经网络模型的训练目标为在输入所述样本数据之后的输出与所述样本数据对应的样本类别标签的差距最小;所述样本数据为动物图像,所述样本类别标签为动物的种类,所述中间层节点为动物特征;
根据每个中间层节点的激活程度在所述至少一个中间层节点中选择所述目标数据的聚类节点包括:
获取输入的所述聚类节点的数量K;
根据所述每个中间层节点的激活程度在所述至少一个中间层节点中选择K个节点作为所述聚类节点;
根据所述每个中间层节点的激活程度在所述至少一个中间层节点中选择K个节点作为所述聚类节点包括:
将所述神经网络模型在接收输入的所述目标数据之后每个中间层节点对应的激励函数的输出值作为所述激活程度;
根据所述至少一个中间层节点的激活程度分别计算每个中间层节点的排序参数值;
按照每个中间层节点的排序参数值对所述至少一个中间层节点进行排序,选取前K个节点作为所述聚类节点;
在对多个目标数据进行聚类并得到聚类结果之后,所述方法还包括:通过可视化方式显示所述多个目标数据的聚类分布图,其中,在所述样本数据包括多维数据的情况下,所述可视化方式包括使用局部线性嵌入法进行数据降维,并用散点图进行显示。
2.根据权利要求1所述的方法,其特征在于,根据所述聚类节点确定所述目标数据的聚类结果包括:
根据选择出的K个聚类节点的组合将所述目标数据划分到所述组合对应的类别。
3.一种聚类装置,其特征在于,包括:获取单元,用于获取神经网络模型;
输入单元,用于将目标数据输入所述神经网络模型,确定所述目标数据对所述神经网络模型中至少一个中间层节点的激活程度;
选择单元,用于根据每个中间层节点的激活程度在所述至少一个中间层节点中选择所述目标数据的聚类节点;
确定单元,用于根据所述聚类节点确定所述目标数据的聚类结果;
其中,所述获取单元包括:接收模块,用于接收输入的所述神经网络模型的结构参数以确定所述神经网络模型的结构;
训练模块,用于通过训练样本集对结构确定的神经网络模型进行训练,其中,所述训练样本集中的每个样本包括样本数据和样本类别标签,所述神经网络模型的训练目标为在输入所述样本数据之后的输出与所述样本数据对应的样本类别标签的差距最小;所述样本数据为动物图像,所述样本类别标签为动物的种类,所述中间层节点为动物特征;
所述选择单元包括:
获取模块,用于获取输入的所述聚类节点的数量K;
选择模块,用于根据所述每个中间层节点的激活程度在所述至少一个中间层节点中选择K个节点作为所述聚类节点;
所述选择模块包括:
逻辑模块,用于将所述神经网络模型在接收输入的所述目标数据之后每个中间层节点对应的激励函数的输出值作为所述激活程度;
计算模块,用于根据所述至少一个中间层节点的激活程度分别计算每个中间层节点的排序参数值;
选择子模块,用于按照每个中间层节点的排序参数值对所述至少一个中间层节点进行排序,选取前K个节点作为所述聚类节点;
所述装置还包括:
显示单元,用于在对多个目标数据进行聚类并得到聚类结果之后,通过可视化方式显示所述多个目标数据的聚类分布图,其中,在所述样本数据包括多维数据的情况下,所述可视化方式包括使用局部线性嵌入法进行数据降维,并用散点图进行显示。
4.根据权利要求3所述的装置,其特征在于,所述确定单元包括:分类模块,用于根据选择出的K个聚类节点的组合将所述目标数据划分到所述组合对应的类别。
5.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至2任意一项所述的聚类方法。
6.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至2任意一项所述的聚类方法。
说明书 :
聚类方法和装置
技术领域
背景技术
上述的聚类方法需要用户懂得如何选择或设计相似度或相似度计算方法,增加了数据聚类
方法的使用难度,进一步地,当用户选定或设计的相似度或者相似度计算方法不恰当时,聚
类方法所能实现的聚类效果可能不能满足用户的需求。例如,在对图像数据进行聚类分析
时,如果使用欧式距离计算图像之间的相似度,则不能反映图像内容的平移、尺度等变化,
从而导致聚类分析失败。再如,在对脉搏波时序数据进行聚类分析时,如果使用动态时间规
整(DTW)法计算脉搏波时序数据片段之间的相似度,则可能丢失脉搏波信号中的重搏波相
对位置平移信息,导致聚类结果与用户预期效果不一致。
提供了一种结合神经网络模型的聚类方法,具体的技术方案为在神经网络模型中指定特定
的中间层节点作为用于聚类的特征层,并且,还需要对神经网络模型的目标函数进行修改,
加入聚类的类内约束函数,这种方式需要预先确定用于聚类的中间层节点是哪些节点,增
加了使用该方法的人工部分的复杂度,并且修改了神经网络模型的目标函数,从而改变了
神经网络原来的行为和表现。现有技术中还有一些其他的改进的聚类方法,例如,需要在神
经网络模型的节点中增加离散的节点,根据离散节点的状态进行聚类等等。在上述的现有
技术中的技术方案由于对神经网络模型具有一定的限制条件,因此限定了聚类方法的使用
范围。
发明内容
点的激活程度;根据每个中间层节点的激活程度在至少一个中间层节点中选择目标数据的
聚类节点;根据聚类节点确定目标数据的聚类结果。
一个中间层节点中选择K个节点作为聚类节点。
激励函数的输出值作为激活程度;根据至少一个中间层节点的激活程度分别计算每个中间
层节点的排序参数值;按照每个中间层节点的排序参数值对至少一个中间层节点进行排
序,选取前K个节点作为聚类节点。
本集中的每个样本包括样本数据和样本类别标签,神经网络模型的训练目标为在输入样本
数据之后的输出与样本数据对应的样本类别标签的差距最小。
经网络模型中至少一个中间层节点的激活程度;选择单元,用于根据每个中间层节点的激
活程度在至少一个中间层节点中选择目标数据的聚类节点;确定单元,用于根据聚类节点
确定目标数据的聚类结果。
节点。
个中间层节点的激活程度分别计算每个中间层节点的排序参数值;选择子模块,用于按照
每个中间层节点的排序参数值对至少一个中间层节点进行排序,选取前K个节点作为聚类
节点。
行训练,其中,训练样本集中的每个样本包括样本数据和样本类别标签,神经网络模型的训
练目标为在输入样本数据之后的输出与样本数据对应的样本类别标签的差距最小。
程度在至少一个中间层节点中选择目标数据的聚类节点;根据聚类节点确定目标数据的聚
类结果,解决了相关技术中结合神经网络模型的聚类方法使用复杂度较高的技术问题,进
而实现了无需人工选取相似度、无需在中间层中指定聚类的节点、自动根据中间层节点的
激活程度在中间层节点中选取聚类节点的效果,并且适用于所有种类的神经网络模型,无
需限制神经网络模型中节点类型是连续或离散,神经网络模型中的所有节点可以都是连续
节点,具有更强的适用性的技术效果。
附图说明
具体实施方式
本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人
员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范
围。
的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或
描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆
盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于
清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品
或设备固有的其它步骤或单元。
输出值为该中间层节点对输入数据的激活程度,该实施例提供的聚类方法通过将目标数据
输入神经网络模型的输入层,根据目标数据对神经网络模型中的中间层节点的激活程度来
确定目标数据的类别,从而实现对数据进行聚类的效果。
少包括样本数据和样本类别标签两个部分,对神经网络模型进行训练的目标为使神经网络
模型在输入样本数据之后得到的输出结果与输入的样本数据所对应的样本类别标签的差
异最小,其中,对所述差异的具体定义和函数的选取可以视情况而定,本发明对此不做具体
限定。
到的聚类结果则是根据对神经网络模型的激活程度进行划分的结果,无需预先设定相似
度,通过神经网络模型自学习每个样本数据的特征(可以通过每个中间层节点对应的激励
函数表示一个特征,激励函数的输出值则为样本数据的特征值),然后确定聚类划分所需的
中间层节点(聚类节点)的选取规则,例如,聚类划分所需的中间层节点的个数、聚类划分所
需的中间层节点所在的层数、聚类划分所需的中间层节点的激活程度值的数值范围和/或
聚类划分所需的中间层节点的优选顺序等,在确定聚类划分所需的中间层节点的选取规则
之后,根据选取规则选取预设个数的中间层节点作为聚类节点,并根据聚类节点确定目标
数据的分类结果。需要说明的是,在选择聚类节点时,可以在所有的中间层节点中的一部分
中间层节点中选择聚类节点,仅确定这部分中间层节点中每个中间层节点的激励程度,在
这部分中间层节点中选取聚类节点,而无需在全部中间层节点中选择聚类节点。在对多个
目标数据按照该实施例提供的聚类方法进行聚类之后,得到多个分组,每个组内具有至少
一个目标数据,每个组内的所有目标数据具有至少一个相似的特征。
点作为聚类节点。进一步的,在根据每个中间层节点的激活程度在至少一个中间层节点中
选择K个节点作为聚类节点时,可以选择激活程度最高的前K个节点作为聚类节点,具体而
言,首先,将神经网络模型在接收输入的目标数据之后每个中间层节点对应的激励函数的
输出值作为激活程度,然后根据至少一个中间层节点的激活程度分别计算每个中间层节点
的排序参数值,最后,按照每个中间层节点的排序参数值对至少一个中间层节点进行排序,
选取前K个节点作为聚类节点。
目标数据x1分类到节点1和节点3的组合所对应的类别A,如果目标数据x2激活程度在前两位
的聚类节点为节点2和节点3,则将目标数据x2分类到节点2和节点3的组合所对应的类别B。
层的层数、输入层节点个数、输出层节点个数、每个中间层的节点个数等等,在确定结构参
数之后,神经网络模型的结构随之确定,通过训练样本集对结构确定的神经网络模型进行
训练,其中,训练样本集中的每个样本包括样本数据和样本类别标签,神经网络模型的训练
目标为在输入样本数据之后的输出与样本数据对应的样本类别标签的差距最小。
维one‑hot vector(独热向量)表示,具体而言,如果训练样本集中的样本分为N个种类,第p
个类别的样本数据对应的样本类别标签可以表示为向量X={xi=1(i=p),xi=0(1≤i≤N
且i≠p)},例如,如果N为8,第2个类别的样本数据的样本类别标签可以表示为{0,1,0,0,0,
0,0,0}。在样本类别标签采用N维one‑hot向量表示的情况下,神经网络模型的输出为N维向
量,对神经网络模型的训练目标可以为使输出的向量与样本类别标签之间的交叉熵(交叉
熵能够表示差异)最小,可选的,训练目标还可以是其它函数,本发明在此不做具体限定。
具体而言,可以将目标数据转换为二维数据,通过散点图进行显示,每个样本点通过点的颜
色或标记表示(所属类别的)聚类编号,在显示散点图之后,可以通过人工根据散点图判断
聚类效果,或者,如果两个聚类的散点图的区域重叠程度较高时,将两个类别合并为一个类
别。
少一个中间层节点中选择目标数据的聚类节点;根据聚类节点确定目标数据的聚类结果,
解决了相关技术中结合神经网络模型的聚类方法使用复杂度较高的技术问题,进而实现了
无需人工选取相似度、无需在中间层中指定聚类的节点、自动根据中间层节点的激活程度
在中间层节点中选取聚类节点的效果,并且适用于所有种类的神经网络模型,无需限制神
经网络模型中节点类型是连续或离散,神经网络模型中的所有节点可以都是连续节点,具
有更强的适用性。
络模型的结构参数即可。在设计神经网络模型之后,将带标签的数据样本集合输入到神经
网络模型,优化结构确定的神经网络模型的参数。
以通过如图3中所示的聚类节点选择单元执行,聚类节点选择单元根据设置的选择规则在
中间层中的多个中间层节点中选择若干节点作为聚类节点,并根据选择出的聚类节点划分
每个输入数据(样本)的聚类。可选的,中间层可能包括多层,聚类节点选择单元可以选择在
神经网络模型的最后一层中间层中选择若干个节点,如图3所示。最后,可以根据神经网络
模型分类的准确率评估聚类效果。
图像,样本类别标签为动物的种类,猫、狗、牛、羊、鸡、鸭、鱼、虫等,通过上述数据样本集合
训练之后得到的神经网络模型能够自学习以提取出例如毛发长度、毛发颜色、耳朵性质、四
肢长度等特征,每个中间层节点可以是一种特征,因此,依据输入的数据激活程度较高的中
间层节点获得的聚类结果可能是分为长毛动物类、短毛动物类,也可能是分为黑色、白色、
灰色、杂色动物类,也可能是分为长腿动物类、短腿动物类、无腿动物类,也可能是分为上述
属性特征的组合类(如黑色长毛长腿动物类)。通过尝试不同结构的人工神经网络模型(例
如,不同的人工神经网络模型层数、中间层节点个数),或者选取不同的中间层节点,可以获
得不同的聚类效果。
hot向量;
个节点,如图3所示;
分到第三个聚类;
用其它目标函数和优化方法,例如,在目标函数中增加L1正则项(例如,正则项取值为从聚
类节点到下一层节点之间的连接权值之和);在根据中间层节点的激活值将各个样本划分
到不同的聚类时,还有其它方法,例如,当某个样本使得第3个中间层节点的激活值最大、且
第5个中间层节点的激活值第二大,则将该样本分到第15个聚类(对应第3个节点与第5个节
点的聚类);在输出聚类结果时,还可以通过可视化的方式估计聚类效果,例如,使用数据降
维方法(局部线性嵌入法)将图像样本降低为二维数据,并使用散点图进行显示,其中样本
点的颜色或者标记依据聚类编号不同而不同,最后由人工对散点图的聚类效果进行评估,
或者,还可以通过可视化的方式优化数据聚类,例如,使用数据降维方法(局部线性嵌入法)
将图像样本降低为二维数据,并使用散点图进行显示,其中样本点的颜色或者标记依据聚
类编号不同而不同,当两个聚类对应的散点图区域重叠度较高时,将两个聚类合并为一个。
而可以适用相似度难以计算的数据,例如图像数据、音频数据;
的人工神经网络模型,节点的取值也可以是连续值,因而可以便捷地用于卷积神经网络
(CNN)等各种结构的人工神经网络模型。
模型;输入单元用于将目标数据输入神经网络模型,确定目标数据对神经网络模型中至少
一个中间层节点的激活程度;选择单元用于根据至少一个中间层节点中每个中间层节点的
激活程度在至少一个中间层节点中选择目标数据的聚类节点;确定单元用于根据聚类节点
确定目标数据的聚类结果。
元,用于根据每个中间层节点的激活程度在至少一个中间层节点中选择目标数据的聚类节
点;确定单元,用于根据聚类节点确定目标数据的聚类结果,解决了相关技术中结合神经网
络模型的聚类方法使用复杂度较高的技术问题,进而实现了无需人工选取相似度、无需在
中间层中指定聚类的节点、自动根据中间层节点的激活程度在中间层节点中选取聚类节点
的效果,并且适用于所有种类的神经网络模型,无需限制神经网络模型中节点类型是连续
或离散,神经网络模型中的所有节点可以都是连续节点,具有更强的适用性。
中选择K个节点作为聚类节点。
计算模块,用于根据至少一个中间层节点的激活程度分别计算每个中间层节点的排序参数
值;选择子模块,用于按照每个中间层节点的排序参数值对至少一个中间层节点进行排序,
选取前K个节点作为聚类节点。
结构确定的神经网络模型进行训练,其中,训练样本集中的每个样本包括样本数据和样本
类别标签,神经网络模型的训练目标为在输入样本数据之后的输出与样本数据对应的样本
类别标签的差距最小。
图。
储芯片。
到,所揭露的技术内容,可通过其它的方式实现。
可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之
间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连
接,可以是电性或其它的形式。
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式
体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机
设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或
部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read‑Only Memory)、随机存取存
储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的
介质。
视为本申请的保护范围。