用于混合模型选择的方法和装置与流程

文档序号:11831827阅读:321来源:国知局
用于混合模型选择的方法和装置与流程

本发明的实施例总体上涉及机器学习领域,并且更具体地,涉及用于混合模型选择的方法和装置。



背景技术:

混合模型(mixture model)是一种使用混合分布用于密度估计的概率模型,其可以表示一个大群体中存在子群体。混合模型可以包括多种模型,例如高斯混合模型、分段线性混合模型等,这些模型已被广泛应用于多种领域,诸如文档分类、手写识别、模糊图像分割等。

在实践中,混合模型的模型选择是一个非常重要而又具有挑战性的问题。业界已经提出了一些方法来进行混合模型的模型选择,其中变分推理(variational inference)是一种比较有效的方法,其试图给出边际对数似然的解析近似。然而,变分推理对于初始化较为敏感,如果初始化不适当,则变分推理的效果可能会变得很差,从而无法准确地选择模型。因此,初始化已经成为影响变分推理的精度和效率的重要因素。

目前,变分推理的初始化方法例如可以包括随机初始化、基于聚类的初始化等等。然而,随机初始化通常需要尝试大量的初始化样本来实现,处理耗时较长,从而会造成模型选择的速度较慢。另外,基于聚类的初始化对于以聚类为目标的混合模型(例如,高斯混合模型)可能是比较有效的,但是对于以回归/分类为目标的混合模型而言并不适合使用,所以基于聚类的初始化通用性较低。

因此,需要一种更为通用且高效的初始化方案来实现混合模型选择。



技术实现要素:

总体上,本发明的实施例提出一种用于混合模型选择的技术方案。

在本发明的一个方面,提供一种用于混合模型选择的方法。所述方法包括:基于训练样本集来确定候选模型;基于候选模型的第一初始化隐变量和更新隐变量中的至少一个,生成第二初始化隐变量的集合,其中候选模型根据第一初始化隐变量而生成,并且更新隐变量表示候选模型输出的样本分组结果;以及基于第二初始化隐变量的集合来确定目标模型。

在本发明的另一方面,提供一种用于混合模型选择的装置。装置包括:候选模型确定单元,被配置为基于训练样本集来确定候选模型;生成单元,被配置为基于候选模型的第一初始化隐变量和更新隐变量中的至少一个,生成第二初始化隐变量的集合,其中候选模型根据第一初始化隐变量而生成,并且更新隐变量表示候选模型输出的样本分组结果;以及目标模型确定单元,被配置为基于第二初始化隐变量的集合来确定目标模型。

根据本发明的实施例,通过基于性能较优的候选模型的初始化隐变量和更新隐变量来生成新的初始化隐变量,继而基于新的初始化隐变量来得到新的模型,这并不局限于某种特定混合模型类型。因此,根据本发明的方案具有良好的通用性。本发明的其他特征和优点将通过下文描述而变得容易理解。

附图说明

通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显.其中:

图1示出了根据本发明实施例的用于混合模型选择的方法的示意性流程图;

图2示出了根据本发明实施例的用于混合模型选择的方法的示意性流程图;

图3A示出了根据本发明实施例的用于确定目标初始化隐变量的 集合的方法的示意性流程图;

图3B示出了根据本发明实施例的用于确定目标初始化隐变量的集合的方法的示意性流程图;

图4示出了根据本发明实施例的用于混合模型选择的方法的一个图形化表示的示意图;

图5示出了根据本发明实施例的用于混合模型选择的装置的示意性框图;以及

图6示出了适于用来实现本发明实施例的示例性计算机系统的示意性框图。

在附图中,相同或相似的标号被用来表示相同或相似的元素。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

以下将详细描述本发明实施例的机制和原理。除非特别声明,在下文和权利要求中使用的术语“基于”表示“至少部分地基于”。术语“包括”表示开放性包括,即“包括但不限于”。术语“多个”表示“两个或更多”。术语“一个实施例”表示“至少一个实施例”。术语“另一实施例”表示“至少一个另外的实施例”。其他术语的定义将在下文描述中给出。

图1示出了根据本发明实施例的用于混合模型选择的方法100的流程图。传统上,变分推理的初始化方法采用随机初始化、基于聚类的初始化等方法。然而,这些初始化方法通常具有处理速度较慢、通用性不高等问题,这些都是混合模型选择中的亟待解决的问题。通过下文描述将会理解,利用根据本发明的实施例的方法100,这些问题可以被得到有效地解决。

方法100开始于步骤S110,在此基于训练样本集来确定候选模型。

在本发明实施例中,“隐变量”可以表示不能被直接观测到、而需要通过样本数据推导得出的变量。隐变量的变分分布可以用于描述样本数据被聚类到对应类别的概率。应当注意的是,在本发明实施例中,“隐变量”并不限于一种变量,而是可以包含“隐变量的变分分布”和/或其他适当的信息。在本公开中,隐变量可以包括初始化隐变量、更新的隐变量,等等,其中初始化隐变量表示用于进行训练的隐变量,而更新的隐变量表示训练后得到隐变量。在本公开的上下文中,“更新的隐变量”有时也称为“更新隐变量”,二者可以替换使用。

在本发明的实施例中,“模型”一般是指混合模型,例如候选模型、中间模型以及目标模型,等等。模型可以通过对初始化隐变量进行训练来生成。如此生成的模型可以包括更新的隐变量的变分分布、模型参数、模型结构,等等。模型参数可以根据混合模型的类型不同而不同,由于混合模型通常是一类模型的总称,并且一个混合模型可由多个子模型组合而成,因此模型参数与具体的混合模型的类型相关联。举例而言,对于高斯混合模型而言,模型参数可以包括每个子模型所服从的高斯分布的均值和方差。对于分片线性模型而言,模型参数则可以包括门节点的条件控制参数和叶子节点的回归系数及偏差。模型结构也与混合模型的类型相关联。举例而言,对于高斯混合模型而言,模型结构可以包括子模型的个数及子模型合并系数,等等。对于分片线性模型而言,模型结构则可以包括学习出的树结构。应当理解,上述示例仅仅是出于讨论之目的,无意以任何方式限制本发明的范围。另外,在本发明的实施例中提到的“统计模型”不同于混合模型。统计模型例如可以包括高斯过程模型、student-t过程模型等。

