确定聚类的设备和方法与流程

文档序号:15576692发布日期:2018-09-29 05:39阅读:229来源:国知局

本发明涉及一种用于确定第一类型数据的实例的序列的聚类的设备,所述聚类用于压缩包括所述第一类型数据的实例的序列的数据集。所述第一类型数据的所述实例包括用于预测第二类型数据的实例的信息。

本发明还涉及一种压缩数据集的方法或一种传输压缩的数据的方法。本发明还涉及用于确定聚类的计算机程序产品的领域。



背景技术:

在数据存储和数据传输中,挑战之一是要减少要被存储的数据的量和要被传输的数据的量。如果愿意接受某些数据丢失,则可以对数据的实例进行聚类并利用独特地识别聚类的较短描述表示属于单个聚类的数据的实例,并且使用该较短描述代替较长的数据的实例。代替“形成数据的实例的聚类”,可以理解为对数据的实例进行分组、对数据的实例进行分箱或对数据的实例进行量化。在关于至少一个特性具有相似属性的数据的实例结束于同一聚类中的情况下,利用聚类表示数据的实例是最有用的。

例如,如果数据的实例用于预测另一类型数据的实例,则希望将最可能得到相同预测的数据的实例放在单个聚类中。因此,必须以如下方式形成聚类,即在对数据的实例进行聚类的过程中尽可能保持另一类型数据的实例与数据的原始实例之间的交互信息。

jeancardinal的文章“quantizationwithaninformation-theoreticdistortionmeasure”公开了一种使用lloyd的算法的修改来寻找数据x的量化器的方法,使得x与相关的y之间的交互信息不会由于量化而减少太多。jeancardinal于2002年10月23日的文献“quantizationwithaninformation-theoreticdistortionmeasure”由“universitélibredebruxelles”在网站http://www.ulb.ac.be/di/publications/rt_2002.html上发布并且也在网站http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.3058上发布。



技术实现要素:

本发明的目标是提供一种对数据的实例的序列进行聚类的方法,所述方法是高效的,同时仍然保持所述序列与另一类型数据的实例之间的大多数交互信息。所述序列将要被用于预测所述另一类型数据的实例。

为此目的,根据本发明的一个方面,提供了一种用于确定第一类型数据的数据的实例的序列的聚类的设备,所述聚类用于压缩包括所述第一类型数据的实例的序列的数据集。

为此目的,根据本发明的另一方面,提供了一种确定第一类型数据的数据的实例的序列的聚类的方法,所述聚类用于压缩包括所述第一类型数据的实例的序列的数据集。

为此目的,根据本发明的另外的方面,提供了一种压缩数据集的方法、一种传输压缩的数据的方法,以及一种用于确定聚类的计算机程序产品。

根据本发明的方面,提供了一种用于确定第一类型数据的实例的序列的聚类的设备,所述聚类用于压缩包括第一类型数据的实例的序列的数据集。所述第一类型数据的所述实例包括用于预测第二类型数据的实例的信息。所述第二类型数据的所述实例包括基于物理实体的特性的数据。所述设备包括第一数据集单元、第二数据集单元、序列聚类单元和输出单元。所述第一数据集单元获得包括所述第一类型数据的实例的序列的第一数据集。所述第二数据集单元获得包括所述第二类型数据的实例的第二数据集。所述第二数据集的每个实例对应于所述第一数据集中的序列。所述序列聚类单元将所述第一数据集的所述序列分配给聚类。所述分配是基于所述第二类型数据在给定所述第一数据集的序列的情况下的条件概率的,其中,所述第一数据集的每个独特序列与在给定所述独特序列的情况下所述第二数据集的实例具有特定值的一个或多个条件概率相关联。所述输出单元将所述聚类提供给例如数据缩减装置以用于压缩所述第一类型数据的实例的序列。

根据本发明的另一方面,一种确定第一类型数据的数据的实例的序列的聚类的方法,所述聚类用于压缩包括所述第一类型数据的实例的序列的数据集。所述第一类型数据的实例包括用于预测第二类型数据的实例的信息。所述第二类型数据的实例包括基于物理实体的特性的数据。所述方法包括:i)第一数据集,其包括所述第一类型数据的实例的序列;ii)第二数据集,其包括所述第二类型数据的实例,所述第二数据集的每个实例对应于所述第一数据集中的序列;iii)将所述第一数据集的所述序列分配给聚类,所述分配是基于所述第二类型数据在给定所述第一数据集的序列的情况下的条件概率的,其中,所述第一数据集的每个独特序列与在给定所述独特序列的情况下所述第二数据集的实例具有特定值的一个或多个条件概率相关联;iv)将所述聚类提供给例如数据缩减装置以用于压缩所述第一类型数据的实例的所述序列。

上述设备和方法的措施具有能够高效地执行聚类的效果。本发明基于以下认识:如果具有相似条件概率的第一数据集的序列结束于同一聚类中,则第一数据集与第二数据集之间的交互信息的足够大的部分被保持为聚类的数据与第二数据集之间的交互信息。确定条件概率能够利用特定算法来高效地执行。

在分配给聚类之后,每个聚类表示具有相似特性的第一数据集的序列,并且最可能的是,单个聚类的序列得到第二类型数据的实例的相似预测。发明者的洞察是,在聚类中使用的特定条件概率得到这种效果。因此,上述讨论的设备和方法对第一数据集的序列进行聚类,使得大多数交互信息得到保持,并且因此能够使用聚类的识别来代替具有第一数据集的实例的完整序列来预测第二数据集的实例。还应注意,用于聚类的其他术语是分组和分箱。

