一种在高斯混合模型数据学习中避免浮点溢出的方法与流程

文档序号:13446967阅读:590来源:国知局

本发明属于数据处理方法,涉及一种在高斯混合模型数据学习中避免浮点溢出的方法。



背景技术:

高斯混合模型(gaussianmixturemodel)是一个重要而常用的聚类、概率密度拟合方法。在使用高斯混合模型对数据进行建模训练学习的过程中,如果数据数值分布差异的绝对范围极小(这并不意味着数据靠近某常数值发生微小扰动,而有可能是数据本身绝对值都很小,这时候它们的扰动幅度绝对值也较小,而相对数据本体来说扰动较大)、数据又是高维度矢量,很容易造成正态分布概率密度值的溢出。这里的溢出是指在计算机程序中使用常规的双精度double格式数据的溢出,这是浮点数溢出。

高斯混合模型的训练学习依赖于期望最大算法(em),具体做法如下:

对d维矢量数据计算后验概率其中j标记为期望最大算法的第j次迭代;表示高斯混合模型的第i支高斯分布;而为第i支高斯分布的均值向量和协方差矩阵;表示第i支高斯分布的权重,n表示分支总数。在第j+1次迭代时,作更新

此处n表示参与学习的数据数目总数。

每支高斯分布的表示式有关概率密度值在计算时溢出主要体现在这些方面,由于是有界量,所以主要与有关。在假定协方差阵为对角阵时(σk为对角线上元素),当原始数据的变动的绝对范围很小,主要体现在每一个维度上的σk都很小,如前所述,这并不意味着数据都极其近似于某个常数那样简单,而有可能是数据本身的绝对值就极小。当数据又是高维度矢量时,|σ|是极小的,它在分母上导致这个量非常大,从而溢出。此外,当溢出时进一步影响后验概率的计算。为了解决这个问题,常规的思路是对σk数据进行线性放大即乘以一个倍数,但这是治标不治本的,无法适应实际数据的变化的丰富性。



技术实现要素:

为了克服已有高斯混合模型对数据进行建模训练学习中无法避免浮点数溢出的不足,本发明提供了一种有效避免浮点溢出的在高斯混合模型数据学习中避免浮点溢出的方法,采用一个自适应的方法对数据进行自动缩放,但又不影响计算的结果。

本发明解决其技术问题所采用的技术方案是:

一种在高斯混合模型数据学习中避免浮点溢出的方法,对作免溢出计算、并作自动缩放,表示高斯混合模型的第i支高斯分布,为d维矢量数据,为第j次迭代时第i支高斯分布的均值向量和协方差矩阵,首先简化该式子为其中,σik为对应于第i支的高斯分布的第k维分量对应的方差,e表示自然常数,n表示高斯混合模型的部件支数,为参与训练学习的数据样本;

所述方法包括以下步骤:

1)计算对数形式的概率密度值

2)对n支算出的密度值中取最大值对应的标号imax;

3)计算缩放的概率密度值:

其中,σkimax表示n支高斯分布里取到概率密度值最大的那一支高斯分布的第k维分量的方差,表示第j次迭代时n支高斯分布里取到概率密度值最大的那一支高斯分布的均值向量;

4)转成指数形式

5)计算这一组概率密度值决定的后验概率值其中,表示第j次迭代时第i支高斯分布的概率权重,表示第j次迭代时第s支高斯分布的概率权重,ps'表示第s支高斯分布计算的缩放的概率密度值的指数形式;

以上诸pi'值是有界的,不再溢出;但又不影响到值。

本发明的有益效果主要表现在:在使用期望最大算法进行高斯混合模型的数据学习和训练时,能够避免任意一个数据在任意一支高斯分布的概率计算的溢出。

附图说明

图1是一种在高斯混合模型数据学习中避免浮点溢出的方法的流程图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1,一种在高斯混合模型数据学习中避免浮点溢出的方法,对作免溢出计算、并作自动缩放,表示高斯混合模型的第i支高斯分布,为d维矢量数据,为第j次迭代时第i支高斯分布的均值向量和协方差矩阵,首先简化该式子为其中,σik为对应于第i支的高斯分布的第k维分量对应的方差,e表示自然常数,n表示高斯混合模型的部件支数,为参与训练学习的数据样本;

所述方法包括以下步骤:

1)计算对数形式的概率密度值

2)对n支算出的密度值中取最大值对应的标号imax;

3)计算缩放的概率密度值:

其中,σkimax表示n支高斯分布里取到概率密度值最大的那一支高斯分布的第k维分量的方差,表示第j次迭代时n支高斯分布里取到概率密度值最大的那一支高斯分布的均值向量;

4)转成指数形式

5)计算这一组概率密度值决定的后验概率值其中,表示第j次迭代时第i支高斯分布的概率权重,表示第j次迭代时第s支高斯分布的概率权重,ps'表示第s支高斯分布计算的缩放的概率密度值的指数形式;

以上诸pi'值是有界的,不再溢出;但又不影响到值。

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