在根据本发明的一个实施例中,在步骤S110,可以基于训练样本集来确定一个或多个第一初始化隐变量,并可以根据第一初始化隐变量生成候选模型。第一初始化隐变量可以通过对训练样本集中的样本进行随机分组来得到,或者可以通过对训练样本集中的样本进行聚类来得到。第一初始化隐变量例如可以实现为矩阵的形式、数据集合的形式或者其他任何适当的形式。在一个实施例中,第一初始化隐变量 可以是一个k×n维的矩阵,其中k是该矩阵的行数,表示第一初始化隐变量的样本组数目;n是该矩阵的列数,表示训练样本集中的样本数目。该矩阵中的一行对应于一个样本组,每行中的每个元素的值可以是0或者1。例如,如果该矩阵中的一行中的第i个元素是1,则表示与该行相对应的样本组中包含训练样本集中的第i个样本;如果该行中的第j个元素是0,则表示与该行相对应的样本组中不包含训练样本集中的第j个样本。应当理解,上述矩阵中的元素的值不一定必须为0或者1,也可以是任何其他适当的数值。以上示例仅仅是为了讨论方便之目的,无意限制本发明的范围。在另一个实施例中,第一初始化隐变量可以是一个数据集合,例如可以包括k个样本组,每个样本组中有一个或多个样本。应当理解,上述示例仅仅是为了讨论之目的,并无意限制本发明的范围。本领域技术人员可以通过任何适当的方式来实现第一初始化隐变量。

当基于训练样本集确定出多个第一初始化隐变量时,可以生成多个模型来作为在步骤S110所确定的候选模型。备选地或附加地,可以从生成的多个模型中选择其一来作为在步骤S110所确定的候选模型。选择的方式可以有多种,例如可以从生成的多个模型中随机选择至少一个候选模型,也可以按照某种顺序或要求来选择。应当理解,上述举例仅仅是为了讨论之目的,无意限制本发明的范围。本领域的技术人员可以利用任何适当的选择方法从多个模型中选择至少一个候选模型。

例如,在根据本发明的一个实施例中,在步骤S110,可以基于训练样本集来确定多个第一初始化隐变量,基于多个第一初始化隐变量生成多个初始模型,以及根据多个初始模型的性能来选择该多个初始模型中的至少一个作为候选模型。

模型的性能可以包括多种因素,例如精度、时效性,等等。模型的性能可以通过多种方式来确定,例如计算均方根误差、平均绝对值误差、似然率等。以精度为例,对于预测/分类混合模型而言,可以将候选模型用于测试数据的预测/分类,从而得到对应的预测/分类精度。 对于聚类模型而言,可以计算候选模型的聚类精度,例如标准互信息等。

接下来,方法100进行到步骤S120,在此基于候选模型的第一初始化隐变量和更新隐变量中的至少一个,生成第二初始化隐变量的集合。

根据本发明的实施例,可以基于候选模型的第一初始化隐变量、更新隐变量或者二者,来生成第二初始化隐变量的集合。其中,该候选模型根据该第一初始化隐变量而生成,并且更新隐变量表示该候选模型输出的样本分组结果。

在根据本发明的一个实施例中,在步骤S120,可以基于候选模型的第一初始化隐变量,生成第三初始化隐变量的集合;基于候选模型的更新隐变量,生成第四初始化隐变量的集合;并且可以基于第三初始化隐变量的集合和第四初始化隐变量的集合,确定第二初始化隐变量的集合。

第三初始化隐变量的集合可以包含与第一初始化隐变量相关联的一个或多个隐变量,并可以通过多种方式来生成。在一个实施例中,可以通过对候选模型的第一初始化隐变量以及参考隐变量进行加权求和,来生成第三初始化隐变量的集合中的第三初始化隐变量。

第四初始化隐变量的集合可以包含与更新隐变量相关联的一个或多个隐变量,并可以通过多种方式来生成。在一个实施例中,可以从候选模型的更新隐变量中的多个样本组中选择一个样本组;将所选择的样本组分为多个子组;以及基于多个子组确定第四初始化隐变量的集合中的第四初始化隐变量。

仍然参考图1,方法100进行到步骤S130,在此基于第二初始化隐变量的集合来确定目标模型。

根据本发明的实施例,在步骤S120生成的第二初始化隐变量的集合中可以包括一个或多个第二初始化隐变量。在一个实施例中,如果步骤S120所得到的第二初始化隐变量的数目为1,则在步骤S130可以通过训练该第二初始化隐变量来得到一个模型,并将该模型作为 目标模型。

在另一个实施例中,如果在步骤S120生成多个第二初始化隐变量,则在步骤S130中,可以通过训练该多个第二初始化隐变量来生成多个中间模型,然后可以基于中间模型的性能来确定目标模型。例如可以按照各个中间模型的性能,来从其中选择一个中间模型作为目标模型。

根据本发明的实施例,作为备选方案,在步骤S130可以对第二初始化隐变量的集合中进行进一步的处理,从中选择出第二初始化隐变量的一个子集,并基于该子集来确定目标模型。在一个实施例中,在步骤S130,可以利用预定的统计模型,基于第二初始化隐变量的集合来确定目标初始化隐变量的集合,通过训练目标初始化隐变量的集合中的每个目标初始化隐变量来生成中间模型,并基于中间模型的性能来确定目标模型。关于目标初始化隐变量的集合的确定过程将在以下讨论中结合图3所示的流程图进行描述。

