问题标签 [mixture-model]

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 回答
1362 浏览

python - 如何使用 PYMC 编写多元法线的分层混合模型

我使用 PyMC 成功实现了 3 个法线的混合(显示在https://drive.google.com/file/d/0Bwnmbh6ueWhqSkUtV1JFZDJwLWc,类似于如何在 PyMC 中模拟 3 个法线的混合?

我的下一步是尝试对多元法线的混合进行编码。

然而,数据还有一个额外的复杂性 - 一个层次结构,具有属于父观察的一组观察。聚类是在父观测值上完成的,而不是在单个观测值本身上完成的。第一步生成代码(60 个父母,每个父母有 50 个观察值),并且工作正常。

但是,当我尝试使用 PyMC 进行采样时,我遇到了介绍问题('错误:将 flib.prec_mvnorm 的第三个参数 'tau' 转换为 C/Fortran 数组失败')

我知道问题不在于模拟观察数据的格式,因为这一步可以正常工作,代替上述:

结果,我认为问题是如何输入平均向量('mean')和协方差矩阵('prec'),我只是不知道如何输入。就像我说的,这适用于正态分布的混合,但多元正态的混合增加了我无法弄清楚的复杂性。

0 投票
1 回答
157 浏览

r - 混合建模 - 来自 exp() 和 log() 的无限值的麻烦

我正在为具有球面协方差结构的高斯混合模型编写一个函数——即$\Sigma_k = \sigma_k^2 I$. 此特定功能类似于mclust具有标识符 VII 的包。

http://en.wikipedia.org/wiki/Mixture_model

无论如何,我遇到的问题是权重矩阵的值无穷大。定义:令W是一个nxm矩阵,其中 n = 1, ..., n (obs 的数量) 和 m = 1, ..., m (mixtues 的数量)。W 的每个元素(即 w_ij)本质上可以定义为以下的特定形式:

用数字计算这个给了我无限的价值。所以我正在尝试使用 log-identity log(x+y) = log(x) + log(1 + y/x)。但问题在于,它并不像log(x+y)而是log(\sum_i=1^m [a_i / b_i * exp(c_i)]).

这是一些代码定义:

  1. n_im = a / b * exp(c);
  2. d_.m = \sum_i=1^m [a_i / b_i * exp(c_i)]; 和
  3. c_mat[i,j]作为第 [i,j] 项的指数值。

    /li>

我试图尽可能简短地定义问题。整个函数显然比这大得多。但是,由于我遇到的问题是专门处理无限(和 1/infinity)值,我希望这个片段就足够了。有人在这里有编码技巧吗?

0 投票
1 回答
612 浏览

r - R中混合分布的模拟

我想模拟数据集,该数据集从 3 个 weibull 分布中具有递减然后增加的风险,但我想让这个风险函数更接近于零,我怎样才能得到大约 0.1 或更少。我怎样才能修复我的代码来拥有这个?

0 投票
1 回答
1574 浏览

python - 如何在 Python 中使用其参数构造和绘制单变量高斯混合

我想在 Python 中构造和 1D 绘制一个单变量高斯混合,其中包含三个分量,其中我已经有了它的参数,包括 mu、sigma、mix 系数。

我所追求的在 MATLAB 中有一个等价物,即 gmdistribution(mu,sigma,p)

我认为代码应该是这样的:

想知道怎么做...

干杯

0 投票
1 回答
491 浏览

python - python中的对数正态混合

我正在尝试将 3 个正态分布的混合拟合到我的转换数据日志中,但我有点困惑如何去做。我尝试了 scikit learn python 中的 gmm 函数,但它似乎无法正常工作。

最后我想得到一个 3 个分量的 pdf 图,即 f=f1+f2+f3。但是它不起作用。

是因为我试图将法线混合到对数正态数据中吗?

您能否解释我的错误和/或就用于拟合对数正态混合的软件包提供建议?

0 投票
2 回答
3834 浏览

r - 关于如何使用 ggplot2 绘制 mixEM 类型数据的任何建议

我有一个从我的原始数据中获得的 100 万条记录的样本。(供您参考,您可以使用可能产生近似相似分布的虚拟数据

) 我认为直方图是两个对数正态分布的混合,我尝试使用以下代码使用 EM 算法拟合求和分布:

第一个图是对数似然图,第二个图(如果再次点击返回)给出类似于以下密度曲线:

混合模型密度曲线

正如我提到的,c1 是 mixEM[] 类型,而 plot() 函数可以适应这种情况。我想用颜色填充密度曲线。使用 ggplot2() 很容易做到这一点,但 ggplot2() 不支持 mixEM[] 类型的数据并抛出此消息:

ggplot 不知道如何处理 mixEM 类的数据

有没有其他方法可以解决这个问题?

0 投票
1 回答
1129 浏览

matlab - 高斯混合模型一维数据

我已经将我的一维数据(1000*1 矩阵)建模为 3 个高斯,使用

我怎样才能绘制这样的东西?

它显示了给定点属于每个类的概率。

在此处输入图像描述

0 投票
1 回答
654 浏览

matlab - MATLAB中高斯混合模型的均值和中值计算

如何计算具有三个组件的高斯混合模型的平均值和中值,例如 MATLAB 中的以下参数:

先验[0.4,0.25,0.34]

中心 [0.44;0.74;0.05]

协方差 [0.03,0.18,0.03]

谢谢

0 投票
1 回答
563 浏览

machine-learning - GMM对新数据的适应

我一直在用Bouman的GMM集群包,网上没有找到适配模块。在我开始阅读 GMM 适应理论并实施它之前,我想知道是否有其他在线开源 GMM 项目可以完成所有的训练、测试和适应新数据。

0 投票
3 回答
24907 浏览

matlab - 理解高斯混合模型的概念

我试图通过阅读在线可用的资源来了解 GMM。我已经使用 K-Means 实现了聚类,并且正在查看 GMM 与 K-means 的比较。

这是我的理解,如果我的概念有误,请告诉我:

GMM 就像 KNN,在这两种情况下都实现了聚类。但是在 GMM 中,每个集群都有自己独立的均值和协方差。此外,k-means 将数据点硬分配给集群,而在 GMM 中,我们得到一组独立的高斯分布,并且对于每个数据点,我们都有概率属于其中一个分布。

为了更好地理解它,我使用 MatLab 对其进行编码并实现所需的聚类。我使用 SIFT 特征来进行特征提取。并使用 k-means 聚类来初始化值。(这来自VLFeat文档)

基于以上,我有means,covariancespriors. 我的主要问题是,现在怎么办?我现在有点迷路了。

means,向量也是covariances每个大小128 x 50。我期待它们是1 x 50因为每一列都是一个集群,每个集群不会只有一个均值和协方差吗?(我知道 128 是 SIFT 特征,但我期待均值和协方差)。

在 k-means 中,我使用了 MatLab 命令knnsearch(X,Y),它基本上为 Y 中的每个点找到 X 中的最近邻。

那么如何在 GMM 中实现这一点,我知道它是概率的集合,当然,与该概率最近的匹配将是我们的获胜集群。这就是我感到困惑的地方。网上的所有教程都讲授了如何实现means,covariances值,但在聚类方面如何实际使用它们并没有多说。

谢谢