第一数据集的一些序列可以在第一数据集中存在多于一次。这样的重复可以由独特序列表示。每个独特序列与一个或多个条件概率相关联。一个或多个条件概率是否与独特序列相关联取决于针对第二数据集的实例的字母表中的符号的数量。如果第二数据集包括例如仅二进制数据,则该字母表仅包括两个符号,并且在一个条件概率已知的情况下立即获知条件概率的分布。例如,对于特定独特序列,如果在给定特定独特序列已知的情况下第二数据集的数据的第一条件概率等于两个符号中的第一个符号,则获知针对独特序列的定义的条件概率的分布是什么,即,在给定特定独特序列是一减去第一条件概率的情况下第二数据集的数据的第二条件概率等于两个符号中的第二个符号。因此,独特序列仅具有一个条件概率。如果第二数据集的数据的字母表具有更多符号,则为了获知条件概率的分布,必须获知针对独特序列的更多条件概率。

基于条件概率来执行序列的聚类。这意味着具有彼此接近的、相似的和/或彼此相等的条件概率值的序列被放在同一聚类中。任选地,每个聚类与0与1之间的区间相关联,聚类的区间不重叠,并且其中,每个聚类包括具有在与聚类相关联的区间内的上述讨论的条件概率的第一数据集的序列。请注意,这些区间也能够用于在新数据到达的情况下压缩数据,因为如果新数据到达并且如果能够计算针对新数据的条件概率,则可以通过与所计算的条件概率落入的区间相关联的聚类来表示该新数据。

在实施例中,第一类型数据的实例包括从(例如基于)传感器数据导出的数据。

任选地,将第一数据集的序列分配给聚类包括将上下文树加权方法应用于第一数据集和第二数据集以获得上下文树。在上下文树加权方法中,第一数据集的每个独特序列由上下文树中从根节点到特定叶节点的路径表示,并且存储在上下文树的节点中的计数是基于第二数据集的对应元素的。任选地,基于上下文树的叶节点的估计条件概率来形成聚类。如果特定叶节点与特定聚类相关,则与结束于特定叶节点中的独特序列相等的第一数据集的所有序列被分配给特定聚类。相应叶节点的估计条件概率是基于相应叶节点的计数而计算的krichevsky和trofimov估计量的。注意,krichevsky和trofimov估计量通常被称为kt估计量。还应注意,如果第二数据集仅包括二进制数据,则kt估计量通过以下公式进行计算:其中,a是相应叶节点中的零的计数,并且b是相应叶节点中的一的计数。发明者已经发现,由kt估计量提供并且基于叶节点的上下文树加权方法的估计条件概率自动地提供对第二数据集的数据在给定特定序列的情况下的条件概率的估计。上下文树加权方法提供了一种生成上下文树和计算估计条件概率的高效方式。因此,该任选的实施例提供了一种生成用于对第一数据集的序列进行聚类的数据的高效方式。

通常,可以使用用于形成聚类的每个合适的算法。任选地,在实施例中,使用k均值算法来形成聚类。在k均值算法中,上下文树的叶节点的条件概率或估计条件概率用于对第一数据集的序列进行聚类。在k均值算法中,距离度量用于形成聚类。在该特定情况下,距离度量是上下文树的叶节点的估计条件概率之间的差。因此,在上下文树的根节点与特定叶节点之间延伸并且其序列的估计条件概率具有相似值的第一数据集的所有序列被分配给一个聚类。k均值算法的高效实施方式是可获得的,并且由于使用了一维距离度量,所以能够高效地执行实际的聚类。

任选地,在将第一数据集的序列分配给聚类的阶段中,结束于具有低于最小观察数量的总计数的叶节点中的第一数据集的序列被分配给两个额外聚类。结束于具有小于0.5的估计条件概率并且具有小于最小观察数量的总计数的叶节点中的序列被分配给两个额外聚类中的第一个聚类。结束于具有大于0.5的估计条件概率并且具有小于最小观察数量的总计数的叶节点中的序列被分配给两个额外聚类中的第二个聚类。结束于具有等于0.5的估计条件概率并且具有小于最小观察数量的总计数的叶节点中的序列被分配给额外聚类中的第一个聚类或额外聚类中的第二个聚类。

如果第一数据集的相对少量的序列从上下文树的根节点延伸到特定叶节点,则该特定叶节点的计数值的总和相对低。估计条件概率是基于节点的计数值的,并且低计数值得到相对不可靠的估计条件概率。因此,将结束于具有相对小的总计数的叶节点中的序列聚类在两个单独的组中更合适:具有小于0.5的估计条件概率的那些和具有大于0.5的估计条件概率的那些。因此,其他聚类不会被具有相对不可靠的估计条件概率的序列所污染,并且由此获得两个额外聚类,其表示至少具有以下共同特性的序列:高估计条件概率或低估计条件概率,并且在第一数据集中没有与结束于这两个额外聚类中的独特序列相等的许多序列。在第一数据集的序列与在第一数据集中存在的序列的总数量相比相对长的情况下,该实施例特别有用,因为在那种情况下,在第一数据集中将有与第一数据集中的其他序列不相等或者仅与第一数据集中的有限数量的其他序列相等的多个序列。

上述实施例的更一般描述是:在将第一数据集的序列分配给聚类的阶段中,结束于具有低于最小观察数量的总计数的叶节点中的第一数据集的序列被分配给两个或更多个额外聚类。随后,每个额外聚类与从0到1的概率区间的子区间相关联。两个或更多个子区间都具有相等宽度,是从0到1的概率区间内的连续区间,并且所有子区间的组合是从0到1的概率区间。随后,基于叶节点的估计条件概率,将具有低于最小观察数的总计数的序列被分配给一个或多个聚类,其中估计条件概率落入序列和子区间。

