问题标签 [gmm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 高斯混合模型如何修复组件
我gaussian mixture model
在sklearn
(python)中使用。图像已安装在 上gaussian mixture model
。然后,它将被聚类。(ex. component = 3, so some area is 0, and others 1, 2) 树区域为 0,天空区域为 1。但是,我再次执行,树区域为 1。我不明白为什么改变了吗?有没有办法修复集群?
这里有一些代码。
pyspark - 仅给出一个集群的高斯混合模型 (GMM)
我有一个包含 70 列和 440 万行的数据集。我想对其进行聚类。我先做了 TF-IDF,然后我使用了 K-means、二等分 k-means 和高斯混合模型 (GMM) 的聚类。虽然其他技术给了我指定数量的集群,但 GMM 只给出了一个集群。例如,在下面的代码中,我想要 20 个集群,但它只返回 1 个集群。发生这种情况是因为我有很多列还是仅仅是由于数据的性质造成的?
gaussian - 来自 mfcc 特征的高斯混合模型
我正在尝试使用扬声器音频样本的 MFCC 功能创建 GMM 扬声器模型。对于特定的扬声器,我有 18 维 MFCC 特征。
要在 Java 中创建 GMM 模型,我有这个 GaussianMixture.java 类,它需要:
- 双[] 组件权重
- 矩阵[] 表示
- Matrix[] 协方差
你可以参考这里的课程GaussianMixture.java
我无法理解的是如何提供我提取的 MFCC 数据的均值和协方差。
我必须为means
18 个维度中的每一个进行计算吗?如果是这样,那会是componentWeights
什么?
如果我在某处不清楚,请纠正。谢谢。
matlab - 使用 5 个组件的 gmdistribution 在 100 次迭代中无法收敛
我正在通过 MATLAB 中的 GMM 进行聚类。警告是“无法在 100 次迭代中收敛 10 个组件的 gmdistribution” 我该怎么办?
python-3.x - 在kotlin中使用python的模型
我想创建使用 GMM 模型的 android 应用程序。我已经在 python 上对其进行了训练,所以我想知道是否可以使用我已经在 kotlin 中训练的模型。
python - 高效的高斯混合评估
(n,d)
在给定 GMM 参数($\pi_k、\mu_k、\Sigma_k$)的情况下,我想(有效地)在数据点列表上评估高斯混合模型(GMM )。我找不到使用标准sklearn
或scipy
软件包的方法。
编辑:假设有n
数据点,维度d
so (n,d)
,并且 GMM 有k
分量,因此例如第 k 个分量的协方差矩阵 \Sigma_k 是(d,d)
,并且总共 \Sigma 是(k,d,d)
。
例如,如果您首先在 sklearn 中拟合score_samples
GMM,则可以调用,但这仅在我拟合数据时才有效。或者,您可以对每组参数scipy
运行一个 for 循环,并进行加权和/点积,但这很慢。multivariate_normal.pdf
检查任何一个的源代码都没有启发(对我来说)。
我目前正在用 nd 数组和张量点积来破解一些东西.. oy .. 希望有人有更好的方法?
python - 如何在python中实现适用于N维特征向量的GMM聚类EM算法(期望最大化算法)
我正在尝试为 24 维特征向量和 32 维特征向量实现 GMM 聚类,其中初始参数的分配由 Kmeans algorightm 完成(K 均值聚类仅提供聚类中心 - MU)。我正在关注这个链接,它仅针对 2D 特征向量和预定义的 Mu 和 sigma 实现。
如果有人有 GMM 聚类的代码,请发布。
sklearn 中也有 GMM 的预定义库,但它并没有给我每次迭代的可能性。sklearn GMM
python - Tensorflow MixtureSameFamily 和高斯混合模型
我对 Tensorflow 以及高斯混合模型真的很陌生。
我最近使用 tensorflow.contrib.distribution.MixtureSameFamily 类来预测概率密度函数,该函数源自 4 个分量的高斯混合。
当我使用 Tensorflow 教程解释的“prob()”函数绘制预测密度函数时,我发现绘制的 pdf 只有一种模式。我希望看到 4 种模式,因为混合成分是 4。
我想问一下 Tensorflow 是否在他们的 MixtureSameFamily 类中使用了任何全局模式预测算法。如果没有,我还想知道 MixtureSameFamily 类如何用统计值形成 pdf。
非常感谢。
machine-learning - 用于语言识别的 GMM 和 MFCC
我是机器学习领域的新手。目前,我正在尝试实现一个音频语言检测系统,它基于任何音频文件的 MFCC、delta、delta delta 和 Mel Spectrum Coefficients。这些特征是使用 librosa 提取的。Librosa 返回 MFCC 的二维矩阵。问题是我想在高斯混合模型上训练它们。Sci-kit 库以 格式接受输入(n_samples, n_features)
,但我有一个(n_samples, n_mfcc, n_time)
由librosa.features.mfcc()
. 如何向 GMM 提供 3D 输入?
还有一种方法可以将上面提到的所有 4 个功能发送到模型中吗?
python - 使用 GMM 获得的不同结果
我想使用 GMM 对经典的鸢尾花数据集进行聚类。我从以下位置获取数据集:
https://gist.github.com/netj/8836201
到目前为止,我的程序如下:
我遇到的问题是当我尝试获取巧合数 y_predict=y_train 时,因为每次运行程序都会得到不同的结果。例如:
第一次运行:
第二次运行:
第三轮:
因此,正如您所见,每次运行的结果都不同。我在互联网上找到了一些代码:
https://scikit-learn.org/0.16/auto_examples/mixture/plot_gmm_classifier.html
但他们在完全协方差的情况下,训练集的准确度约为 82%。在这种情况下我做错了什么?
谢谢
更新:我发现在互联网示例中使用 GMM 而不是新的 GaussianMixture。我还发现,在示例中,GMM 参数以监督方式初始化:classifier.means_ = np.array([X_train[y_train == i].mean(axis=0) for i in xrange(n_classes)])
我已将修改后的代码放在上面,但每次运行它时它仍然会更改结果,但是使用库 GMM 不会发生这种情况。