问题标签 [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.

0 投票
1 回答
81 浏览

matlab - 安装 GMM 后如何对集群数据进行颜色标记?

我正在尝试在 GMM 之后对集群数据进行一些标记,但还没有找到方法。

让我解释:

我有一些 x,y 数据对到 X=30000x2 数组中。实际上,该数组包含来自不同来源(已知)的数据,并且每个来源具有相同数量的数据(因此来源 1 有 500 (x,y),来源 2 500 (x,y) 等等,它们都是附加到上面的 X 数组中)。

我已经在 X 上安装了 GMM。聚类结果很好并且符合预期,但是现在数据已经聚类,我希望能够根据它们的初始来源对它们进行颜色编码。

所以假设我想用黑色显示集群 2 中源 1 的数据点。

那可能吗?

示例: 在原始数组中,我们有三个数据源。来源 1 是来自 1-10000、来源 2 10001-20000 和来源 3 20001-30000 的数据。

在 GMM 拟合和聚类之后,我按照图 1 对数据进行了聚类,并且得到了两个聚类。所有这些中的红色都无关紧要。

我想根据它们的索引和原始数组 XEg 修改集群 2 中数据点的颜色,如果数据点属于集群 2(clusteridx=2),那么我想检查它属于哪个源然后着色它并相应地标记它。这样您就可以分辨出集群 2 中的数据点来自哪个来源,如第二张图所示。

原始集群

在此处输入图像描述

所需的标签

在此处输入图像描述

0 投票
2 回答
4013 浏览

python - 如何使用 sklearn 制作一维高斯混合的直方图?

我想做一个混合一维高斯的直方图作为图片。

在此处输入图像描述

谢谢孟的照片。

我的直方图是这样的:

在此处输入图像描述

我有一列中有很多数据(4,000,000 个数字)的文件:

而且我使用的脚本比孟和正义勋爵所做的修改要多:

当我运行脚本时,我有以下情节:

在此处输入图像描述

所以,我不知道如何放置所有必须存在的高斯的开始和结束。我是 python 新手,我对使用模块的方式感到困惑。拜托,你能帮助我并指导我如何做这个情节吗?

非常感谢

0 投票
1 回答
286 浏览

cluster-computing - 如何对具有多个属性的数据集使用 DBSCAN 聚类算法?

我正在做一个使用数据集的项目 - https://www.kaggle.com/aljarah/xAPI-Edu-Data 。我想根据数据集的各种属性(例如举手、访问的资源、查看的公告等)对学生进行聚类(每个学生表示为索引)。请建议我如何使用 DBSCAN 实现这一点,如果没有,请提出一些技术通过它我可以做到。我是这个数据科学领域的新手。

谢谢

我尝试学习 gmm 和 dbscan。

我想对数据集进行聚类。

0 投票
0 回答
30 浏览

r - 在同一条曲线中绘制不同的混合模型簇

我有两组数据,一组代表具有 4 个变量和 11,000 个点的健康数据集,另一组代表具有 4 个变量和 600 个点的故障集。我已经使用 R 的包 MClust 分别为每个数据集获取 GMM 聚类。我想要做的是在同一帧中获得两个簇,以便同时研究它们。怎么可能呢?

我已经尝试加入这两个数据集,但我得到的结果不是我想要的。

使用的代码是:

Dat3 是我存储数据集的地方,Dat4M 是我存储 Mclust 结果的地方。G = 3 是我想要的高斯混合数,在本例中为 3。为了绘制结果,使用以下代码:

当我在我的健康数据集中应用上述代码时获得以下内容:

健康数据 G = 3 的密度曲线

在故障数据集上使用上述代码时得到以下结果:

错误数据的密度曲线 G = 3

请注意,在故障数据密度曲线中,考虑 CCD 和 CCA 的混合,我们看到已经获得了两个密度点。现在,我想将相同的内容放在健康数据的同一块中并研究差异。

任何有关如何执行此操作的帮助将不胜感激。

0 投票
1 回答
4109 浏览

audio - Google 的 WebRTC VAD 算法(尤其是“侵略性”)

我知道 Google 的 WebRTC VAD 算法使用的是高斯混合模型 (GMM),但我的数学知识很薄弱,所以我不太明白这意味着什么。说它是一种基于统计的机器学习模型是否正确,对于 VAD 来说,它是经过训练可以识别语音与噪声的模型吗?

我正在写一篇论文,并且我创建了一个脚本,该脚本利用 API 来区分声音和噪音。它有效,但我需要在我的论文中从一个非常基本的层面解释它用于做出决定的机制。

最紧迫的是,我需要在某种程度上知道“积极性”设置对算法的作用。它真的只是规定了一个置信度阈值吗?它有任何声学影响吗?


更新:

我的超基本理解是:谷歌可能在一堆预先标记的“噪音”和“语音”上训练他们的模型,并存储每个的特征;然后它会获取一个未知样本,看看它更像是噪声数据还是语音数据。我不知道测量的特征是什么,但我假设至少测量了音高和幅度。

它使用 GMM 来计算它属于一个群体或另一个群体的概率。

进取心可能会设置它用于做出决定的阈值,但我并不完全知道这部分是如何工作的。

相关代码在这里:https ://chromium.googlesource.com/external/webrtc/+/refs/heads/master/common_audio/vad/vad_core.c

“aggressiveness”设置决定了以下常数(我显示模式 0 和 3 进行比较):

我不太明白悬垂和本地/全局阈值是如何发挥作用的。这些是严格的统计参数吗?

0 投票
0 回答
163 浏览

python - 使用 sidekit 进行扬声器适配时出错

sidekit当我遇到以下错误时,我正在尝试使用 UBM 的扬声器适配。

例外:showenroll/something.wav 不在 HDF5 文件中

我在文件“feat”下得到了两个文件“enroll”和“test”,分别包含用于训练和测试的特征(.h5),而我enroll_idmap的音频(.wav)仅用于训练。

上面的错误是在执行过程中出现的enroll_stat.accumulate_stat(…)

谁能告诉我这个错误是什么意思以及如何解决它?

0 投票
1 回答
379 浏览

python - 高斯混合模型_Scikit Learn_如何拟合单D数据?

我已经开始在 Sklearn 库中使用 GMM。我有如下的一维数据

我想使用sklearn GaussainMixture函数来适应 4 高斯混合。所以我尝试了

问题

当我运行上面的代码时,我收到一个错误

如果您的数据具有单个特征,则使用 array.reshape(-1, 1) 重塑您的数据,如果它包含单个样本,则使用 array.reshape(1, -1) 。

我的追溯是

问题

我是否不能为一维数据拟合 GMM?我不确定我犯了什么错误,请澄清-

0 投票
2 回答
326 浏览

python-3.x - 用于像素聚类的高斯混合模型

我有一小组航拍图像,其中图像中可见的不同地形已由人类专家标记。例如,一幅图像可能包含植被、河流、落基山脉、农田等。每幅图像可能有一个或多个这些标记区域。使用这个小的标记数据集,我想为每种已知的地形类型拟合一个高斯混合模型。完成后,对于我可能在图像中遇到的每 N 种地形,我将拥有 N 个 GMM。

现在,给定一个新图像,我想通过将像素分配给最可能的 GMM 来确定每个像素属于哪个地形。这是正确的思路吗?如果是,我该如何使用 GMM 对图像进行聚类

0 投票
1 回答
784 浏览

pyspark - Spark / PySpark - GMM 聚类返回完美等概率且只有 1 个聚类

我尝试在给定的 DataFrame 上应用 GMM 聚类算法(如https://spark.apache.org/docs/latest/ml-clustering.html),如下所示:

身份证 | 特征

33.0 | [0.0,1.0,27043.0,....]

pyspark.sql.dataframe.DataFrame

pyspark.sql.dataframe.DataFrame

|-- id: double (可为空 = true)

|-- 特征:向量(可为空=真)

然后我尝试了以下代码来创建集群:

这可以正常工作,没有任何错误或麻烦,但算法最终为所有集群返回相同的均值和协方差,并将每一行/ID 分配给同一个集群 0(对于任何集群,概率始终为 0.2([0.2,0.2,0,2,0.2 ,0.2]))。

你知道为什么它会给我这样的结果吗?

注意:数据不是造成这种“坏”聚类的原因:在使用 Scikit-learn 和 PySpark 尝试过 Kmeans 后,我得到了使用 Scikit-learn 的“现实”聚类。

预先感谢您的帮助。

此致

0 投票
3 回答
407 浏览

cluster-analysis - 哪种算法以及哪种超参数组合最适合对这些数据进行聚类?

我正在学习非线性聚类算法,我遇到了这个二维图。我想知道哪种聚类算法和超参数组合可以很好地聚类这些数据。

阴谋

就像人类会聚集这 5 个尖峰一样。我希望我的算法能够做到这一点。我尝试了 KMeans,但它只是水平或垂直聚类。我开始使用 GMM,但无法获得适合所需聚类的超参数。