任选地,通过迭代优化方法进一步优化第一数据集的序列的聚类,以使包括第二数据集在给定聚类的数据的情况下的条件熵的优化函数最小化。在该任选实施例中,上述将第一数据集的序列分配给聚类的结果被认为是能够被进一步优化的相对好的起点。目标是尽可能多地保持第二数据集与聚类的数据之间的交互信息,并且因此必须使第二数据集在给定聚类的数据的情况下的条件熵最小化。通过根据该优化标准进一步优化聚类,保持了更多的交互信息,并且因此获得更好的结果。应注意,还可以选择另一优化标准,其基于使第二数据集的数据与聚类的数据之间的交互信息最大化。

任选地,迭代优化方法包括模拟退火。将序列分配给聚类以使得第二数据集在给定聚类的数据的情况下的条件熵最小化的问题是多维问题,并且该问题的解空间很可能具有许多局部最优点。特别地,模拟退火能够探索解空间的许多不同区域以找到相对好的最优值并且可能找到全局最优值。

任选地,第一数据集的第一类型数据的实例的序列包括传感器数据的时间系列。每个时间系列包括一个特定传感器在连续时刻的测量的结果,并且特定传感器是相同类型的。结果将是聚类表示具有相似时间演变特性的第一数据集的序列。

任选地,第二数据集的实例是二进制数据实例。换句话说,第二数据集的实例仅仅能够获得第一值或第二值,例如0和1。

任选地,在上述分配中,基于条件概率是基于在给定第一数据集的独特序列的情况下第二数据集的数据等于一的条件概率。

根据本发明的另一方面,提供了一种压缩数据集的方法,所述数据集包括第一类型数据的实例的序列。第一类型数据的实例基于传感器数据。所述方法包括:i)获得所述数据集,ii)上述讨论的确定聚类的方法中的一个,其中,所获得的数据集是确定聚类的方法中的一个中的第一数据集,iii)在所述数据集中,由所述序列被分配到的聚类的识别数据来替换第一类型数据的实例的序列,特定聚类的识别数据独特地识别特定聚类并且能够由比数据集的单个序列少的位数来存储。该另一方面的方法与先前讨论的确定聚类的方法具有相似的实施例、效果和优点。

根据本发明的另一方面,提供了一种传输压缩的数据的方法,所述压缩的数据包括第一类型数据的实例的至少一个序列。所述至少一个序列是要被传输的序列。所述方法包括:i)获得所述至少一个序列,ii)上述讨论的确定聚类的方法中的一个,iii)选择由确定聚类的方法提供的聚类中的一个作为与所述至少一个序列最好地匹配的聚类,iv)传输所选择的聚类的识别数据而不是所述至少一个序列,特定聚类的所述识别数据独特地识别所述特定聚类并且能够由比所述序列少的位数来存储。该另一方面的方法与先前讨论的确定聚类的方法具有相似的实施例、效果和优点。

根据本发明的另一方面,提供了一种用于确定第一类型数据的数据的实例的序列的聚类的计算机程序,所述聚类用于压缩包括所述第一类型数据的实例的序列的数据集。所述程序能操作用于使处理器执行上述讨论的确定聚类的方法中的一个。

附图说明

参考在以下描述中以示例方式描述的实施例并参考附图,本发明的这些和其他方面将变得显而易见并且得到进一步阐明,在附图中:

图1示意性地示出了用于确定第一类型数据的数据的实例的序列的聚类的设备的实施例,

图2示意性地示出了确定第一类型数据的数据的实例的序列的聚类的方法的实施例,

图3示意性地示出了相同类型的机器,其可以提供作为第一数据集和第二数据集的基础的数据,

图4示意性地示出了计算机程序产品的实施例,并且

图5示意性地示出了用于示例第一数据集和第二数据集的上下文树加权(ctw)树。

这些图纯粹是图解性的,并未按比例绘制。在附图中,与已经描述的元素相对应的元素可以具有相同的附图标记。

具体实施方式

图3示意性地示出了相同类型的两台机器300、350,其可以生成第一类型数据的实例和第二类型数据的实例。图3是能够应用用于确定数据的聚类的设备和方法的领域的示例。两台机器都可以提供相当大量的数据,例如在它们的日志文件中,并且可能有必要压缩该数据。该图在图1的讨论中被使用。应注意,两台机器300、350是相同类型的,这意味着它们具有相同的设计、执行相同的功能等。两台机器300、350都包括生成第一类型数据的实例的传感器302、352。这意味着传感器302、352彼此相似并且在两台机器300、350中具有相同的功能。例如,传感器302、352测量机器的电机的温度。两台机器300、350都具有物理实体304、354,其特性被确定和/或必须被预测。该特性是第二类型数据的实例。例如,物理实体304、354是机器的电机,并且其特性是“电机304或354正在运行或发生故障”。在这种上下文中,在从传感器302、352获得的数据与物理实体(例如,分别是电机304、354)的特性之间可以存在某种关系。如果电机304、354的温度上升或者到达相对高的水平,则相应电机在特定时间段内将发生故障的概率升高。因此,第一类型数据的实例能够用于预测物理实体的特性。

还可以在连续时刻从传感器获得第一类型数据的实例,使得获得包括时间演变方面的数据的序列。特别地,第一类型数据的实例的时间演变方面对预测第二类型数据的实例可以是感兴趣的。例如,当电机的温度在特定时间间隔内持续升高时,这可能是电机将要过热的信号并且可能在一定时间间隔内发生故障的征兆。在本文档的以下内容中,重点关注第一类型数据的实例的序列。这些序列可以表示第一类型数据的实例的时间系列,这意味着这些实例是在连续时刻获得/确定的。必须注意,实施例不必限于第一类型数据的实例的这样的时间系列。

应注意,第一类型数据的实例不一定从传感器302、352获得。第一类型数据的实例也可以是表示未通过传感器感测但可以被已知为物理实体的状态的物理实体的特性的数据。例如,控制器可以控制电机304、354接通和断开,并且受控制的接通和断开状态也可以是第一类型数据的实例。此外,如果想要预测电机304、354何时将要发生故障,则受控制的接通和断开状态可以是有用的数据,其能够用于预测电机304、354的可能故障。

