一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据聚类方法、系统及计算机可读存储介质与流程

2022-03-31 09:10:08 来源:中国专利 TAG:


1.本公开内容中讨论的实施方式涉及数据的聚类。


背景技术:

2.数据可以被分组成数据集群。聚类的数据可以用于许多领域的统计数据分析。例如,可以使用数据集群的领域可以包括模式识别、图像分析、信息检索、生物信息学、数据压缩、计算机图形学和机器学习等。
3.本公开内容中要求保护的主题不限于解决任何缺点或者仅在诸如上述环境的环境中工作的实施方式。而是,仅提供该背景技术来说明其中可以实践本公开内容中描述的一些实施方式的一个示例技术领域。


技术实现要素:

4.在示例实施方式中,一种方法可以包括:获得表示数据集中的数据的第一矩阵,以及获得数据将要被分组成的集群的数目。该方法还可以包括:使用第一矩阵和集群的数目来构建第二矩阵。在一些实施方式中,第二矩阵可以表示在第二优化问题的框架中对第一优化问题的公式表示。该方法还可以包括:使用第二矩阵求解第二优化问题,以生成第二优化问题的解;以及将第二优化问题的解映射到表示第一优化问题的解的第一解矩阵中。该方法还可以包括:使用第一解矩阵将数据分组成多个数据集群。在一些实施方式中,多个数据集群的数目可以等于集群的数目。
5.实施方式的目的和优点将至少通过权利要求书中特别指出的元素、特征和组合来实现和完成。
6.前面的总体描述和下面的详细描述两者均作为示例给出,并且是说明性的而不是对所要求保护的本发明的限制。
附图说明
7.将通过使用附图,更具体地且更详细地描述和说明示例实施方式,在附图中:
8.图1示出了用于数据集群的示例操作流程;
9.图2示出了可以用于使数据聚类的示例矩阵;
10.图3示出了可以在使数据聚类时使用的示例方法的流程图;
11.图4示出了可以在使数据聚类时使用的另一示例方法的流程图;
12.图5示出了数据聚类的示例方法的流程图;以及
13.图6示出了可以用于数据聚类的示例系统。
具体实施方式
14.随着技术的进步,可以收集和存储大量数据。可以从数据中获得信息。在一些情况下,可以通过将数据分组成数据集群来从数据中获得信息。例如,可以基于类似的特性对数
据进行分组。
15.在一些情况下,可以以矩阵形式来表示数据。可以通过对矩阵的行和/或列进行分组,将数据以矩阵形式分组成数据集群。例如,可以从多个个人收集关于他们基因的数据。信息可以被排列在矩阵中。可以基于他们的基因将个人分组成集群,以识别个人中的哪些个人可能更容易患某些疾病,例如癌症。
16.在一些情况下,可以使用二进制矩阵分解(bmf)来执行将矩阵中的数据分组成数据集群。矩阵的分解将矩阵表示为两个或更多个矩阵的乘积。可以使用可以限定因分解而得到的两个或更多个矩阵的大小的整数来执行分解。例如,可以使用整数k将m
×
n矩阵a分解为m
×
k矩阵b和k
×
n矩阵c。可以执行bmf以使矩阵b和矩阵c的乘积与矩阵a之间的差最小化。当对矩阵执行bmf以在矩阵中分组数据时,整数k可以表示待确定的数据集群的数目。
17.在一些情况下,bmf可以是可能难以求解的组合优化问题。然而,可以使用利用量子物理概念来获得解的硬件来获得呈二次无约束二进制优化(qubo)问题形式的组合优化问题的解。例如,可以使用数字退火器或其他量子计算技术来获得qubo问题的解。
18.本公开内容中的一些实施方式涉及可以被配置成将数据排列成用于bmf的二进制矩阵形式使得可以将数据分组成数据集群的系统和/或方法。在这些和其他实施方式中,可以获得估计二进制矩阵的bmf的qubo问题公式表示。qubo问题公式表示可以包括关于如何将二进制矩阵中的数据分组成数据集群的一个或更多个约束。可以使用数字退火器或量子计算技术来求解qubo问题。qubo问题的解可以映射至两个矩阵,这两个矩阵可以表示二进制矩阵的bmf的解。使用这两个矩阵,可以将来自二进制矩阵的数据分组成数据集群。
19.图1示出了根据本公开内容中的至少一个实施方式的示例操作流程100。操作流程100可以示出用于将数据分组成数据集群的操作流程。例如,操作流程100可以包括多个操作,这些操作可以被配置成将来自数据集102的数据分组成数据集群152。作为示例,数据的第一子集可以一起被分组在数据集群152中的第一数据集群中,数据的第二子集可以一起被分组在数据集群152中的第二数据集群中,并且数据的第三子集可以一起被分组在数据集群152中的第三数据集群中。
20.在一些实施方式中,在操作110处,可以使用数据集102来构建矩阵a 112。矩阵a可以被构建为二进制矩阵。二进制矩阵可以是其中矩阵中的所有条目都具有1或0的值的矩阵。图2所示的矩阵202是二进制矩阵的示例。
21.在一些实施方式中,数据集102可以不呈矩阵的形式。在这些和其他实施方式中,来自数据集102的数据可以被重新成形为矩阵。可以通过确定数据集102中的可以在矩阵的行中表示的第一变量和数据集102中的可以在矩阵的列中表示的第二变量,将数据重新成形为矩阵。例如,数据集102可以包括关于个人基因的信息。在这些和其他实施方式中,基因可以由行表示并且列可以由个人表示。作为另一示例,数据集102可以包括关于由个人在商店进行的在线购买的信息。由用户购买的所有项可以由行表示,并且个人可以由列表示。矩阵位置处的数字可以表示由用户购买的项的数目。矩阵位置处的0可以指示用户尚未购买项。
22.在一些实施方式中,矩阵中的数据可以不是二进制形式。在这些和其他实施方式中,矩阵可以形成为二进制矩阵。例如,可以使用阈值处理技术将矩阵形成为二进制矩阵。在这些和其他实施方式中,可以基于矩阵中的值来选择阈值。响应于矩阵中的值小于阈值,
可以在二进制矩阵中将这些值改变为数字0。响应于矩阵中的值大于阈值,可以在二进制矩阵中将这些值改变为数字1。
23.在一些实施方式中,可以通过操作110来调整矩阵的维度。在这些和其他实施方式中,可以调整矩阵的列数和/或行数。在这些和其他实施方式中,当矩阵并不已经是二进制矩阵时,可以在将矩阵形成为二进制矩阵之前调整矩阵的列和/或行。
24.在一些实施方式中,可以基于可以用于在操作130中求解qubo问题或找到qubo问题的解的硬件的能力来调整矩阵的列数和/或行数。例如,响应于列数和/或行数大于基于可以用于求解qubo问题或找到qubo问题的解的硬件的能力的阈值数目,可以减小列和/或行的数目。
25.替选地或附加地,可以响应于矩阵的大小为m
×
n来调整矩阵的列数和/或行数,其中,m大约等于n。在这些和其他实施方式中,矩阵的列数和/或行数可以被调整成使得m》》n并且n是小于300、500、700、1000、1500、2000、3000、5000、10,000的数字或在2至15,000的范围内的某其他值。替选地或附加地,矩阵的列数和/或行数可以被调整成使得n》》m并且m是小于300、500、700、1000、1500、2000、3000、5000、10,000的数字或在2至15,000范围内的某其他值。
26.在一些实施方式中,可以通过压缩矩阵中的数据来调整矩阵的列数和/或行数。可以通过对矩阵中的数据的采样来压缩矩阵中的数据。采样的数据可以用作矩阵中的数据,并且可以去除非采样的数据。在这些和其他实施方式中,可以基于矩阵的杠杆分数来执行采样。矩阵的杠杆分数可以确定矩阵中的特定数据相对于矩阵中的其他数据的重要性。重要性可以基于矩阵中的数据的统计分析。
27.在一些实施方式中,通过操作110确定的矩阵可以被称为矩阵a 112。矩阵a 112可以被提供给操作120。在一些实施方式中,矩阵a 112可以是下述矩阵,可以对该矩阵执行bmf以将来自在矩阵a 112中表示的数据集102的数据分组成数据集群152。
28.在一些实施方式中,可以基于数据和要从该数据确定的信息来确定矩阵a 112中表示的数据可以被分组成的数据集群152的数目。例如,当数据涉及个人和健康状况时,个人可以被分组成两组,即,具有健康的状况的第一组和不具有健康的状况的第二组。因此,数据集群152的数目可以是两个。在其他示例中,数据集群152的数目可以是2、3、4、6、8、10、12、15、20或数据集群152的某其他数目。在这些和其他实施方式中,数据集群152的数目可以小于矩阵a 112的行数和列数中的较小者。在一些实施方式中,数据集群152的数目可以作为集群的数目114被提供至操作120。
29.基于集群的数目114和矩阵a 112,对矩阵a 112的bmf可以被限定为如下:其中,a∈{0,1}m×n是具有二进制条目的矩阵并且r是集群的数目114,其中,r是正整数并且r≤min(m,n),二进制矩阵分解(bmf)问题可以被限定为如下:
[0030][0031]
使得满足(s.t.)u∈{0,1}m×r,v∈{0,1}n×r[0032]
u被称为矩阵u 142,并且v被称为矩阵v 144。
[0033]
在一些实施方式中,在操作120处,可以针对作为矩阵a 112的bmf问题的公式表示的qubo问题来构建矩阵q 122和向量x 124。在这些和其他实施方式中,作为bmf问题的公式
表示的qubo问题可以指示qubo问题是使用基于矩阵a 112和集群的数目114的变量构建的,使得qubo问题生成作为bmf问题的近似解的解。
[0034]
在一些实施方式中,qubo问题可以被限定为:
[0035]
min
x
x
t
qx,其中,x∈{0,1}n并且
[0036]
其中,n是任意实数。基于以上限定,矩阵q 122和向量x 124可以使用矩阵a 112和集群的数目114来构建,使得qubo是矩阵a 112的bmf的公式表示。
[0037]
为了创建作为矩阵a 112的bmf的公式表示的qubo,可以将bmf重新用公式表示为qubo的形式。为了将bmf重新用公式表示为qubo的形式,通过引入附加变量同时寻求维持bmf来重新用公式表示bmf的式。例如,bmf的式可以被重写为如下:
[0038][0039]
其中,求和是针对i∈[m]、j∈[m]和k,k