通过上述描述可以理解,本发明的实施例不涉及特定类型的混合模型的具体特性或要求,因此具有良好的通用性,并不局限于特定类型的混合模型。同时,本发明的实施例也是一种高效的解决方案。以下将通过图2所示的实施例来讨论本发明的实施例的进一步的优点。

图2示出了根据本发明实施例的用于混合模型选择的方法200的示意性流程图。方法200可以被认为是方法100的具体实施例。应当理解,所示的实施例仅是出于讨论之目的,无意以任何方式限制本发明的范围。

方法200开始于步骤S210,在此基于训练样本集来确定多个第一初始化隐变量。

在图2所示的实施例中,训练样本集是一个包括多个样本(也称为样本数据)的集合。每个样本可以通过多个参数来表征。一个样本可以表示为(x,y),其中x表示该样本的特征,y表示针对该样本的估计值。例如,一个用电量数据的样本的x可以包括今日用电量、温度、湿度等,而y则可以表示所估计出的明日用电量,即, x=[ele-consumption_today,temperature,humidity,…],y=ele-consumption_tomorrow。在以下的讨论中,所提及的“样本组”表示一组样本,该样本组中可能包括一个或多个样本。在以下的讨论中,所提及的“对样本分组”或者“对样本进行分组”是指将样本分为若干组,每个组即是一个样本组。

根据本发明的实施例,在步骤S210,可以从训练样本集随机地生成多个第一初始化隐变量。作为备选方案,也可以对训练样本集中的样本进行聚类,从而生成多个第一初始化隐变量。除此以外,还可以采用本领域技术人员可用的其他方法来基于训练样本集确定第一初始化隐变量,上述示例性实施例并不是对本发明的限制。

在步骤S220,基于所述多个第一初始化隐变量生成多个初始模型。

根据本发明的实施例,可以针对多个第一初始化隐变量中的每个第一初始化隐变量,在训练样本集上进行学习,从而生成与每个第一初始化隐变量相对应的初始模型。在一个实施例中,针对每个第一初始化隐变量,可以在训练样本集上进行监督或者无监督学习,自动学习混合模型的模型参数、更新隐变量(或者更新的隐变量变分分布)以及模型结构,从而得到对应的初始模型。通过这种方式,可以得到与多个第一初始化隐变量相对应的多个初始模型。

接下来,方法200进行到步骤S230,在此基于多个初始模型的性能从多个初始模型中选择至少一个来作为候选模型。

模型的性能例如可以通过计算模型的精度、时效性等来得到。以精度为例,对于预测/分类混合模型而言,可以在测试数据的预测/分类中使用初始模型的更新的隐变量变分分布、模型参数和模型结构,从而得到对应的预测/分类精度。对于聚类模型而言,可以计算初始模型的聚类精度,例如标准互信息等。应当理解,除了精度以外,还可以通过确定初始模型的时效性等有关因素来得到初始模型的性能。上述示例仅仅是为了便于在此的讨论,并不是对本发明的限制。

从多个初始模型中选择候选模型的过程可以通过多种方式来实现。在一个实施例中,可以将包含多个初始模型的这个较大的集合缩 小为一个较小的集合,从而将性能较优的一个或多个初始模型选出以作为候选模型。在一个实施例中,可以通过基于多个初始模型中的每个初始模型的更新的隐变量变分分布、模型参数和模型结构,来确定每个初始模型的性能。然后,可以基于所确定的性能对多个初始模型进行排序,例如,可以按照性能从高到低的顺序排列该多个初始模型。由此,可以从多个初始模型中选择排序最靠前的一个初始模型来作为候选模型。在这种情况下,在步骤S230得到的候选模型的数目为1。作为备选方案,可以基于排序从多个初始模型中选择排序靠前的两个或两个以上初始模型来作为候选模型。在这种情况下,在步骤S230得到的候选模型的有多个,并且是初始模型中性能较优的多个模型。

仍然参考图2,方法200进行到步骤S240,在此基于候选模型的第一初始化隐变量,生成第三初始化隐变量的集合。

在一个实施例中,可以通过对候选模型的第一初始化隐变量以及参考隐变量进行加权求和,来生成第三初始化隐变量的集合中的第三初始化隐变量。参考隐变量可以是一个均匀采样的隐变量,其可以与第一初始化隐变量的形式相同,例如是k×n维的矩阵,其中k是该矩阵的行数,表示第一初始化隐变量的样本组数目;n是该矩阵的列数,表示训练样本集中的样本数目。在一个实施例中,假设第一初始化隐变量被表示为qz_initial,参考隐变量被表示为qz_new,则第三初始化隐变量可以通过以下来计算:

qz=a*qz_initial+(1+a)*qz_new (1)其中,a表示对第一初始化隐变量的加权因子,qz表示第三初始化隐变量,并且qz也对应地是一个k×n维的矩阵,该矩阵中的每个元素的值可以是0或者1,或者是本领域技术人员常用的其他适当的数值。

相应地,第三初始化隐变量的集合可以被确定为:

S1={qz|qz=a*qz_initial+(1-a)qz_new,a∈(0,1),qz∈[0,1]k×n}。

在步骤S250,基于候选模型的更新隐变量,生成第四初始化隐变量的集合。

根据本发明的实施例,更新隐变量可以表示候选模型输出的样本分组结果。可以从候选模型的更新隐变量中的多个样本组中选择一个样本组。在本发明的实施例中,可以利用多种方式从候选模型的更新隐变量的多个样本组(例如样本组的数目为N)中选择一个样本组,例如可以随机选择或者可以按照样本组的规模来进行上述选择。在一个实施例中,可以确定所述多个样本组中的每个样本组的样本数目,并从多个样本组中选择样本数目最大的一个样本组,即选择规模最大的样本组。作为备选方案,在一个实施例中,可以从多个样本组中选择样本数目大于预定阈值的样本组,即选择规模超过预定阈值的样本组。应当理解,以上示例仅仅是示意性的,并非是对本发明的保护范围的限制。