参考图3也讨论了本发明的实施例。然而,实施例不限于机器的传感器和其中物理实体的特性是机器的电机的温度的实施例。传感器不一定被包括在机器中,并且它们可以测量例如环境数据。实施例的不同应用可以是预测照明系统建筑物的能量使用的领域。物理实体的特性可以是办公楼中特定大小的不同办公室中的灯的能量使用,并且第一类型数据的实例可以是例如在特定大小的不同办公室中提供的占用传感器的输出。

图1示意性地示出了用于确定第一类型数据的数据的实例的序列的聚类的设备100的实施例。聚类可以用于压缩包括第一类型数据的实例的序列的数据集。数据集的序列可以是被聚类的序列,但也可以是与被聚类的序列相似的其他序列,并且基于聚类的序列之间的相似度,然后其他序列也可以被压缩。聚类能够用于压缩,因为代替存储/传输第一类型数据的实例的完整序列,可以存储/传输独特地识别第一类型数据的实例的相应序列所属的聚类的数据的实例。

设备100包括第一数据集单元102,其用于获得包括第一类型数据的实例的序列的第一数据集。任选地,包括数据的第一类型数据的实例基于传感器数据,例如,基于图3的传感器302、352的测量结果。在实施例的详细描述中,第一数据集由x表示,并且序列由xi表示。第一数据集x中的第一类型数据的实例的序列xi的数量用n表示。用xij表示第一类型数据的实例的序列xi中的第j个实例。序列xi具有等于m的长度。在实施例中,每个序列xi可以表示时间系列,这意味着特定实例xi的实例xij是在特定时间间隔期间的连续时刻从特定传感器获得/确定的。如果序列xi是时间系列,则在本文档的上下文中假设xi1是第一类型数据的最旧实例,并且xim是第一类型数据的最新实例。在实施例中,存在于第一数据集中的数据是通过量化由传感器提供的连续数据而获得的离散数据。

在实施例中,第一数据集由矩阵x表示:

应注意,矩阵x中的行是序列xi。

在本申请中进一步讨论的示例中,第一数据集可以具有后续数据:

请注意,在该示例中,第一类型数据的实例具有二进制值,序列的长度为m=3,并且存在n=7个序列。

实施例不限于使用上述矩阵x。使用具有序列作为行的矩阵仅仅是实施细节,并且技术人员知道矩阵能够被转置,或者在列之间或行之间的排序也可以被改变。在实施例中,还可以使用已经对其应用了缩放因子的矩阵。

设备100还包括第二数据集单元104,其用于获得包括第二类型数据的实例的第二数据集。任选地,包括数据的第二类型数据的实例可以基于物理实体的特性。该特性是,例如在图3的上下文中,电机304、354是否正确地操作。第二数据集的每个实例对应于第一数据集中的序列。第二数据集用y表示。第二数据集y的实例用yi表示:

每个实例yi对应于,属于第一数据集x的序列xi。因此,在第二数据集y中存在n个实例yi。对应于或属于在该上下文中意味着序列xi的数据在物理世界中与物理实体的特性yi相关,因此,序列xi的实例包括已经得到实例yi的信息。在图3的上下文中,这意味着物理特性的实例yi属于传感器数据xi的序列,该传感器数据xi是从与已经从其获得该物理特性的机器相同的机器获得的,并且传感器数据的序列在获得/确定实例yi的时刻之前。任选地,第二数据集的实例可以是二进制数据实例。

在本申请中进一步讨论的示例中,第一数据集可以具有后续数据:

设备100还包括序列聚类单元110,其被配置为将第一数据集x的序列xi分配给聚类。整个聚类用c表示,并且一个特定聚类用cp表示。将特定序列xi分配给特定聚类cp是基于属于特定序列的条件概率的。每个序列xi具有在给定序列的情况下第二数据集的实例等于特定值(例如,0或1)的条件概率,例如p(y=0|xi)。具有彼此接近的条件概率p(y=0|xi)的值的序列xi可以结束于同一聚类中。如果第一数据集x和第二数据集y是已知的,则条件概率能够通过从概率论已知的计算这样的条件概率的众所周知的方法来计算。计算条件概率的最基本方法基于对第一数据集x的特定实例的出现次数进行计数和对第二数据集y的特定实例的出现次数进行计数。聚类的数量用k表示,并且可以由用户选择。数量k可以例如基于条件概率的变化性来选择,或者可以基于第一数据集x的序列xi的总数n。例如,聚类的数量被设置为√n。选择√n个聚类会导致保持第一数据集与第二数据集之间的相当大量的交互信息。聚类单元110耦合到第一数据集单元102和第二数据集单元104以用于接收第一数据集x和第二数据集y。

在上述讨论的x示例和y示例的示例中,必须确定条件概率p(y=0|xi)。这能够通过以下公式计算:

作为示例,基于对数据集x示例和y示例中的特定组合进行计数:

其他条件概率能够以相同的方式来计算,并且它们的值是:

p(y=0|x2)=0

p(y=0|x3)=1/2

p(y=0|x4)=1

p(y=0|x5)=p(y=0|x2)=0

p(y=0|x6)=p(y=0|x3)=1/2

p(y=0|x7)=1

因为第一数据集x中有7个序列,所以构建三个聚类(√=2.6)似乎合乎逻辑。基于彼此接近或彼此相等的条件概率,可以得出结论:必须形成后续三个聚类,即:

c1={x1,x4,x7}

c2={x2,x5}

c3={x3,x6}

