如何使用 org.openimaj.ml.gmm 构建扬声器模型。

Posted

技术标签:

【中文标题】如何使用 org.openimaj.ml.gmm 构建扬声器模型。【英文标题】:How to use org.openimaj.ml.gmm to construct speaker models. 【发布时间】:2015-06-02 15:49:17 【问题描述】:

我想知道如何使用 OpenIMaj 库获得 GMM 扬声器模型。 org.openimaj.ml.gmm.GaussianMixtureModelEM。我试过关注

GaussianMixtureModelEM gmm = new GaussianMixtureModelEM
         (DEFAULT_NUMBER_COMPONENTS,GaussianMixtureModelEM.CovarianceType.Diagonal);

MixtureOfGaussians mixture =  gmm.estimate(data);
boolean convergerd  = gmm.hasConverged();

我得到 true GaussianMixtureModelEM 已经收敛,我不知道该去哪里。任何帮助指导将不胜感激。

【问题讨论】:

您能解释一下您希望实现的目标吗?执行 GMMEM 后,通常会使用生成的 MixtureOfGaussian 模型来计算概率或抽取样本。 我有 935 个点,每个点的维度为 20,我使用了 256 个组件。 gmm.estimate(data) 返回我 256 个高斯和 256 个权重向量,其中每个高斯具有均值和方差(均为 20 维),接下来正如您提到的,我可以计算概率或者我可以从高斯分布中抽取样本。如何获得单个 logLikelyhood 值?我应该计算空间中给定点相对于由高斯混合表示的 PDF 的概率并将它们相加吗? 【参考方案1】:

鉴于您的评论,mixture.estimateLogProbability(point) 应该做您想做的事(请参阅http://www.openimaj.org/apidocs/org/openimaj/math/statistics/distribution/MixtureOfGaussians.html#estimateLogProbability(double[]))。

【讨论】:

谢谢乔恩,我想通了。乔恩,如果我没记错的话,你是 Openimaj 的作者之一。我一直在寻找 GMM 和其他相关的来源,如果你能在我无法获得来源的地方指导我。 您好,将 double log[] prob = mix.estimateLogProbability(point) 转换为通过 logProb 的指数得到实际概率是否安全。 代码在这里:github.com/openimaj/openimaj/blob/master/machine-learning/… 是的,要估计实际概率,使用指数是安全的。 到目前为止一切顺利。经典的高斯混合效果很好。关于如何将 GMM-EM 扩展到 GMM-EM MAP 培训的任何建议?这样它也可以用于通用背景建模?

以上是关于如何使用 org.openimaj.ml.gmm 构建扬声器模型。的主要内容,如果未能解决你的问题,请参考以下文章

如果加入条件,我该如何解决。如果使用字符串连接,我如何使用

如何使用本机反应创建登录以及如何验证会话

如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]

如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?

如何使用laravel保存所有行数据每个行名或相等

如何使用 Math.Net 连接矩阵。如何使用 Math.Net 调用特定的行或列?