在从候选模型的更新隐变量的多个样本组中选择一个样本组之后,可以将所选择的样本组分为多个子组。根据本发明的一个实施例,可以将所选择的样本组随机分为多个子组。作为替换方案,可以将所选择的样本组平均分为多个子组,其中每个子组具有相同数目的样本。应当理解,还可以通过多种其他方式将所选择的样本组分成多个子组,以上仅仅是示例性的,不应当理解为是对本发明的范围的限制。此外,从所选择的样本组得到的子组的数目可以是预定义的,这个数目例如可以是2、3、……、k’中的任何一个,其中k’是小于或等于所选择的样本组中的样本数目的整数,同时k’与所述更新应变量的除所选样本组之外的剩余样本组数目之和需小于或等于第一初始化隐变量的样本组数目。

在将所选择的样本组分为多个子组之后,可以基于该多个子组确定第四初始化隐变量的集合中的第四初始化隐变量。在一个实施例中,可以计算子组的数目与更新隐变量中除所选择的样本组之外的其余样本组数目之和,并将计算出的结果与第一初始化隐变量中的样本组数目进行比较。

如果计算出的结果小于第一初始化隐变量中的样本组数目,则可以将所选择的样本组从更新隐变量中去除。接着,可以继续执行以上 操作,即,从该更新隐变量的中再选择一个样本组,并将所选择的样本组分为多个子组。然后,可以计算所有子组的总数(如果从该更新隐变量中选择过N个样本组,则对应于从这N个样本组分别得到的子组的总数)以及该更新隐变量中除所选择的所有样本组之外的其余样本组(如果从该更新隐变量中选择过N个样本组,则此时的其余样本组是更新隐变量中除了该N个样本组之外的剩余样本组)之和,并基于对计算出的结果与第一初始化隐变量中的样本组数目的比较,来判断是否继续迭代执行上述操作。

如果判断计算出的结果等于第一初始化隐变量中的样本组数目,则将得到的所有子组与该更新隐变量中除所选择的所有样本组之外的其余样本组作为第四初始化隐变量中的样本组。由此,可以确定出一个第四初始化隐变量。

如果判断计算出的结果大于第一初始化隐变量中的样本组数目,则从所有子组和该更新隐变量的其余样本组中选择规模最小的两者,并将两者合并以生成一个新的样本组,然后用新的样本组替换上述两者(即,替换所选择的两个样本组/子组)。重复上述操作直至所有子组和该更新隐变量的其余样本组数目之和等于第一初始化隐变量中的样本组数目,然后可以将所有子组与该更新隐变量中的其余样本组来作为第四初始化隐变量中的样本组,由此确定出一个第四初始化隐变量。

应当理解,上述示例仅仅是为了讨论之目的,并无意对本发明的范围进行限制。本领域的技术人员可以采用本发明范围内的其他任何适当的手段来基于候选模型的更新隐变量生成第四初始化隐变量。

步骤S260,基于第三初始化隐变量的集合和第四初始化隐变量的集合,确定第二初始化隐变量的集合。

在一个实施例中,可以将第三初始化隐变量的集合、第四初始化隐变量的集合或者二者的并集来确定为第二初始化隐变量的集合。作为替代,在一个实施例中,可以从第三和第四初始化隐变量的集合中分别确定一个子集,然后可以将两个子集的并集确定为第二初始化隐 变量的集合。上述子集的确定方法可以有多种,例如可以随机地从第三和第四初始化隐变量的集合中分别确定一个子集。应当理解,上述示例仅仅是为了讨论的目的,而无意对本发明的范围进行限制。本领域技术员人员可以利用其它任何适当的手段来基于第三初始化隐变量的集合和第四初始化隐变量的集合,确定第二初始化隐变量的集合。

仍然参考图2,方法200进行到步骤S270,在此通过训练第二初始化隐变量的集合中的每个第二初始化隐变量来生成中间模型。

在一个实施例中,可以针对第二初始化隐变量的集合中的每个第二初始化隐变量,在训练样本集上进行学习,例如进行监督或者无监督学习,自动学习混合模型的模型参数、更新的隐变量变分分布以及模型结构,以生成与每个第二初始化隐变量相对应的模型,该模型被称为中间模型。

在步骤S280,基于中间模型的性能来确定目标模型。

模型的性能可以包括多种因素,例如精度、时效性等,并可以通过多种方式来确定。以精度为例,如果中间模型是预测/分类混合模型,可以将中间模型用于测试数据的预测/分类,从而得到对应的预测/分类精度。如果中间模型是聚类模型,可以计算中间模型的聚类精度,例如标准互信息等。

在一个实施例中,可以通过基于每个中间模型的更新的隐变量变分分布、模型参数和模型结构,来确定每个中间模型精度、时效性或者其他特性,继而可以得到每个中间模型的性能。然后,可以对所确定的性能对多个中间模型进行排序,例如,按照性能从高到低的顺序排列该多个中间模型。随后,可以从多个中间模型中选出性能最优的一个中间模型作为目标模型。

作为可选步骤,在步骤S280之后,可以将根据本发明的实施例得到的目标模型提供给用户,以便用户使用。

