规范协方差矩阵要求相对较大的值

时间:2018-03-14 16:09:21

标签: python tensorflow

我正在使用Tensorflow中的高斯混合模型,并且由于非正定的协方差矩阵而遇到Cholesky分解失败的问题。我的数据是多个mfcc帧,但我只使用np.random.rand(10000, 16)得到类似的失败。

Tensorflow有一个步骤:

# Small value to guarantee that covariances are invertible.
self._min_var = array_ops.diag(
    array_ops.ones(array_ops.stack([self._dimensions]))) * 1e-3
# ...
cholesky = linalg_ops.cholesky(self._covs + self._min_var)

但是,值1e-3不足以稳定矩阵。 1e1和更高的值确实可以稳定矩阵,但它们会使结果偏差,以至于优化程序在单步后退出。

所以,我的问题:这与我的数据有什么问题,是否有可能规范化我的数据,以便1e-3的值足以创建一个正定矩阵?

0 个答案:

没有答案