在上述聚类中,保持了第一数据集x与第二数据集y之间的相当大量的交互信息。根据信息理论,如果在聚类期间必须保持第一类型数据的实例与第二类型的数据的实例之间的大多数交互信息,则第二类型数据的实例在给定聚类的情况下的条件熵h(y|c)必须被保持尽可能低,例如,可以被最小化。本发明人得出以下结论:

基于该推导,本发明人得出结论,如果第二类型数据的实例在给定聚类的情况下的条件熵h(y|c)必须被最小化时,则必须创建聚类/组,使得每个聚类/组针对-∑yp(y|x∈c)log2p(y|x∈c)具有较低值,并且针对∑x∈cp(x)具有相似值。如果假设第二数据集y的实例的值是二进制值,则在特定组的p(y=0|x∈c)与p(y=1|x∈c)之间存在较大差异的情况下,针对该特定组获得-∑yp(y|x∈c)log2p(y|x∈c)的较低值。发明人发现,如果序列xi针对p(y=0|xi)具有相似值,则必须将序列xi分组到一个聚类cp中,因为如果针对一个特定聚类cp的p(y=0|xi)的值将变化很大时,p(y=0|x∈ck)的值将收敛到0.5,作为来自区间[0,1]的随机抽取数的预期均值,然后p(y=1|x∈cp)的值也将收敛到0.5。因此,通过基于p(y=0|xi)或基于p(y=1|xi)的聚类,对于序列xi,获得得到第二数据集在给定聚类的数据的情况下的条件熵h(y|c)的相对低值的聚类,因此,第一数据集与第二数据集i(x,y)之间的相对大量的交互信息被保持在聚类的数据中。

设备100还包括输出单元112,其将聚类c提供给例如数据缩减装置150以用于压缩例如第一数据集x的第一类型数据的实例的序列xi。输出单元112耦合到序列聚类单元110以用于接收聚类c。应注意,所提供的聚类c还可以包括可以帮助将序列xi映射到聚类cp的额外信息。例如,可以提供将每个序列xi映射到特定聚类cp的映射。备选地,对于每个聚类cp,提供来自第一数据集的代表性实例xp,使得第一数据集x的每个实例xi属于具有最接近相应实例xi的代表性实例xp的特定聚类。应注意,设备100还可以与聚类一起提供额外信息,例如,序列xi结束于聚类中的概率,因此,p(cp)。设备100还可以提供在使用聚类来预测第二类型数据的实例yi的上下文中有用的额外信息,例如p(y|cp)。

因此,任选地,设备100是数据缩减装置150的一部分。该数据缩减装置150可以包括压缩单元152。压缩单元152可以耦合到输出单元112,并且从输出单元112接收聚类c和将实例xi与聚类c相关的数据。随后,压缩单元152可以生成能够用于独特地识别不同聚类cp的识别数据idk。每个聚类cp的识别数据idk比第一数据集x的序列xi的长度短,使得需要存储更少的数据(并且如果必须传输第一数据集x,则需要较少的带宽来传输第一集)。此后,压缩单元152利用相应序列被分配到的聚类的识别数据替换每个序列xi。由此,第一数据集x中存在的数据量减少,因此第一数据集x被压缩。

如果用于确定聚类的设备100被嵌入在必须传输第一类型数据的实例的序列的设备中,则输出单元112的输出能够用于利用识别数据idk替换要被传输的序列xi,使得必须传输更少的数据。可能的是,在传输序列之前,关于聚类c的信息和聚类的序列的可能特性被传输到接收器,使得接收器能够解释接收到的识别数据idk。

图2示意性地示出了确定第一类型数据的数据的实例xij的序列xi的聚类c的方法200的实施例。聚类c被确定用于压缩包括第一类型数据的实例的序列的数据集。第一类型数据的实例xi包括用于预测第二类型数据的实例yi的信息。任选地,第一类型数据的实例xi包括基于传感器数据的数据。任选地,第二类型数据的实例yi包括基于物理实体的特性的数据。方法200包括:i)获得202包括第一类型数据的实例xij的序列xi的第一数据集x;ii)获得204包括第二类型数据的实例yi的第二数据集y,第二数据集y的每个实例yi对应于,例如属于,第一数据集x中的序列xi;iii)将第一数据集x的序列xi分配206给聚类c,该分配是基于条件概率的,第一数据集x的每个序列xi具有在给定序列xi的情况下第二数据集的实例等于特定值的条件概率p(y|xi);iv)将聚类c提供220给例如数据缩减装置以用于压缩第一类型数据的实例的序列。

上述讨论的方法200与在图1的上下文中已经讨论的设备100具有相似的实施例、效果和优点。在下文中,讨论了方法200的更多实施例。应注意,设备100还可与下文讨论的方法200的实施例具有相似的实施例、效果和优点。

在实施例中,将第一数据集x的序列xi分配给聚类c包括将上下文树加权方法应用208于第一数据集x和第二数据集y以获得上下文树。在上下文树加权方法中,第一数据集的每个独特序列xi由上下文树中从根节点到特定叶节点的路径表示,并且存储在上下文树的节点中的计数基于第二数据集的对应实例yi。

上下文树加权方法在信息理论和(文本)压缩领域中是众所周知的并且已经由例如willems等人在以下文章中进行描述:i)willems等人的“thecontext-treeweightingmethod:basicproperties”(ieeetransactionsoninformationtheory,第42卷,第3号,第653-664页);ii)willems等人的“reflectionson‘thecontext-treeweightingmethod:basicproperties’”(newsletteroftheieeeinformationtheorysociety,1997);以及iii)willems等人的“1996itsocietypaperaward,reflectionontheprizepaper:‘thecontext-treeweightingmethod:basicproperties’”(ieeeinformationtheorysocietynewsletter,第47卷,第1号,1997年3月,第19-27页)。上述文章i)、ii)和iii)通过引用并入本文。