应当注意的是,图2所示的方法200仅仅是示例性的,无意以任何方式限制本发明的范围。根据本发明的实施例,不必在确定了第二初始化隐变量的集合之后直接生成中间模型进而确定目标模型,而是 可以对第二初始化隐变量的集合进行进一步处理,从中选择出第二初始化隐变量的一个子集,并基于选择的子集来确定目标模型。在一个实施例中,替代步骤S270和S280,可以利用预定的统计模型,基于第二初始化隐变量的集合来确定目标初始化隐变量的集合,然后基于目标初始化隐变量的集合来确定目标模型。可以具有多种方式来基于第二初始化隐变量的集合来确定目标初始化隐变量的集合。图3A示出了根据本发明实施例的用于确定目标初始化隐变量的方法300的示意性流程图。

方法300开始于步骤S310,其中根据第二初始化隐变量的集合对目标初始化隐变量的集合进行初始化。

对目标初始化隐变量的集合进行初始化可以通过多种方式来进行。在一个实施例中,可以从第二初始化隐变量的集合中选择至少一个第二初始化隐变量,作为目标初始化隐变量的集合中的目标初始化隐变量。在一个附加实施例中,还可以从第二初始化隐变量的集合中去除所选择的该至少一个第二初始化隐变量。上述选择过程可以利用多种方法来实现,例如可以进行随机选择,也即从第二初始化隐变量的集合中随机选择一个或多个第二初始化隐变量来作为目标初始化隐变量。又例如,可以从第二初始化隐变量的集合中选择距离最远的多个第二初始化隐变量来作为目标初始化隐变量的集合中的多个目标初始化隐变量。这个距离例如可以通过计算欧式距离、汉明距离、马氏距离、夹角余弦或者本领域技术员人员可用的其他适当计算方法来获得。以此方式,可以基于第二初始化隐变量的集合来初始化目标初始化隐变量的集合。

在步骤S320,利用目标初始化隐变量的集合中的目标初始化隐变量以及与目标初始化隐变量相对应的临时模型的性能来训练预定的统计模型。

在根据本发明的实施例中,预定的统计模型例如可以是用户根据需要或者偏好指定的或者是系统预先设定的统计模型。预定的统计模型可以是高斯过程模型、student-t过程模型或者其他适当的统计模型。

在一个实施例中,可以利用目标初始化隐变量的集合中的所有目标初始化隐变量及其相对应的临时模型的性能来构造一个新的训练样本集。该新的训练样本集中的每个样本可以通过(x,y)来表示,其中x表示目标初始化隐变量,y表示与该目标初始化隐变量相对应的临时模型的性能。然后,可以在该新的训练样本集上进行监督学习以训练预定的统计模型。

在步骤S330,基于经过训练的预定的统计模型从第二初始化隐变量的集合中选择第二初始化隐变量,以更新目标初始化隐变量的集合。

根据本发明的实施例,可以利用经过训练的预定的统计模型来预测与第二初始化隐变量的集合中的第二初始化隐变量相对应的临时模型的性能。在一个实施例中,可以利用经过训练的预定统计模型来计算与第二初始化隐变量相对应的临时模型的性能的均值和方差,然后根据该均值和方差来确定与第二初始化隐变量相对应的临时模型的性能预测值。

在完成性能预测之后,可以按照所预测的性能,选择第二初始化隐变量的集合中的至少一个第二初始化隐变量来更新目标初始化隐变量的集合。在一个实施例中,可以将第二初始化隐变量的集合中的与所预测的最优性能相对应的第二初始化隐变量确定为目标初始化隐变量的集合中的一个目标初始化隐变量。在一个附加实施例中,还可以从第二初始化隐变量的集合中去除与所预测的最优性能相对应的第二初始化隐变量。这样,在更新目标初始化隐变量的集合的同时,还可以实现对第二初始化隐变量的集合的更新。

应当理解,方法300仅仅是示例性的,而并非是对本发明的范围的限制。根据本发明的实施例,在步骤S330更新目标初始化隐变量的集合之后,可以继续返回步骤S320,来利用更新后的目标初始化隐变量的集合中的目标初始化隐变量以及与其相对应的临时模型的性能来继续训练预定的统计模型。然后,可以基于经过训练的预定的统计模型从第二初始化隐变量的集合中选择第二初始化隐变量,再次更新目标初始化隐变量的集合。上述步骤S320-S330可以多次执行, 直到达到预设的执行次数。

图3B示出了根据本发明实施例的用于确定目标初始化隐变量的方法340的示意性流程图。方法340可以认为是方法300的具体实施例。应当理解,所示的实施例仅是出于讨论之目的,无意以任何方式限制本发明的范围。

方法340开始于步骤S341,在此从第二初始化隐变量的集合中选择至少一个第二初始化隐变量,作为目标初始化隐变量的集合中的目标初始化隐变量。

在一个实施例中,可以从第二初始化隐变量的集合中随机选择一个或多个第二初始化隐变量。在一个替代实施例中,可以从第二初始化隐变量的集合中选择距离最远的多个第二初始化隐变量来作为目标初始化隐变量的集合中的多个目标初始化隐变量。这个距离例如可以通过计算欧式距离、汉明距离、马氏距离、夹角余弦或者本领域技术员人员可用的其他适当计算方法来获得。应当理解,以上实施例仅仅是示例性的,并非是对本发明的范围的限制。除此以外,还可以通过其他适当的方式来从第二初始化隐变量的集合中选择至少一个第二初始化隐变量。

在步骤S342,从第二初始化隐变量的集合中去除选择的至少一个第二初始化隐变量。

在一个实施例中,假设第二初始化隐变量的集合中原有N个第二初始化隐变量,表示为Z1、Z2……、ZN,并且在步骤S341从第二初始化隐变量的集合中选择了一个第二初始化隐变量Z1,则在步骤S342将Z1从第二初始化隐变量的集合中去除。这样,第二初始化隐变量的集合中被更新为具有N-1个第二初始化隐变量,即Z2……、ZN

在另一个实施例中,假设在步骤S341从第二初始化隐变量的集合中选择了多个(例如j个)第二初始化隐变量Z1、……Zj,则在步骤S342将Z1、……Zj从第二初始化隐变量的集合中去除。这样,第二初始化隐变量的集合中被更新为具有N-j个第二初始化隐变量,即Zj+1……、ZN

