问题标签 [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.
python - 如何使用 PYMC 编写多元法线的分层混合模型
我使用 PyMC 成功实现了 3 个法线的混合(显示在https://drive.google.com/file/d/0Bwnmbh6ueWhqSkUtV1JFZDJwLWc,类似于如何在 PyMC 中模拟 3 个法线的混合?)
我的下一步是尝试对多元法线的混合进行编码。
然而,数据还有一个额外的复杂性 - 一个层次结构,具有属于父观察的一组观察。聚类是在父观测值上完成的,而不是在单个观测值本身上完成的。第一步生成代码(60 个父母,每个父母有 50 个观察值),并且工作正常。
但是,当我尝试使用 PyMC 进行采样时,我遇到了介绍问题('错误:将 flib.prec_mvnorm 的第三个参数 'tau' 转换为 C/Fortran 数组失败')
我知道问题不在于模拟观察数据的格式,因为这一步可以正常工作,代替上述:
结果,我认为问题是如何输入平均向量('mean')和协方差矩阵('prec'),我只是不知道如何输入。就像我说的,这适用于正态分布的混合,但多元正态的混合增加了我无法弄清楚的复杂性。
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)])
.
这是一些代码定义:
n_im = a / b * exp(c)
;d_.m = \sum_i=1^m [a_i / b_i * exp(c_i)]
; 和
/li>c_mat[i,j]
作为第 [i,j] 项的指数值。
我试图尽可能简短地定义问题。整个函数显然比这大得多。但是,由于我遇到的问题是专门处理无限(和 1/infinity)值,我希望这个片段就足够了。有人在这里有编码技巧吗?
r - R中混合分布的模拟
我想模拟数据集,该数据集从 3 个 weibull 分布中具有递减然后增加的风险,但我想让这个风险函数更接近于零,我怎样才能得到大约 0.1 或更少。我怎样才能修复我的代码来拥有这个?
python - 如何在 Python 中使用其参数构造和绘制单变量高斯混合
我想在 Python 中构造和 1D 绘制一个单变量高斯混合,其中包含三个分量,其中我已经有了它的参数,包括 mu、sigma、mix 系数。
我所追求的在 MATLAB 中有一个等价物,即 gmdistribution(mu,sigma,p)
我认为代码应该是这样的:
想知道怎么做...
干杯
python - python中的对数正态混合
我正在尝试将 3 个正态分布的混合拟合到我的转换数据日志中,但我有点困惑如何去做。我尝试了 scikit learn python 中的 gmm 函数,但它似乎无法正常工作。
最后我想得到一个 3 个分量的 pdf 图,即 f=f1+f2+f3。但是它不起作用。
是因为我试图将法线混合到对数正态数据中吗?
您能否解释我的错误和/或就用于拟合对数正态混合的软件包提供建议?
r - 关于如何使用 ggplot2 绘制 mixEM 类型数据的任何建议
我有一个从我的原始数据中获得的 100 万条记录的样本。(供您参考,您可以使用可能产生近似相似分布的虚拟数据
) 我认为直方图是两个对数正态分布的混合,我尝试使用以下代码使用 EM 算法拟合求和分布:
第一个图是对数似然图,第二个图(如果再次点击返回)给出类似于以下密度曲线:
正如我提到的,c1 是 mixEM[] 类型,而 plot() 函数可以适应这种情况。我想用颜色填充密度曲线。使用 ggplot2() 很容易做到这一点,但 ggplot2() 不支持 mixEM[] 类型的数据并抛出此消息:
ggplot 不知道如何处理 mixEM 类的数据
有没有其他方法可以解决这个问题?
matlab - 高斯混合模型一维数据
我已经将我的一维数据(1000*1 矩阵)建模为 3 个高斯,使用
我怎样才能绘制这样的东西?
它显示了给定点属于每个类的概率。
matlab - MATLAB中高斯混合模型的均值和中值计算
如何计算具有三个组件的高斯混合模型的平均值和中值,例如 MATLAB 中的以下参数:
先验[0.4,0.25,0.34]
中心 [0.44;0.74;0.05]
协方差 [0.03,0.18,0.03]
谢谢
machine-learning - GMM对新数据的适应
我一直在用Bouman的GMM集群包,网上没有找到适配模块。在我开始阅读 GMM 适应理论并实施它之前,我想知道是否有其他在线开源 GMM 项目可以完成所有的训练、测试和适应新数据。
matlab - 理解高斯混合模型的概念
我试图通过阅读在线可用的资源来了解 GMM。我已经使用 K-Means 实现了聚类,并且正在查看 GMM 与 K-means 的比较。
这是我的理解,如果我的概念有误,请告诉我:
GMM 就像 KNN,在这两种情况下都实现了聚类。但是在 GMM 中,每个集群都有自己独立的均值和协方差。此外,k-means 将数据点硬分配给集群,而在 GMM 中,我们得到一组独立的高斯分布,并且对于每个数据点,我们都有概率属于其中一个分布。
为了更好地理解它,我使用 MatLab 对其进行编码并实现所需的聚类。我使用 SIFT 特征来进行特征提取。并使用 k-means 聚类来初始化值。(这来自VLFeat文档)
基于以上,我有means
,covariances
和priors
. 我的主要问题是,现在怎么办?我现在有点迷路了。
means
,向量也是covariances
每个大小128 x 50
。我期待它们是1 x 50
因为每一列都是一个集群,每个集群不会只有一个均值和协方差吗?(我知道 128 是 SIFT 特征,但我期待均值和协方差)。
在 k-means 中,我使用了 MatLab 命令knnsearch(X,Y)
,它基本上为 Y 中的每个点找到 X 中的最近邻。
那么如何在 GMM 中实现这一点,我知道它是概率的集合,当然,与该概率最近的匹配将是我们的获胜集群。这就是我感到困惑的地方。网上的所有教程都讲授了如何实现means
,covariances
值,但在聚类方面如何实际使用它们并没有多说。
谢谢