问题标签 [mixture]
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.
matlab - 从混合正态分布生成向量
我将具有从混合正态分布生成向量的功能。首先,我已经完成了从以下生成向量的功能N(mu, Sigma)
:
我可以使用它 从二维空间BSXgen(10,2,[0;0],diag([1 1]))
生成向量。10
接下来,我将从混合正态分布中生成数据。我在做什么:
我对吗?我真的从混合物中生成数据吗?我不确定,所以我会非常感谢任何意见。
r - 从 R 中具有概率的两个分布中绘制
我试图以 100000 次的概率从两个不同的分布中提取。不幸的是,我看不出我的 for 循环有什么问题,但是,它只添加了 1 个值,simulated_data
而不是所需的 100,000 个值。
问题1:我该如何解决这个问题?
问题 2:有没有一种更有效的方法,我不必遍历列表中的 100,000 个项目?
r - 尝试为 3 分量正态混合分布创建函数
我正在尝试创建一个 R 函数来从具有 3 个不同参数的 3 分量正态混合分布生成样本,但我不断收到错误消息。
这是我当前的代码
python - 使用 sklearn 在 Python 中初始化参数高斯混合
我正在努力用 sklearn 做一个高斯混合,但我认为我错过了一些东西,因为它肯定不起作用。
我的原始数据如下所示:
我想做一个包含 3 个成分 = 3 个基因型 (AA|AB|BB) 的高斯混合。我知道每种基因型的权重、每种基因型的对数比平均值以及每种基因型的强度平均值。
我保留列 LogRatio 和 Strength 并创建一个 NumPy 数组。
然后我测试了来自 sklearn v0.18 的混合函数 GaussianMixture 并尝试了来自 sklearn v0.17 的函数 GaussianMixtureModel (我仍然没有看到区别,也不知道使用哪一个)。
这是我得到的,这是一个很好的结果,但它每次都会改变,因为每次运行初始参数的计算方式都不同
我想在 gaussianMixture 或 GMM 函数中初始化我的参数,但我不明白我必须如何格式化我的数据:(
mixture-model - Stan 中的混合模型 - 矢量化
我现在正在学习 Stan,想实现一个简单的混合模型。
在参考手册(stan-reference-2.14.0)中已经有一个解决方案:
下一页描述了外部循环的矢量化是不可能的。但是,我想知道内部循环的并行化是否仍然存在。
所以我尝试了以下模型:
...并且该模型做出错误的估计(与原始模型相反)。
我想知道,我对模型规范的理解是错误的。我想了解语法提供的区别(以及vector[K]
和之间的区别real[K]
),也许对 Stan 有更深入的了解。
python - GaussianMixture 使用组件参数初始化 - sklearn
我想使用sklearn.mixture.GaussianMixture来存储高斯混合模型,以便以后可以使用它来生成样本或使用score_samples
方法在样本点处生成值。这是一个示例,其中组件具有以下权重、均值和协方差
然后我将混合物初始化如下
最后,我尝试根据导致错误的参数生成样本:
据我了解,GaussianMixture 旨在使用混合高斯拟合样本,但有没有办法为其提供最终值并从那里继续?
scikit-learn - sklearn BayesianGaussianMixture 基于多个数据点的聚类分配
我正在尝试使用 sklearn.mixture.BayesianGaussianMixture 来拟合一组轨迹。
每个轨迹由一组数据点组成,例如
其中t_i
是第 i 个轨迹,(x_ik, y_ik)
是轨迹上的第 k 个点。例如,x_ik 可以表示机器人在时间步 k 的状态,y_ik 可以表示机器人采取的动作。每个 GP 组件都是从 x_ik -> y_ik 的映射。这是使用 sklearn 学习 GP 的标准。
但是,当您想先学习具有狄利克雷过程的高斯混合模型时,您必须决定何时添加新的 GP 组件。
BayesianGaussianMixture类仅为您提供基于单个数据点进行集群分配的接口。换句话说,一个新的数据点是否属于一个新的集群。
我感兴趣的是:给出一组轨迹,其中每个轨迹可能包含很多数据点。有没有办法根据轨迹进行集群分配?即给定一个新的轨迹,判断它是否属于一个新的集群。
bayesian - STAN - 使用采样语句与直接增加对数概率时得到不同的结果
我试图通过使用'target += bernoulli_logit_lmpf(y | alpha)'功能直接增加对数概率来在stan中实现模型。完整模型如下:
我的理解是,这应该产生与下面的抽样语句相同的结果:
然而,这两个模型产生了完全不同的结果(即使在 R 和 Stan 中使用相同的种子)。我认为问题可能在于我如何实现直接增量,所以我也尝试了以下模型。
但是,所有三种模型都会产生不同的结果。有趣的是,直接增量的运行速度大约是采样语句的两倍,但似乎没有给出正确的结果。我需要使用直接增量方法,因为我最终会将这个模型转换为混合模型,而据我所知,混合模型需要直接更新对数概率。对此的任何帮助将不胜感激!
问候,蒂姆
r - 模拟每两个变量之间具有不同混合依赖结构的混合数据?
我想模拟一个混合数据,比如 3 维数据。我想在每两个变量之间有 2 个不同的组件。
也就是说,模拟混合数据(V1 和 V2),其中它们之间的依赖关系是两个不同的正常分量。然后,在 V2 和 V3 之间还有另外两个正常分量。所以,我将有 3d 数据,第一个和第二个变量之间的依赖关系是两个法线的混合。第二个和第三个变量之间的依赖关系是另外两个不同成分的混合。
另一种解释我的问题的方法:
假设我想生成如下混合数据:
1- 0.3 normal(0.5,1) + 0.7 normal(2,4) # 因此在这里我将得到一个由两个不同的法线(混合模型的两个分量)生成的二元混合数据,混合器权重之和为 1。
然后,我想得到另一个变量,如下所示:
2- 0.5 normal(2,4) # 这是第一次模拟的第二个变量 + 0.5 normal(2,6)
所以在这里,我得到了 3d 模拟混合数据,其中 V1 和 V2 是由两个不同的混合分量生成的,而 V2 和 V3 是由另一个不同的混合分量生成的。
这是在 r 中生成数据的方法:(我相信它不会生成双变量数据)
因此,如果我们生成混合双变量数据(两个变量),那么如何将其扩展为具有 4 或 5 个变量,其中 V1 和 V2 是从两个不同的法线生成的(它们之间的依赖结构是两个法线的混合),然后 V3 将从另一个不同的正常生成,然后与 V2 结合。也就是说,当我们绘制 V2 ~ V3 时,我们会发现它们之间的依赖结构是两个法线的混合体,依此类推。
r - 我们如何使用 MXNet 创建混合密度网络?
我正在评估 R 中的 MXNet,我想对混合密度网络进行建模。可以在此处找到 Tensorflow、Keras 和 Edward 的示例:http: //cbonnett.github.io/MDN_EDWARD_KERAS_TF.html
所示示例是正态分布的混合。怎么能用 MXNet 做同样的分析呢?