在步骤S343,生成与目标初始化隐变量的集合中的目标初始化隐变量相对应的临时模型。

根据本发明的实施例,可以针对目标初始化隐变量的集合中的每个目标初始化隐变量,在训练样本集上进行学习,从而生成与每个目标初始化隐变量相对应的模型,在此称为“临时模型”。在一个实施例中,针对每个目标初始化隐变量,可以在训练样本集上进行监督或者无监督学习,来自动学习混合模型的模型参数、更新隐变量(或者更新的隐变量变分分布)以及模型结构,从而得到对应的临时模型。通过这种方式,可以生成与目标初始化隐变量的集合中的每个目标初始化隐变量相对应的临时模型。

在一个实施例中,上述训练过程可以是轻型训练(lightly train),也即,执行变分推理算法预设步数以学习出与目标初始化隐变量相对应的混合模型,无需执行变分推理算法直至其收敛。通过这种方式,可以提高运行速度,减少处理时间。应当理解,上述示例并不是对本发明的范围的限制,在本发明的替代实施例中,在上述训练过程中可以进行完全学习(fully train),也即执行变分推理算法直至其收敛以学出与目标初始化隐变量相对应的混合模型。

在步骤S344,利用目标初始化隐变量的集合中的目标初始化隐变量及其相对应的临时模型的性能来训练预定的统计模型。

在一个实施例中,在步骤S344首先需要确定与目标初始化隐变量相对应的临时模型的性能。在一个实施例中,可以针对目标初始化隐变量,在训练样本集上进行监督或者无监督学习,自动学习混合模型的模型参数、更新隐变量(或者更新的隐变量变分分布)以及模型结构,从而得到与目标初始化隐变量相对应的临时模型。然后,可以通过计算模型的精度、时效性等来得到临时模型的性能。以精度为例,对于预测/分类混合模型而言,可以在测试数据的预测/分类中使用临时模型的更新的隐变量变分分布、模型参数和模型结构,从而得到对应的预测/分类精度。对于聚类模型而言,可以计算临时模型的聚类精度,例如标准互信息等。

通过上述方式,所得到的与目标初始化隐变量相对应的临时模型的性能有可能具有一个或多个特征(例如精度、时效性等)。另外,就精度而言,其也可能具有多种形式,每种形式也可以构成性能的一个特征。在一个实施例中,当与目标初始化隐变量的集合中的第i个目标初始化隐变量相对应的临时模型的性能具有一个特征,例如仅为该临时模型的某一形式的精度时,可以利用目标初始化隐变量的集合中的目标初始化隐变量及其相对应的临时模型的性能来构造一个新的训练样本集中的一个样本。该样本例如可以通过(xi,yi)来表示,其中xi表示目标初始化隐变量的集合中的第i个目标初始化隐变量,yi表示与第i个目标初始化隐变量相对应的临时模型的性能(例如某一形式的精度)。

在另一个实施例中,当与目标初始化隐变量的集合中的第j个目标初始化隐变量相对应的临时模型的性能具有多个(例如m个)特征,例如多种形式的精度和/或多种形式的时效性时,可以构造新的训练样本集中的多个样本。该多个样本例如可以通过(xj,yjp)来表示,其中xj表示第j个目标初始化隐变量,yip表示与第i个目标初始化隐变量相对应的临时模型的性能的第p个特征,其中p=1,2,...,m。

在构建好新的训练样本集之后,可以在该新的训练样本集上进行监督学习以训练预定的统计模型。预定的统计模型例如可以是用户预先设置的或者是系统要求的统计模型。预定的统计模型例如可以是高斯过程模型、student-t过程模型或者其他适当的统计模型。

应当理解上述实施例仅仅是示例性的,无意对本发明的范围进行限制。在本发明的其他实施例中,在构造新的训练样本集时,可以基于目标初始化隐变量的集合中的所有目标初始化隐变量来进行,也可以仅基于部分目标初始化隐变量来进行。

在步骤S345,利用经过训练的预定的统计模型来预测与第二初始化隐变量的集合中的第二初始化隐变量相对应的临时模型的性能。

在此步骤中,可以利用经过训练的预定统计模型来计算与第二初始化隐变量相对应的临时模型的性能的均值和方差。然后,可以根据 所计算的均值和方差来确定与第二初始化隐变量相对应的临时模型的性能预测值。

在一个实施例中,如果在步骤S344中得到的与目标初始化隐变量的集合中的第i个目标初始化隐变量相对应的临时模型的性能具有一个特征,对应的样本为(xi,yi),则在步骤S345中利用经过训练的预定统计模型可以计算该临时模型的性能的一个均值(例如表示为meani)和一个方差(例如表示为variancei)。然后,可以基于该均值和方差来得到一个性能预测值。例如,可以如下计算:

Pi=meani+α*variancei (2)其中Pi表示与第i个目标初始化隐变量相对应的性能预测值;α表示加权因子,其例如可以被用户根据需要进行设定或者预定为某个固定值。

在另一个实施例中,如果在步骤S344中得到的临时模型的性能具有多个特征,对应的样本为(xj,yjp),则在步骤S345中利用经过训练的预定统计模型可以计算该临时模型的性能的多个均值(例如meanjp)和多个方差(例如variancejp)。然后,可以基于这些均值和方差来得到一个性能预测值。例如,可以如下计算:

