问题标签 [gaussian]

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 投票
4 回答
24449 浏览

c++ - 来自 C++ 中的多元正态/高斯分布的样本

我一直在寻找一种从多元正态分布中采样的便捷方法。有谁知道一个现成的代码片段来做到这一点?对于矩阵/向量,我更喜欢使用BoostEigen或其他我不熟悉的非凡库,但我可以在紧要关头使用GSL如果该方法接受非负定协方差矩阵而不是要求正定协方差矩阵(例如,与 Cholesky 分解一样),我也会喜欢它。这存在于 MATLAB、NumPy 和其他软件中,但我很难找到现成的 C/C++ 解决方案。

如果我必须自己实现它,我会抱怨,但这很好。如果我这样做,维基百科听起来我应该这样做

  1. 生成n 个0 均值、单位方差、独立的正态样本(boost 会这样做)
  2. 求协方差矩阵的特征分解
  3. 通过相应特征值的平方根缩放n 个样本中的每一个
  4. 通过将缩放向量与分解找到的正交特征向量矩阵预乘来旋转样本向量

我希望这能快速工作。是否有人对何时值得检查协方差矩阵是否为正有直觉,如果是,请改用 Cholesky?

0 投票
3 回答
8498 浏览

java - 如何用 Java 编写 GMM(高斯混合模型)?

如何用 Java编写 GMM(高斯混合模型)?MATLAB 中有一些实现,但我正在寻找一些关于它的文档和 Java 中的示例代码。

PS:如果可能的话,我如何在我的代码中采用 Weka 实现?

PS 2:我找到了http://www.lix.polytechnique.fr/~nielsen/MEF/ GMM 的源代码在哪里,所以我可以在我的代码中采用它?

PS 3:找到的其他代码是:http ://www.dii.unisi.it/~freno/JProGraM.html ,但如何采用它仍然存在问题。我应该给出我的输入列表并从算法中获取所有分类元素列表。

0 投票
4 回答
8504 浏览

java - 如何在 Java 中实现遗传算法的高斯变异算子

我尝试为我的项目学习和实现一个简单的遗传算法库。此时,进化、种群选择已经准备就绪,我正在尝试为我的 Java 和 Scala 基因进化引擎实现一个简单的好变异算子,比如高斯变异算子(GMO)。

我在论文A mutation operator based on a Pareto ranking for multi-objective evolutionary algorithms (PM Mateo, I. Alberto) 第 6 页和第 7 页中找到了有关高斯变异算子 (GMO) 的一些信息。

但是我有一些问题要查找有关如何在 Java 中实现此高斯变异算子和此算子的其他有用变体的其他信息。我该怎么办?

我使用的random.nextGaussian()是random Java util的函数,但是这个方法只返回一个0到1之间的随机数。

所以,

a) 在这种情况下如何修改返回号的精度?(例如,我想获得一个介于 0 和 1 之间的随机双数,步长等于 0.00001。)

b)以及如何指定musigma用于此功能,因为我想在本地搜索我的基因组的值,而不是在 -1 和 1 之间。我如何才能围绕我的基因组值调整本地研究?

经过研究,我找到了 b) 问题的答案。看来我可以像这样置换高斯随机数:

其中mean= 我的基因组值。

(参见如何生成具有正态分布或高斯分布的随机数中的底部页面的方法? 。)

0 投票
3 回答
15282 浏览

matlab - MATLAB 中的 3D 高斯滤波器

是否有可用于 MATLAB的imfilter的 3D 等效项?我希望将高斯滤波应用于 3D 直方图。我打算自己实现它,通过创建一个(3D)高斯滤波器,然后遍历我的直方图中的每个元素,并总结相应的数据条目。

但是,如果已经有一些东西,或者更聪明的方式来实现它,我不想自己以一种缓慢而低效的方式实现它。

0 投票
1 回答
3754 浏览

matlab - 快速高效的上对角矩阵求逆

我在一个项目中多次计算多项式高斯密度,我将协方差矩阵更新为 rank-1。我没有从头开始计算协方差,而是使用该cholupdate函数将新样本添加到协方差并删除新样本到协方差。通过这种方式,更新被告知在 $O(n^2)$ 中,而不是在协方差矩阵的 $O(n^3)$ Cholesky 分解中。

实际上代码很复杂,但我在这里简化了它。我想知道是否有更快的方法来计算Rt\xMATLAB 中上三角矩阵的逆(代码中的部分)。你有什么想法可以在 MATLAB 中更有效地完成它。

请注意,以这种方式计算行列式也更快。所以新方法对于行列式的计算也不会差。

0 投票
2 回答
5405 浏览

matlab - 在 MATLAB 中使用低通滤波器平滑直方图

我有一个图像,我的目标是对图像进行二值化。我已经用低通高斯滤波器过滤了图像,并计算了图像的强度直方图。

我现在想要对直方图进行平滑处理,以便获得二值化的阈值。我使用了低通滤波器,但它不起作用。这是我使用的过滤器。

谁能帮我这个?直方图平滑的过程是什么?

非常感谢您的帮助。

0 投票
1 回答
1324 浏览

c++ - 在给定均值和标准差的情况下,生成一组大小为 N 的整数的最佳方法,分布类似于正态分布。偏差

我正在寻找一种方法来生成一组具有指定均值和标准的整数。偏差。

使用随机库,可以生成一组以高斯方式分布的随机双打,这看起来像这样:

但是,对于我的应用程序,我需要整数而不是双精度数。所以我的问题是,除了整数而不是双精度数,您将如何生成上述等效项?一种可能的方法是以某种方式将双精度数转换为整数,但我对随机库的工作方式知之甚少,无法知道这是否可以以真正保留钟形和均值/标准的方式完成. 偏差。

我应该提到,这里的目标不是随机性,而是获得一组特定大小的整数,具有正确的均值和标准差。偏差。

理想情况下,我还想指定可以产生的最小值和最大值,但我还没有找到任何方法来做到这一点,即使是双打,所以也欢迎任何关于此的建议。

0 投票
1 回答
55787 浏览

matlab - Matlab中向量的高斯滤波器

我有一个 n 维向量(1xn 数据集,它不是图像数据),我想对其应用高斯滤波器。我有图像处理工具包和其他一些工具包(询问您是否需要列表)。

大概我可以使函数的hsize参数fspecial类似于[1 n]. imfilter作为下一步,我仍然可以将其应用于我的向量,还是应该使用其他东西?

我已经看过很多关于如何在 Matlab 中将高斯滤波器应用于二维图像数据的示例,但我对 Matlab 作为一个平台还比较陌生,所以一个例子会非常好。

注意:我目前无法尝试并看看会发生什么(目前不在安装了 Matlab 的机器上),否则我会先尝试它,然后只询问我是否在使用fspecialand时遇到问题imfilter

0 投票
0 回答
1173 浏览

c# - 使用 OpenCV 或纯 C# 的多元正态随机分布

我想知道是否存在预执行多元正态随机分布的函数..我搜索并在 OpenCV 中用 C++ 找到了它..我想要它在 C# 中..任何人都可以帮助我吗?

谢谢你们

0 投票
2 回答
7636 浏览

c - 如何为给定的均值和方差在 c 中生成高斯伪随机数?

我这里有一个代码,它生成平均为 0f 1 和标准偏差为 0.5 的随机数。但是我如何修改这段代码,以便我可以对任何给定均值和方差的高斯随机数进行否定?