例如,如果第一数据集x的三个序列x1、x2和x5彼此相等,则它们全部三个由上下文树中以从上下文树的根节点到上下文树中的后续节点的边缘开始的路径表示,并且该边缘用序列x1的实例x1m的值标记。路径的最后边缘是从在深度m-1处的节点到在深度m处的特定叶节点。该最后边缘用序列x1的实例x11的值标记。特别地,如果序列xi是时间系列,则每个独特序列xi的第一类型数据的最新实例标记来自根节点的第一边缘,并且每个独特序列xi的第一类型数据的最旧实例标记结束于叶节点中的路径的最后边缘。还应注意,如果第一类型实例在序列xi中以不同的顺序被存储,则可以根据不同的顺序不同地执行上下文树中的路径的边缘的标记。在特定叶节点中,存储对对应实例y1、y2和y5的值进行计数的计数。如果第二数据集y的实例是二进制值,则节点的计数例如利用针对具有值0的对应实例的数量a和针对具有值1的对应实例的数量b表示。例如,如果y1=1、y2=0和y5=0,则a=2且b=1。例如,在上述讨论的文章“1996itsocietypaperaward,reflectionontheprizepaper:‘thecontext-treeweightingmethod:basicproperties’”的第24、25和26页已经讨论了使用上下文树加权(ctw)方法对上下文树的这种形成。关于ctw方法的讨论从段落“ctwalgorithm”开始到段落“complexity”结束。为了完整性起见,该文章的段落“treesources”和“contexttree”也被认为是对ctw方法的讨论的描述的一部分。

初始地,已经针对二进制数据描述了上下文树加权方法以及可以如何使用它来压缩文本数据。如今,本领域从业人员具有针对其他形式的非二进制数据自行支配的若干实施方式。因此,如果x或y中的离散数据具有多于两个不同的可能值,则必须使用这样的实施方式中的一个来构建第一上下文树。例如,tjalkens等人的文章“contexttreeweighting:multi-alphabetsources”(proceedingsfourteenthsymposiumoninformationtheoryinthebenelux,荷兰,费尔德霍芬,比荷卢经济联盟,1993年5月17日至18日,第128-135页)描述了可以如何将上下文树加权方法应用于非二进制数据。文献“contexttreeweighting:multi-alphabetsources”通过引用并入本文中。

任选地,在方法200中,将第一数据集x的序列xi分配206给聚类c包括根据估计条件概率对第一数据集x的序列xi进行聚类210,该估计条件概率基于上下文树的相应序列xi结束于其中的特定叶节点的计数。在上下文树加权方法中,对于每个叶节点登记计数,并且能够使用这些计数来计算所谓的krichevsky和trofimov估计量(kt估计量)。如果计数与二进制数据相关,则估计条件概率pec通过以下公式定义:其中,a是计数的0的数量,b是计数的1的数量。用于二进制数据的kt估计量也在上面提供的ctw算法的参考文献中进行了讨论。

特定叶节点的估计条件概率pec的值是对第二数据集的数据在给定其路径结束于特定叶节点中的特定独特序列xi的情况下的估计条件概率(y|xi)的估计。更具体地,如果第二数据集的实例是二进制数据实例,则特定叶节点的上述给定估计条件概率pec是对条件概率p(y=1|xi)的估计,其中,xi是其在上下文树中的路径结束于特定叶节点中的独特序列xi。因此,上下文树的叶节点的估计条件概率pec能够用于对第一数据集x的序列xi进行聚类。因此,可以得出结论:形成叶节点的聚类,并且对应于结束于特定叶节点中的独特序列的第一数据集x的所有序列xi被分配给特定叶节点被分配到的聚类。

上述讨论的数据集x示例和y示例也是在上面引用的文章中用于解释如何必须构建上下文树加权(ctw)树以及如何必须计算树的节点的估计概率的数据集。基于上下文树加权方法构建的ctw树如图5所示。绘制的ctw树从willems等人的“reflectionson‘thecontext-treeweightingmethod:basicproperties’”(newsletteroftheieeeinformationtheorysociety,1997)获得。在图5中,还在树的叶节点处指示了示例第一数据集x示例的哪些序列结束于该特定叶节点中。例如,序列x7结束于叶节点504中。通过ctw树的指示路径504由序列x7确定。实例x73=1确定该路径在向上方向上从根节点移动到在深度1处的节点,实例x72=1确定该路径在向上方向上从在深度1处的节点移动到在深度2处的节点,并且实例x73=0确定该路径在向下方向上从在深度2处的节点移动到叶节点504。y7=0的值确定叶节点504中的(a,b)的计数是(1,0)。通过使用序列xi结束于其中的叶节点的计数值(a,b),可以计算以上讨论的估计条件概率pec。

然后估计条件概率用于后续序列xi:

x1:a=1,b=0:pec=3/4

x2,x5:a=0,b=2:pec=1/6

x3,x6:a=1,b=1:pec=1/2

x4:a=1,b=0:pec=3/4

x7:a=1,b=0:pec=3/4

能够看出,估计条件概率pec与上面提供的条件估计概率不完全相同,然而,还能够看出估计概率pec与条件概率之间存在相关性。

任选地,在方法200中,将第一数据集x的序列xi分配给聚类c使用k均值算法来形成聚类c。如果该分配使用根据上述讨论的实施例的上下文树加权方法,则k均值算法使用上下文树的叶节点的估计条件概率pec来对第一数据集x的序列xi进行聚类。请注意,k均值算法也可以以与本文针对估计条件概率pec讨论的方式相同的方式使用先前讨论的条件概率。在k均值算法中,必须选择要形成的聚类的数量。在实施例中,该数量被设置为5、6或7。作为k均值算法的结果,具有接近与特定聚类相关联的特定均值的估计条件概率pec值的序列被放入特定聚类中。还可以选择等于√n的聚类的数量,因为已知在这样的聚类的数量下,第一数据集x与第二数据集y之间的大多数交互信息被保持在聚类中。k均值算法例如在g.james等人的并由纽约springer于2013年出版的教科书“anintroductiontostatisticallearning”中描述。该书也能够经由网站链接:http://www-bcf.usc.edu/~gareth/isl/islr%20first%20printing.pdf获得。