<mrow> <msub> <mi>P</mi> <mi>j</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mi>m</mi> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>p</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <mrow> <mo>(</mo> <msub> <mi>mean</mi> <mi>jp</mi> </msub> <mo>+</mo> <mi>&alpha;</mi> <mo>&CenterDot;</mo> <mi>var</mi> <mn> </mn> <msub> <mi>iance</mi> <mi>jp</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

其中Pj表示与第j个目标初始化隐变量相对应的性能预测值;α表示加权因子,其例如可以被用户根据需要进行设定或者预定为某个固定值。

应当理解,在本发明的实施例中,性能预测值可以通过多种其他适当的方式来得到。以上实施例仅仅是为了便于讨论之目的,无意对本发明的范围进行限制。

在步骤S346,按照所预测的性能,选择第二初始化隐变量的集合中的至少一个第二初始化隐变量来更新目标初始化隐变量的集合。

在一个实施例中,可以将第二初始化隐变量的集合中的与所预测的最优性能相对应的第二初始化隐变量确定为目标初始化隐变量的 集合中的一个目标初始化隐变量。然后,可以从第二初始化隐变量的集合中去除与所预测的最优性能相对应的第二初始化隐变量,从而可以更新第二初始化隐变量的集合。在一种实现方式中,可以基于所确定的性能对第二初始化隐变量的集合中的第二初始化隐变量进行排序。例如,可以按照性能预测值从高到低的顺序对第二初始化隐变量进行排序。由此,可以选择与最优性能(即,性能预测值最大的性能)相对应一个第二初始化隐变量。在这种情况下,在步骤S346可以将选出的一个第二初始化隐变量加入到目标初始化隐变量的集合中,从而完成对目标初始化隐变量的集合的更新。

作为备选方案,在一个实施例中,可以选择与排序靠前的两个或两个以上性能相关联的第二初始化隐变量。在这种情况下,在步骤S346可以将选出的两个或两个以上第二初始化隐变量加入到目标初始化隐变量的集合中,从而完成对目标初始化隐变量的集合的更新。

在步骤S347,确定目标初始化隐变量的数目是否达到预定阈值。

在一个实施例中,可以对于目标初始化隐变量的集合中的元素数目设定一个预定阈值,该预定阈值可以是本领域技术人员根据经验或者偏好设置的,也以是系统固定设置的。如果确定目标初始化隐变量的集合中的目标初始化隐变量的数目未达到该预定阈值,则可以迭代地执行步骤S343至S346,以确定的新的目标初始化隐变量。如果确定目标初始化隐变量的集合中的目标初始化隐变量的数目达到该预定阈值,则可以停止迭代;然后,可以通过训练目标初始化隐变量来生成中间模型,并基于中间模型的性能来确定目标模型。

图4示出了根据本发明实施例的用于混合模型选择的方法的一个图形化表示400的示意图。图4示出的混合模型选择过程与图1的步骤S110-S130相对应。如图4所示,首先,可以基于训练样本集确定候选模型。然后,可以基于该候选模型的第一初始化隐变量和更新隐变量中的至少一个,生成第二初始化隐变量的集合。该第二初始化隐变量的集合可以包括一个或多个第二初始化隐变量,其被分别表示为Z1,Z2,…,Zk1,其中Z表示第二初始化隐变量,k1表示所得到的第二 初始化隐变量的个数。接下来,可以基于该第二初始化隐变量的集合来确定目标模型。如图4所示,可以通过训练多个第二初始化隐变量Z1,Z2,…,Zk1来生成多个中间模型,即中间模型1、中间模型2、……中间模型k1,然后可以基于这k1个中间模型的性能来选择其中之一来作为目标模型。

应当理解,图4所示的图仅仅是示例性的,无意以任何方式限制本发明的范围。根据本发明的实施例,并不一定要从与第二初始化隐变量Z1,Z2,…,Zk1相对应的中间模型1、中间模型2、……中间模型k1来得到目标模型。例如,在一个备选实施例中,可以利用预定的统计模型,基于第二初始化隐变量Z1,Z2,…,Zk1来确定目标初始化隐变量的集合,然后可以基于该目标初始化隐变量的集合来确定目标模型。应当理解,上述实施例仅仅是示例性的,并不是对本发明的范围的限制。在本发明的范围内,本领域技术人员可以对本发明的实施例进行各种变形。

图5示出了根据本发明实施例的用于混合模型选择的装置500的示意性框图。如图所示,装置500包括:候选模型确定单元510,被配置为基于训练样本集来确定候选模型;生成单元520,被配置为基于候选模型的第一初始化隐变量和更新隐变量中的至少一个,生成第二初始化隐变量的集合,其中候选模型根据第一初始化隐变量而生成,并且更新隐变量表示候选模型输出的样本分组结果;以及目标模型确定单元530,被配置为基于第二初始化隐变量的集合来确定目标模型。

在一个实施例中,候选模型确定单元510可以包括:第一初始化隐变量确定单元,被配置为基于训练样本集来确定第一初始化隐变量;以及第一候选模型生成单元,被配置为根据第一初始化隐变量生成候选模型。

在一个实施例中,候选模型确定单元510可以包括:第一初始化隐变量确定单元,被配置为基于训练样本集来确定多个第一初始化隐变量;初始模型确定单元,被配置为基于多个第一初始化隐变量生成多个初始模型;以及第二候选模型生成单元,被配置为根据多个初始 模型的性能,选择多个初始模型中的至少一个作为候选模型。

在一个实施例中,生成单元520可以包括:第三隐变量确定单元,被配置为基于候选模型的第一初始化隐变量,生成第三初始化隐变量的集合;第四隐变量确定单元,被配置为基于候选模型的更新隐变量,生成第四初始化隐变量的集合;以及第二隐变量确定单元,被配置为基于第三初始化隐变量的集合和第四初始化隐变量的集合,确定第二初始化隐变量的集合。

在一个实施例中,生成单元520的第三隐变量确定单元可以包括:第三隐变量生成单元,被配置为通过对候选模型的第一初始化隐变量以及参考隐变量进行加权求和,生成第三初始化隐变量的集合中的第三初始化隐变量。

在一个实施例中,生成单元520的第四隐变量确定单元可以包括:第一选择单元,被配置为从候选模型的更新隐变量中的多个样本组中选择一个样本组;分组单元,被配置为将所选择的样本组分为多个子组;并且第四隐变量确定单元可以被进一步配置为基于多个子组确定第四初始化隐变量的集合中的第四初始化隐变量。

在一个实施例中,生成单元520的第四隐变量确定单元的第一选择单元可以包括:样本数目确定单元,被配置为确定多个样本组中的每个样本组的样本数目;以及样本组选择单元,被配置为从多个样本组中选择样本数目最大的一个样本组。

在一个实施例中,目标模型确定单元530可以包括:中间模型生成单元,被配置为通过训练第二初始化隐变量的集合中的每个第二初始化隐变量来生成中间模型;以及目标模型生成单元,被配置为基于中间模型的性能来确定目标模型。

在一个实施例中,目标模型确定单元530可以包括:目标初始化隐变量确定单元,被配置为利用预定的统计模型,基于第二初始化隐变量的集合来确定目标初始化隐变量的集合;中间模型生成单元,被配置为通过训练目标初始化隐变量的集合中的每个目标初始化隐变量来生成中间模型;以及目标模型生成单元,被配置为基于中间模型 的性能来确定目标模型。

在一个实施例中,目标模型确定单元530的目标初始化隐变量确定单元可以包括:初始化单元,被配置为根据第二初始化隐变量的集合对目标初始化隐变量的集合进行初始化;统计模型训练单元,被配置为利用目标初始化隐变量的集合中的目标初始化隐变量以及与目标初始化隐变量相对应的临时模型的性能来训练预定的统计模型;以及第一更新单元,被配置为基于经过训练的预定的统计模型从第二初始化隐变量的集合中选择第二初始化隐变量,以更新目标初始化隐变量的集合。

在一个实施例中,目标模型确定单元530的目标初始化隐变量确定单元的初始化单元可以包括:第二选择单元,被配置为从第二初始化隐变量的集合中选择至少一个第二初始化隐变量,作为目标初始化隐变量的集合中的目标初始化隐变量。

在一个实施例中,目标模型确定单元530的目标初始化隐变量确定单元的第一更新单元可以包括:性能预测单元,被配置为利用经过训练的预定的统计模型来预测与第二初始化隐变量的集合中的第二初始化隐变量相对应的临时模型的性能;以及第二更新单元,被配置为按照所预测的性能,选择第二初始化隐变量的集合中的至少一个第二初始化隐变量来更新目标初始化隐变量的集合。

在一个实施例中,性能预测单元可以包括:第一计算单元,被配置为利用经过训练的预定统计模型来计算与第二初始化隐变量相对应的临时模型的性能的均值和方差;以及第二计算单元,被配置为根据均值和方差来确定与第二初始化隐变量相对应的临时模型的性能预测值。

在一个实施例中,第二更新单元可以包括:目标初始化隐变量获取单元,被配置为将第二初始化隐变量的集合中的与所预测的最优性能相对应的第二初始化隐变量确定为目标初始化隐变量的集合中的一个目标初始化隐变量;以及第二初始化隐变量更新单元,被配置为从第二初始化隐变量的集合中去除与所预测的最优性能相对应的第 二初始化隐变量。

为清晰起见,在图5中没有示出装置500包含的可选单元以及各个单元所包含的子单元。应当理解,装置500可以利用各种方式实现。例如,在某些实施例中,装置500可以利用软件和/或固件来实现。例如,装置500可以被实现为包含在计算机可读介质上的计算机程序产品,其中的每个单元是通过计算机指令来实现其功能的程序模块。备选地或附加地,装置500可以部分地或者完全地基于硬件来实现。例如,装置500可被实现为集成电路(IC)芯片、专用集成电路(ASIC)或者片上系统(SOC)。现在已知或者将来开发的其他方式也是可行的,本发明的范围在此方面不受限制。

图6示出了适于用来实现本发明实施例的示例性计算机系统600的示意性框图。如图所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储单元608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有CPU 601执行各种处理等所需的数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)单元605也连接至总线604。