∈[r]进行的。
[0040]
以上式的右侧的第三项,即可能基于该第三项具有高于二的阶数而不是qubo的形式。因此,可以将辅助变量和引入式中,以将bmf重新用公式表示为qubo。辅助变量可以被限定为如下:
[0041]
对于i∈[m],k,k

∈[r],
[0042]
对于j∈[n],k,k

∈[r]。
[0043]
其中,并且并且是大小为m
×
r2的矩阵,并且是大小为n
×
r2的矩阵。通过辅助变量和bmf式可以被描述为如下:
[0044][0045]
使得满足u∈{0,1}m×r,v∈{0,1}n×r[0046]
为了并入如以上限定的辅助变量和的约束,可以调整qubo公式表示以包括惩罚。惩罚可以表达辅助变量和的约束。可以通过将惩罚函数并入到qubo公式表示中来包括惩罚。鉴于矩阵a 112是二进制矩阵,惩罚函数可以被表达为惩罚系数116。因此,bmf式可以被描述为如下:
[0047]
[0048]
使得满足u∈{0,1}m×r,v∈{0,1}n×r,,
[0049]
其中,λ是惩罚系数116。
[0050]
惩罚系数116可以随机地被选择以用于qubo问题。在一些实施方式中,惩罚系数116可以被选择成大于(m*n) 1,其中,m是矩阵q 122的行数,并且n是矩阵q 122的列数。替选地或附加地,响应于包括对包括数据集102的数据的矩阵的压缩的矩阵a 112的构建,可以调整惩罚系数116。例如,惩罚系数116可以被选择成大于(s*n) 1,其中,n是矩阵q 122的列数,并且s是在对矩阵的压缩期间被采样以形成矩阵a 112的行数。因此,可以响应于使用对包括数据集102的数据的矩阵的压缩来形成矩阵a 112,而调整惩罚系数。
[0051]
鉴于以上,可以限定qubo问题的矩阵q 122和向量x 124。例如,向量x 124可以被限定为如下:
[0052][0053]
其中,并且
[0054]
矩阵q 122可以被限定为如下:
[0055][0056]
其中,其中,并且其中,i是单位矩阵。
[0057]
在一些实施方式中,可以将不同的辅助变量引入该式中以将bmf重新用公式表示为qubo。在这些和其他实施方式中,矩阵q 122可以被限定为如下:
[0058][0059]
其中,并且
[0060]
其中,i是单位矩阵。
[0061]
在一些实施方式中,可以基于如何将来自数据集102的数据分组成数据集群152来
使用一个或更多个约束118。例如,约束可以包括数据可以被分组到数据集群152中的仅特定数量的数据集群中。例如,约束可以指示数据可以被分组到三个数据集群152中的仅一个数据集群中。作为另一示例,数据可以被分组到五个数据集群152中的仅两个数据集群中。作为另一示例,约束可以包括数据将要被分组成特定数量的数据集群152。例如,数据可以被分组成使得所有数据被分组成两组或者至少两组。作为另一示例,约束可以包括特定数据不能与其他数据分组。也可以考虑其他类型的约束。
[0062]
在一些实施方式中,可以向操作120提供约束118。在这些和其他实施方式中,可以基于约束来调整矩阵q 122。例如,假设约束118是数据将要被分组成矩阵a 112的列之中的仅一个组。这可以由针对bmf的以下表达式来表征:
[0063]
对于所有j。
[0064]
该表达式可以指示可以包括在第一解矩阵的每一列中的非零元素的数目等于1。替选地或附加地,附加约束118可以是数据将要被分组成矩阵a 112的行之中的仅一个组。这可以由针对bmf的以下表达式来表征:
[0065]
对于所有j。
[0066]
为了基于一个约束的bmf表征来用公式表示qubo,矩阵可以被限定为如下:
[0067][0068]
矩阵c可以被并入到矩阵q 122中,如下所示:
[0069][0070]
因此,矩阵q 122可以被调整成包括关于将来自数据集102的数据分组成数据集群152的约束。可以基于可以将数据分组成数据集群152的特定方式以类似方式将附加约束添加至矩阵q 122。
[0071]
在一些实施方式中,在操作130处,可以生成用于由矩阵q 122和向量x 124表示的qubo问题的解132。可以通过将qubo问题提供给量子处理系统、数字退火系统或被配置成求解qubo问题的一些其他系统来生成解。解132可以呈二进制向量的形式。向量中的位置可以对应于矩阵u 142和矩阵v 144中的不同位置。向量中的位置处的值可以是0或1。在一些实施方式中,qubo问题的解可以是在特定时间量之后或当解在qubo问题的特定优化目标内时生成的解。
[0072]
在一些实施方式中,在操作140处,可以使用解132来构建矩阵u 142和矩阵v 144。在操作140期间,解132中的值可以被映射到矩阵u 142和矩阵v 144中的不同位置。例如,解132的第一位置可以映射到矩阵u 142的第一位置,并且解132的第二位置可以映射到矩阵v 144的第二位置。该解的位置处的值可以被放置在矩阵u 142和矩阵v 144中的对应位置中。在这些和其他实施方式中,矩阵u 142和矩阵v 144可以是二进制矩阵。
[0073]
在一些实施方式中,可以在基于解132进行构建之后改进矩阵u 142和矩阵v 144
中的一者或两者。例如,可以在维持矩阵v 144的同时改进矩阵u 142。替选地或附加地,可以在维持矩阵u 142的同时改进矩阵v 144。替选地或附加地,可以迭代地改进矩阵u 142和矩阵v 144。例如,可以在维持矩阵v 144的同时改进矩阵u 142。在改进矩阵u 142之后,可以在维持矩阵u 142的同时改进矩阵v 144。在改进矩阵v 144之后,改进处理可以继续在改进矩阵u 142与改进矩阵v 144之间迭代地切换。
[0074]
在一些实施方式中,改进处理可以继续直到满足特定标准。在一些实施方式中,标准可以包括特定次数的迭代。替选地或附加地,标准可以包括在改进处理之前的矩阵与改进处理之后的矩阵之间的差何时小于阈值。例如,响应于将矩阵v 144改进,改进之前的矩阵v 144与改进之后的矩阵v 144相比之间的差小于阈值,可以满足标准。
[0075]
在一些实施方式中,可以使用二进制最小二乘(bls)问题来执行矩阵u 142和矩阵v 144的改进。例如,可以确定以下bls问题的解,以改进矩阵u 142:
[0076][0077]
其中,v
t
是矩阵v 144的转置,a是矩阵a 112,u'是矩阵u 142,并且u是经改进的矩阵u 142。替选地或附加地,可以使用其他类型的优化算法来改进矩阵u 142和矩阵v 144。
[0078]
在一些实施方式中,响应于压缩数据集102的数据的矩阵以减小矩阵的大小来生成矩阵a 112,操作流程100可以包括改进矩阵u 142和矩阵v 144。在这些和其他实施方式中,改进矩阵u 142和矩阵v 144可以帮助在压缩以生成矩阵a 112之前获得数据集102的数据的矩阵的分解。
[0079]
在一些实施方式中,在操作150处,可以生成数据集群152。可以使用数据集102、矩阵u 142和矩阵v 144来生成数据集群152。在一些实施方式中,矩阵u 142可以包括关于与矩阵a 112的行相关联的数据的信息。在这些和其他实施方式中,矩阵u 142可以指示与矩阵a 112的每一行相关联的数据可以被分组到数据集群152中的哪个数据集群中。在一些实施方式中,矩阵v 144可以包括关于与矩阵a 112的列相关联的数据的信息。在这些和其他实施方式中,矩阵v 144可以指示与矩阵a 112的每一行相关联的数据可以被分组到数据集群152中的哪个数据集群中。
[0080]
作为示例,矩阵a 112可以由图2的矩阵202来指示。图2的矩阵202包括列中的数据x和行中的数据y。在一些实施方式中,矩阵u 142的示例可以由图2的矩阵204来指示。如所指示的,矩阵204包括分别对应于数据集群a和数据集群b的两列。在矩阵204中,列中包括值1的行指示与该行相关联的数据y的数据项与对应的集群分组在一起。例如,与第一行相关联的数据y的数据项可以被分组在数据集群a中,而不被分组在数据集群b中。
[0081]
在一些实施方式中,矩阵v 144的转置的示例可以由图2的矩阵206来示出。如所指示的,矩阵206包括分别与数据集群c和数据集群d对应的两行。在矩阵206中,行中包括值1的列指示与该列相关联的数据x的数据项与对应的集群分组在一起。例如,与第一列相关联的数据x的数据项可以被分组在数据集群c中,而不被分组在数据集群d中。
[0082]
操作流程100的一些示例如下。在第一示例中,数据集102可以是个人的基因表达数据。基因可以沿矩阵a 112的行排列并且个人可以沿矩阵a 112的列排列。集群的数目114可以是三个并且约束118可以包括每个个人被聚类到三个数据集群152中的仅一个中。可以
使用对真实值的变换将数据转换为二进制。在这些和其他实施方式中,矩阵v 144可以包括三个列,每个列与三个数据集群152中的不同的数据集群相关联。可以通过在列中的指示与每个个人相关联地进行聚类的一个列中包括值1来将行中的个人中的每一个聚类到三个数据集群152中的一个数据集群中。
[0083]
在第二示例中,数据集102可以是文本文档。文本文档的词可以沿矩阵a 112的行排列并且文档可以沿矩阵a 112的列排列。集群的数目114可以是五个并且可以不包括约束118。五个数据集群152可以表示词和文档可以被聚类到其中的主题。可以使用对真实值的变换将数据转换为二进制。在这些和其他实施方式中,矩阵v 144可以包括五个列,每个列与五个数据集群152中的不同数据集群相关联。矩阵v 144可以将文档分组成表示不同主题的五个数据集群152。矩阵u 142可以包括五个列,每个列与五个数据集群152中的不同数据集群相关联。矩阵u 142可以将词分组成表示不同主题的五个数据集群152。
[0084]
在第三示例中,数据集102可以包括购物数据。购买的产品可以沿矩阵a 112的行排列并且进行购买的个人可以沿矩阵a 112的列排列。集群的数目114可以是50、100或更多个,并且可以不包括约束118。数据集群152可以表示可以一起购买的产品。矩阵u 142可以包括每个与数据集群152中的不同数据集群相关联的列。矩阵u 142可以将产品分组到数据集群152中。在这些和其他实施方式中,当个人购买数据集群152中的产品时,也可以推荐购买数据集群152中的其他产品。
[0085]
在第四示例中,数据集102可以包括大量工作者的工作任务偏好。任务可以沿矩阵a 112的行排列并且工人可以沿矩阵a 112的列排列。集群的数目114可以是三个,并且可以包括约束118以将每个工作者分配到仅一个任务。数据集群152可以表示工作者可以被分配到的任务。在这些和其他实施方式中,矩阵v 144可以包括三个列,每个列与数据集群152中的不同数据集群相关联,并且矩阵u 142可以包括三个列,每个列与数据集群152中的不同数据集群相关联。矩阵u 142和矩阵v 144可以一起用于基于工作者的偏好在工人和任务的双重(biclique)聚类中将任务和工作者同时分组。
[0086]
可以在不脱离本公开内容的范围的情况下对操作流程100进行修改、添加或省略。例如,在一些实施方式中,操作流程100可以不包括约束118。替选地或附加地,操作流程100可以不包括操作110。在这些和其他实施方式中,可以预先获得矩阵a 112。
[0087]
图3示出了在对数据进行聚类时可以使用的示例方法的流程图。可以根据本公开内容中描述的至少一个实施方式来布置方法300。在一些实施方式中,方法300的一个或更多个操作可以由诸如图6的系统600的系统或设备或者诸如关于图1描述的那些系统的多个系统、系统、设备的组合或另一设备来执行。例如,可以在图1的操作110期间执行方法300的一个或更多个操作。在这些和其他实施方式中,可以基于对存储在一个或更多个非暂态计算机可读介质上的指令的执行来执行方法300。虽然被示为离散的框,但是可以根据期望的实现方式将各种框划分为另外的框、组合成较少的框或者去除。
[0088]
该方法可以在框302处开始,在该框302处,可以根据数据集来构建第一矩阵。第一矩阵可以被构建成使得将数据集的第一元素分配给第一矩阵的行并且将数据集的第二元素分配给第一矩阵的列。矩阵中的值可以表示第一元素与第二元素之间的关系。
[0089]
在框304处,可以确定第一矩阵的行数是否大于阈值行数。响应于行数大于阈值,方法300可以进行至框306。响应于行数不大于阈值,方法300可以进行至框308。阈值行数可
以基于硬件和/或软件的处理能力,该硬件和/或软件基于本公开内容中描述的数据集来求解qubo问题。
[0090]
在框306处,可以使用第一矩阵来构建第二矩阵。可以通过压缩第一矩阵来构建第二矩阵。在一些实施方式中,可以通过对第一矩阵进行采样并使用第一矩阵的样本来压缩第一矩阵,以构建第二矩阵。
[0091]
在框308处,可以将矩阵值转换成二进制值以创建二进制矩阵。可以使用一种或更多种技术将矩阵值转换成二进制值。例如,可以使用阈值处理技术将矩阵值转换为二进制值。在这些和其他实施方式中,可以基于矩阵值来选择阈值。可以向大于阈值的矩阵值分配值1。可以向等于或小于阈值的矩阵值分配值0。二进制矩阵可以是构建qubo问题的矩阵和向量的基础。
[0092]
应当理解,对于本文中公开的该处理和其他处理、操作和方法,可以以不同的顺序实现所执行的功能和/或操作。此外,概述的功能和操作仅作为示例提供,并且在不偏离所公开的实施方式的本质的情况下,一些功能和操作可以是可选的、可以被组合成较少的功能和操作或者可以被扩展成另外的功能和操作。
[0093]
图4示出了可以在使数据聚类时使用的另一示例方法400的流程图。可以根据本公开内容中描述的至少一个实施方式来布置方法400。在一些实施方式中,方法400的一个或更多个操作可以由诸如图6的系统600的系统或设备或者诸如关于图1描述的那些系统的多个系统、系统、设备的组合或另一设备来执行。例如,可以在图1的操作140期间执行方法400的一个或更多个操作。在这些和其他实施方式中,可以基于对存储在一个或更多个非暂态计算机可读介质上的指令的执行来执行方法400。虽然被示为离散的框,但是可以根据期望的实现方式将各种框划分为另外的框、组合成较少的框或者去除。
[0094]
该方法可以在框402处开始,在该框402处,将来自第一优化问题的解映射至第一矩阵和第二矩阵。在一些实施方式中,第一优化问题可以是qubo问题。在这些和其他实施方式中,第一矩阵和第二矩阵可以是如关于图1所描述的u矩阵和v矩阵。解可以是二进制向量,其中,向量的每个位置对应于第一矩阵和第二矩阵之一中的位置。向量的值可以用作第一矩阵和第二矩阵的对应位置中的值。在框404处,可以选择第一矩阵以进行改进。
[0095]
在框406处,可以对第一矩阵进行改进。虽然第一矩阵被改进,但第二矩阵可以保持稳定。在这些和其他实施方式中,对第一矩阵进行改进可以包括:使用第一矩阵、第二矩阵和可以在求解第一优化问题时使用的矩阵a来求解关于第一矩阵的第二优化问题。在一些实施方式中,第二优化问题可以是bls问题。在框408处,可以选择第二矩阵。
[0096]
在框410处,可以对第二矩阵进行改进。虽然第二矩阵被改进,但第一矩阵仍可以保持稳定。在这些和其他实施方式中,对第二矩阵进行改进可以包括:使用第二矩阵、第一矩阵和矩阵a来求解关于第二矩阵的第二优化问题。在这些和其他实施方式中,在改进第二矩阵时使用的第一矩阵可以是第一矩阵改进之前或之后的第一矩阵。
[0097]
在框412处,可以确定经改进的矩阵是否满足阈值。阈值可以是矩阵改进的迭代次数。替选地或附加地,阈值可以基于改进之前的矩阵与改进之后的矩阵之间的差异。
[0098]
响应于经改进的矩阵满足阈值,该方法可以进行至框414。响应于经改进的矩阵不满足阈值,该方法可以返回至框404。在框404处,可以再次选择第一矩阵以进行改进并且可以重复框406至412。在框414处,可以输出经改进的矩阵。在这些和其他实施方式中,作为输
出的经改进的矩阵可以用于将数据分组到数据集群中。
[0099]
应当理解,对于本文中公开的该处理和其他处理、操作和方法,可以以不同的顺序实现所执行的功能和/或操作。此外,概述的功能和操作仅作为示例提供,并且在不偏离所公开的实施方式的本质的情况下,一些功能和操作可以是可选的、可以被组合成较少的功能和操作或者可以被扩展成另外的功能和操作。
[0100]
可以在不脱离本公开内容的范围的情况下对图4进行修改、添加或省略。例如,方法400可以包括:确定在对第一矩阵和第二矩阵中的另一个矩阵进行改进之前经改进的矩阵是否满足阈值。在这些和其他实施方式中,在矩阵中的一个矩阵满足阈值之后,可以不对矩阵进行进一步改进。然而,可以继续对另一个矩阵进行改进,直到两个矩阵都满足阈值。替选地或附加地,每个矩阵的阈值可以相同或不同。
[0101]
图5示出了数据聚类的示例方法500的流程图。可以根据本公开内容中描述的至少一个实施方式来布置方法500。在一些实施方式中,方法500的一个或更多个操作可以由诸如图6的系统600的系统或设备或者诸如关于图1描述的那些系统的多个系统、系统、设备的组合或另一设备来执行。在这些和其他实施方式中,可以基于对存储在一个或更多个非暂态计算机可读介质上的指令的执行来执行方法500。虽然被示为离散的框,但是可以根据期望的实现方式将各种框划分为另外的框、组合成较少的框或者去除。
[0102]
该方法可以在框502处开始,在该框502处,可以获得表示数据集中的数据的第一矩阵。在一些实施方式中,第一矩阵可以是二进制矩阵,使得第一矩阵中的所有条目都是1或0。在一些实施方式中,获得第一矩阵可以包括:使用数据集来构建第三矩阵。第三矩阵可以包括多个行。在这些和其他实施方式中,响应于行数大于阈值,可以减少第三矩阵的行数以基于对第三矩阵的采样构建第一矩阵。
[0103]
在框504处,可以获得数据将要被分组成的集群的数目。在框506处,可以使用第一矩阵和集群的数目来构建第二矩阵。在一些实施方式中,第二矩阵可以表示在第二优化问题的框架中对第一优化问题的公式表示。在一些实施方式中,第一优化问题可以是二进制矩阵分解问题并且第二优化问题可以是二次无约束二进制优化问题。
[0104]
在框508处,可以使用第二矩阵来求解第二优化问题以生成第二优化问题的解。在框510处,可以将第二优化问题的解映射到表示第一优化问题的解的第一解矩阵。
[0105]
在框512处,可以使用第一解矩阵将数据分组成多个数据集群。在一些实施方式中,多个数据集群的数目可以等于集群的数目。
[0106]
应当理解,对于本文中公开的该处理和其他处理、操作和方法,可以以不同的顺序实现所执行的功能和/或操作。此外,概述的功能和操作仅作为示例提供,并且在不偏离所公开的实施方式的本质的情况下,一些功能和操作可以是可选的、可以被组合成较少的功能和操作或者可以被扩展成另外的功能和操作。
[0107]
可以在不脱离本公开内容的范围的情况下对图5进行修改、添加或省略。例如,方法500还可以包括:将第二优化问题的解映射到第二解矩阵中,并且使用第二解矩阵将数据分组成多个第二数据集群。在一些实施方式中,多个第二数据集群的数目可以等于集群的数目。在一些实施方式中,多个数据集群对在第一矩阵的行中表示的第一元素进行分组,并且多个第二数据集群对在第一矩阵的列中表示的第二元素进行分组。
[0108]
在一些实施方式中,方法500还可以包括:获得与将第一优化问题用公式表示到第
二优化问题的框架中相关联的惩罚系数。在一些实施方式中,惩罚系数可以大于第一矩阵的行数乘以第一矩阵的列数。在这些和其他实施方式中,可以使用第一矩阵、集群的数目和惩罚系数来构建第二矩阵。
[0109]
在一些实施方式中,方法500还可以包括:在将数据分组成多个数据集群之前,通过对第一解矩阵应用二进制最小二乘优化来改进第一解矩阵。
[0110]
在一些实施方式中,方法500还可以包括:获得关于在第一解矩阵的每一列或每一行中包括的非零元素的数目的第一约束。在这些和其他实施方式中,可以使用第一矩阵、集群的数目和第一约束来构建第二矩阵。
[0111]
图6是示出根据本公开内容的至少一个实施方式的可以用于数据聚类的示例系统600的框图。系统600可以包括均可以通信地耦接的处理器610、存储器612、通信单元616、显示器618和用户接口单元620。在一些实施方式中,系统600可以用于执行本公开内容中描述的一个或更多个方法。
[0112]
例如,系统600可以用于执行图1的操作流程100中的操作中的一个或更多个。
[0113]
通常,处理器610可以包括任何合适的专用或通用计算机、计算实体或包括各种计算机硬件或软件模块的处理设备,并且可以被配置成执行存储在任何适用的计算机可读存储介质上的指令。例如,处理器610可以包括微处理器、微控制器、诸如图形处理单元(gpu)或张量处理单元(tpu)的并行处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或被配置成解释和/或执行程序指令和/或处理数据的任何其他数字或模拟电路系统。
[0114]
尽管在图6中被示出为单个处理器,但是应当理解,处理器610可以包括跨任何数量的网络或物理位置分布的任何数量的处理器,这些处理器被配置成单独地或共同地执行本文中描述的任何数量的操作。在一些实施方式中,处理器610可以解释和/或执行存储在存储器612中的程序指令和/或处理数据。在一些实施方式中,处理器610可以执行在存储器612中存储的程序指令。
[0115]
例如,在一些实施方式中,处理器610可以执行在存储器612中存储的与任务执行有关的程序指令,使得系统600可以按照指令引导的那样执行或引导与该系统相关联的操作的执行。在这些和其他实施方式中,指令可以用于执行图1的一个或更多个操作、图3的方法300的一个或更多个框、或图4的方法400的一个或更多个框、或图5的方法500的一个或更多个框。
[0116]
存储器612可以包括用于携载或具有存储在其上的计算机可执行指令或数据结构的计算机可读存储介质或一个或更多个计算机可读存储介质。这样的计算机可读存储介质可以是可以由通用或专用计算机(例如处理器610)访问的任何可获得的介质。
[0117]
作为示例而非限制,这样的计算机可读存储介质可以包括非暂态计算机可读存储介质,包括随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、致密盘只读存储器(cd-rom)或其他光盘存储设备、磁盘存储设备或其他磁性存储设备、闪速存储器设备(例如固态存储器设备)或可以用于以计算机可执行指令或数据结构的形式携载或存储特定程序代码并且可以由通用或专用计算机访问的任何其他存储介质。以上的组合也可以被包括在计算机可读存储介质的范围内。
[0118]
例如,计算机可执行指令可以包括被配置成使处理器610执行如本公开内容中描
述的某个操作或操作组的指令和数据。在这些和其他实施方式中,如本公开内容中所说明的术语“非暂态”应当被解释为仅排除被发现落在联邦巡回法院判决in re nuijten,500 f.3d 1346(fed.cir.2007)中的可取得专利的主题的范围之外的那些类型的暂态介质。以上的组合也可以被包括在计算机可读介质的范围内。
[0119]
通信单元616可以包括被配置成通过网络发送或接收信息的任何部件、设备、系统或其组合。在一些实施方式中,通信单元616可以与在其他位置或相同位置处的其他设备通信,或者甚至与同一系统内的其他部件通信。例如,通信单元616可以包括调制解调器、网卡(无线或有线)、红外通信设备、无线通信设备(例如天线)和/或芯片组(例如,设备、802.6设备(例如,城域网(man))、wifi设备、wimax设备、蜂窝通信设施等)等。通信单元616可以允许与网络和/或本公开内容中描述的任何其他设备或系统交换数据。
[0120]
显示器618可以被配置为一个或更多个显示器,例如lcd、led、盲文终端或其他类型的显示器。显示器618可以被配置成如由处理器610引导的那样呈现视频、文本字幕、用户接口和其他数据。
[0121]
用户接口单元620可以包括允许用户与系统600接口的任何设备。例如,用户接口单元620可以包括鼠标、触控板、键盘、按钮、摄像装置和/或触摸屏等其他设备。用户接口单元620可以接收来自用户的输入并且将输入提供给处理器610。在一些实施方式中,可以组合用户接口单元620和显示器618。
[0122]
在不脱离本公开内容的范围的情况下,可以对系统600进行修改、添加或省略。例如,在一些实施方式中,系统600可以包括可能未明确示出或描述的任何数量的其他部件。此外,取决于某些实现方式,系统600可以不包括示出和描述的部件中的一个或更多个。
[0123]
如以上所指示的,如下面更详细地讨论的,本文中描述的实施方式可以包括使用包括各种计算机硬件或软件模块的专用或通用计算机(例如,图6的处理器610)。此外,如以上所指示的,可以使用用于携载或具有存储在其上的计算机可执行指令或数据结构的计算机可读介质(例如,图6的存储器612)来实现本文中描述的实施方式。
[0124]
在一些实施方式中,本文描述的不同部件、模块、引擎和服务可以被实现为在计算系统上执行的对象或处理(例如,作为单独的线程)。虽然本文描述的一些系统和方法通常被描述为以(存储在通用硬件上和/或由通用硬件执行的)软件实现,但是特定的硬件实现方式或软件实现方式和特定的硬件实现方式的组合也是可能的和预期的。
[0125]
根据通常的实践,附图中示出的各种特征可以不按比例绘制。本公开内容中呈现的图示并不意指任何特定装置(例如,设备、系统等)或方法的实际视图,而仅是用来描述本公开内容的各种实施方式的理想化表示。相应地,为了清楚起见,可以任意扩大或减小各种特征的尺寸。此外,为了清楚起见,可以简化一些附图。因此,附图可以不描绘给定装置(例如,设备)的所有部件或特定方法的所有操作。
[0126]
在文本中特别是在所附权利要求(例如,所附权利要求的主体)中使用的术语通常旨在作为“开放式”术语(例如,术语“包括”应当被解释为“包括但不限于”,术语“具有”应当被解释为“至少具有”,术语“包含”应当被解释为“包含但不限于”等)。
[0127]
此外,如果意在表达特定数目的引入的权利要求叙述,则这样的意图将在权利要求书中明确记载,并且在没有这样的叙述的情况下,不存在这样的意图。例如,为帮助理解,所附权利要求书可以包含介绍性短语“至少一个”和“一个或更多个”的使用以引入权利要
求叙述。然而,即使当同一权利要求包括介绍性短语“一个或更多个”或“至少一个”以及不定冠词如“一”或“一个”时(例如,“一”和/或“一个”应当被解释为意指“至少一个”或“一个或更多个”),对这样的短语的使用也不应被解释为暗含由不定冠词“一”或“一个”引入的权利要求叙述将包含这样引入的权利要求叙述的任何特定权利要求限制为仅包含一个这样叙述的实施方式;这同样适用于对用于引入权利要求叙述的定冠词的使用。
[0128]
此外,即使明确记载了特定数目的引入的权利要求陈述,应当理解,这种陈述也应当被解释为意指至少所记载的数目(例如,没有其他修饰语的不加修饰的陈述“两个陈述”意指至少两个陈述或者两个或更多个陈述)。此外,在使用类似于“a、b和c中的至少一个等”或“a、b和c中的一个或更多个等”的惯用语的情况下,通常这样的构建意在包括仅a、仅b、仅c、a和b一起、a和c一起、b和c一起或者a、b和c一起等。例如,术语“和/或”的使用旨在以这种方式来解释。
[0129]
此外,呈现两个或更多个替选术语的任何分隔词或短语,不论在说明书、权利要求书还是附图中,都应当被理解为考虑包括所述术语中的一个、所述术语中的任何一个或者所有术语的可能性。例如,短语“a或b”应当被理解为包括“a”或“b”或“a和b”的可能性。
[0130]
此外,术语“第一”、“第二”、“第三”等的使用在本文中不一定用于暗指元素的特定顺序或数目。通常,术语“第一”、“第二”、“第三”等用于作为通用标识符来在不同元素之间进行区分。在没有表明术语“第一”、“第二”、“第三”等暗指特定顺序的情况下,这些术语不应当被理解为暗指特定顺序。此外,在没有表明术语“第一”、“第二”、“第三”等暗指元素的特定数目的情况下,这些术语不应当被理解为暗指元素的特定数目。例如,第一小部件可以被描述为具有第一面并且第二小部件可以被描述为具有第二面。针对第二小部件使用术语“第二面”可以用于将第二小部件的这样的面与第一小部件的“第一面”区分开,而不暗指第二小部件具有两个面。
[0131]
本文记载的所有示例和条件性语言旨在用于教导目的,以帮助读者理解本发明以及发明人为进一步促进技术所贡献的构思,并且应当被解释为不限于这样的具体记载的示例和条件。尽管已经详细描述了本公开内容的实施方式,但是应当理解,在不脱离本公开内容的精神和范围的情况下,可以对其进行各种改变、替换和变更。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献