如果对于图5中呈现的ctw树,必须基于估计条件概率pec形成聚类,则建议形成3个聚类(因为√7=2.6)并且结束于具有彼此接近的估计条件概率的叶节点中的序列被指派到相同聚类。由此获得后续聚类:

c1={x1,x4,x7}

c2={x2,x5}

c3={x3,x6}

正如我们能够看到的,我们最终得到与直接从条件概率获得的聚类完全相同的聚类。因此,可以得出结论,使用叶节点的估计条件概率是用于获得与直接使用条件概率的情况相比相同的聚类的良好估计。

必须注意,也可以使用其他合适的聚类算法,并且实施例不限于使用k均值聚类算法。

可能的是,第一数据集x的序列xi的长度与该第一数据集x中的序列xi的数量n相比相对长。在那种情况下,可能的是,在一些叶节点中计数相对低,例如,小于定义的最小观察数量minobs,这使得这些叶节点的估计条件概率相对不准确。

在实施例中,总计数小于最小观察数量minobs的所有叶节点从基于估计条件概率pec的聚类中排除,但是被分配给两个额外聚类。结束于具有小于最小观察数量minobs的总计数的特定叶节点中并且该特定叶节点具有小于0.5的估计条件概率pec的所有序列xi被分配给两个额外聚类中的第一个聚类。结束于具有小于最小观察数量minobs的总计数的特定叶节点中并且该特定叶节点具有大于0.5的估计条件概率pec的所有序列xi被分配给两个额外聚类中的第二个聚类。结束于具有小于最小观察数量minobs的总计数的特定叶节点中并且该特定叶节点具有等于0.5的估计条件概率pec的所有序列xi被分配给两个额外聚类中的第二个聚类或者两个额外聚类中的第一个聚类。

以上讨论了对第一数据集x的序列xi应用208上下文树加权方法和聚类206的方法阶段。应注意,图1的设备100可以包括上下文树加权方法应用单元106和聚类单元108,其被配置为执行与所讨论的对第一数据集x的序列xi应用208上下文树加权方法阶段和聚类206的方法阶段相同的功能/任务。单元106和108可以具有与具有相似效果和优点的方法阶段的实施例相似的实施例。

任选地,在将第一数据集x的序列xi分配给聚类c之后,该方法可以包括额外优化阶段212,其中,通过迭代优化方法进一步优化第一数据集x的序列xi的聚类c以使优化函数最小化,该优化函数从第二数据集y在给定聚类c的数据的情况下的条件熵h(y|c)导出,可以基于或可以等于第二数据集y在给定聚类c的数据的情况下的条件熵h(y|c)。该条件熵的计算如下:其中,p(c)是第一数据集x的实例结束于特定聚类c中的概率,p(y,c)是第二数据集y的实例具有值y并且在特定聚类c中的概率。例如,能够通过将被分配给cluster1的第一数据集的序列的数量除以第一数据集x中的实例的总数量n来计算p(cluster1);例如,如果第二数据集的实例具有二进制值:为了计算p(y=0,c=cluster_1),必须针对结束于cluster_1中的第一数据集x的所有序列xi,对第二数据集y的对应实例yi等于0的频率进行计数,计数用c表示。然后p(y=0,c=cluster_1)=c/n,其中,n是第一数据集x和第二数据集y中的实例的总数量。

在示例中,在额外优化阶段212中,其中,第一数据集x的序列xi的聚类c被进一步优化,在每次迭代中,将第一数据集x的一个或多个特定序列xi移动到另一聚类,并且检查第二数据集y在给定聚类c的数据的情况下的条件熵h(y|c)是否变得更小,如果是的话,则已经找到了更好的解决方案。在实施例中,使用的迭代优化方法包括模拟退火优化方法。例如,可以使用以下文章中讨论的方法:claudej.p.bélisle的“convergencetheoremsforaclassofsimulatedannealingalgorithmsonrd”(journalofappliedprobability,第29卷,第4号,(1992年12月),第885-895页)。c.j.p.bélisle的文章通过引用并入本文中。在模拟退火中,假想温度函数和概率函数很重要,本文为这样的函数提供了有用的建议。

在上面的上下文中,已经描述了第一数据集x包括第一类型数据的实例的序列xi。术语序列用于指示一个序列的实例源自于一个特定源,例如,一个特定传感器。每个序列都有它自己的源,所有源都具有相同的类型并具有相同的功能。例如,每个序列源自于一种类型的传感器,其在相同类型的机器中具有相同的功能。例如,在图3的上下文中,源是温度传感器302、352,其测量相应机器300、350的电机的温度。在一个实施例中,序列是一种特定类型的传感器的测量结果的时间系列。时间系列的含义在于在一定时间区间内在连续时刻获得/导出/测量第一类型数据的实例。

任选地,上述讨论的确定聚类的方法中的一个可以是压缩数据集的方法的一部分,该数据集包括第一类型数据的实例的序列,并且该数据基于传感器数据,例如从传感器数据导出。该方法包括利用第一类型数据的实例的序列获得数据集。所获得的数据步骤实现所包括的确定聚类的方法中的第一数据集x的功能。所包括的确定聚类的方法的输出随后被用于由在所包括的确定的聚类的方法中相应序列被分配到的聚类的识别数据来替换数据集的第一类型数据的实例的序列。生成针对聚类的识别数据。识别数据包括独特地识别相应聚类的每个聚类的识别。识别至少小于数据集的序列,这意味着它们能够由比数据集的每个序列少的位数存储。该方法得到较小的数据集并且节省存储容量。在实施例中,在给定每个聚类必须是可独特识别的条件下,识别的平均大小被最小化。