以下部件连接至I/O接口605:包括键盘、鼠标等的输入单元606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出单元607;包括硬盘等的存储单元608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信单元609。通信单元609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可移动介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动610上,以便于从其上读出的计算机程序根据需要被安装入存储单元608。

特别地,根据本发明的实施例,上文描述的各个过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行各方法的程序代码。在这样的实施例中,该计算机程序 可以通过通信单元609从网络上被下载和安装,和/或从可移动介质611被安装。

一般而言,本发明的各种示例实施例可以在硬件或专用电路、软件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本发明的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。

而且,流程图中的各框可以被看作是方法步骤,和/或计算机程序代码的操作生成的操作,和/或理解为执行相关功能的多个耦合的逻辑电路元件。例如,本发明的实施例包括计算机程序产品,该计算机程序产品包括有形地实现在机器可读介质上的计算机程序,该计算机程序包含被配置为实现上文描述方法的程序代码。

在本公开的上下文中,机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。

用于实现本发明的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或 完全在远程计算机或服务器上执行。

另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明的特定实施例的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例或在任意合适的子组合中实施。

针对前述本发明的示例实施例的各种修改、改变将在连同附图查看前述描述时对相关技术领域的技术人员变得明显。任何及所有修改将仍落入非限制的和本发明的示例实施例范围。此外,前述说明书和附图存在启发的益处,涉及本发明的这些实施例的技术领域的技术人员将会想到此处阐明的本发明的其他实施例。

将会理解,本发明的实施例不限于公开的特定实施例,并且修改和其他实施例都应包含于所附的权利要求范围内。尽管此处使用了特定的术语,但是它们仅在通用和描述的意义上使用,而并不用于限制目的。

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