任选地,上述讨论的确定聚类的方法中的一个可以是传输压缩的数据的方法的一部分,压缩的数据包括第一类型数据的实例的至少一个序列。至少一个序列是要被传输的序列。该方法包括获得至少一个序列。在确定聚类之后,选择聚类中的一个作为与至少一个序列最好地匹配的聚类。可能的是,在确定聚类的方法中使用的第一数据集x已经包括与至少一个序列相等的序列,然后选择序列被分配到的聚类。也可能的是,第一数据集x不包括与至少一个序列相等的序列,然后选择与至少一个序列最好地匹配的聚类。例如,每个聚类可以由代表性序列(例如,由聚类表示的空间中的中心序列)表示,并且选择其中代表性序列在至少一个序列的最短距离处的聚类。对于聚类,生成识别数据。识别数据包括独特地识别相应聚类的每个聚类的识别。识别至少小于数据集的序列,这意味着它们能够由比数据集的每个序列少的位数存储。随后,传输所选择的聚类的识别数据而不是至少一个序列。因此,与必须传输整个至少一个序列的情况相比,更少量的位被传输,并且节省传输带宽和传输功率。

图4示意性地示出了计算机程序产品470的实施例,该程序能操作用于使处理器执行先前讨论的方法中的一个,例如确定聚类的方法200、传输压缩的数据的方法或压缩数据集的方法的实施例中的一个。实施例还扩展到计算机程序产品470,特别是载体470上或中的计算机程序480,其适于将本发明付诸实践。计算机程序产品可以包括计算机程序480。该程序可以是源代码、目标代码、代码中间源和诸如部分编译形式的目标代码的形式,或者是适合用于实施上述讨论的方法中的一个的任何其他形式。还应理解,这样的程序可以具有许多不同的架构设计。例如,实施本方法或设备的功能的程序代码可以被细分成一个或多个子例程。将功能分布在这些子例程之中的许多不同方式对于技术人员来说是显而易见的。子例程可以一起被存储在一个可执行文件中以形成自包含程序。这样的可执行文件可以包括计算机可执行指令,例如处理器指令和/或解释器指令(例如,java解释器指令)。备选地,子例程中的一个或多个或全部可以被存储在至少一个外部类库文件中,并且可以静态地或动态地(例如在运行时)与主程序链接。主程序包括对子例程中的至少一个的至少一次调用。而且,子例程可以包括彼此的函数调用。涉及计算机程序产品470的实施例包括对应于所述方法中的至少一个的处理步骤中的每个的计算机可执行指令480。这些指令可以被细分成子例程和/或被存储在可以被静态或动态链接的一个或多个文件中。涉及计算机程序产品470的另一实施例包括对应于所述系统和/或产品中的至少一个的单元中的每个的计算机可执行指令480。这些指令可以被细分成子例程和/或被存储在可以被静态或动态链接的一个或多个文件中。

计算机程序的载体可以是能够承载程序的任何实体或设备。例如,载体可以包括存储介质,例如rom,例如cdrom或半导体rom,或磁记录介质,例如软盘或硬盘。此外,载体可以是可传输载体,例如电信号或光信号,其可以经由电缆或光缆或通过无线电或其他手段传送。当程序被体现在这样的信号中时,载体可以由这样的电缆或其他设备或单元构成。备选地,载体可以是程序被嵌入其中的集成电路,该集成电路适于执行或用于执行相关方法。

计算机程序480可以是用于分布式处理器系统的计算机程序,并且可以包括计算机代码,该计算机代码使第一处理器系统执行上述讨论的方法的步骤的子集,并且使第二处理器系统执行上述讨论的方法的步骤的另一子集。步骤的子集和步骤的另一子集可以是相互排斥的。

总之,本文提供了一种用于确定第一类型数据的实例的序列的聚类的设备和一种确定第一类型数据的实例的序列的聚类的方法,所述聚类用于压缩包括所述第一类型数据的实例的序列的数据集。还提供了一种压缩数据集的方法、一种传输压缩的数据的方法和一种计算机程序产品。在所述设备的序列聚类单元中,基于条件概率来对第一数据集的序列进行聚类。所述第一数据集的每个独特序列与在给定所述独特序列的情况下第二数据集的实例具有特定值的一个或多个条件概率相关联。在所述聚类中,所述第一数据集与所述第二数据集之间的交互信息的重要部分被保持。

应注意,可以使用可编程部件采用硬件和/或软件来实施本发明。

应当理解,为了清楚起见,以上描述已经参考不同的功能单元和处理器描述了本发明的实施例。然而,将显而易见的是,在不偏离本发明的情况下,可以使用不同功能单元或处理器之间的任何合适的功能分布。例如,图示为由单独的单元、处理器或控制器执行的功能可以由相同的处理器或控制器执行。因此,对特定功能单元的引用仅被视为对用于提供所描述的功能的合适单元的引用,而不是指示严格的逻辑或物理结构或组织。本发明能够以包括硬件、软件、固件或这些的任何组合的任何合适的形式实施。

应注意,在本文件中,“包括”一词不排除除了列出的元素或步骤之外的其他元件或步骤的存在,并且元件前面的词语“一”或“一个”不排除多个这样的元件的存在,任何参考标记不限制权利要求的范围,本发明可以通过硬件和软件两者来实施,并且若干“模块”或“单元”可以由同一项硬件或软件表示,并且处理器可以实现可能与硬件元件协作的一个或多个单元的功能。此外,本发明不限于这些实施例,并且本发明在于上述的或在相互不同的从属权利要求中描述的每个新颖特征或特征的组合。

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