如何在 Lua/Torch 中从多元高斯分布中抽取样本

原来 Torch 没有内置函数来根据所需的协方差矩阵从多元高斯分布中抽取样本。请问有谁能告诉我如何从多元高斯分布中抽取样本呢?

这是我的尝试:

我从这里安装了 randomkit 包,并在终端中使用 luarocks install randomkit 进行了安装。 但是,当我在 Lua 中执行 require 'randomkit' 时,我找不到 multivariate_normal 函数作为 randomkit 的元素之一。 我做错了什么吗?

点赞
用户4917583
用户4917583

你可以使用 torch-distributions 包。要安装它,请在终端中运行以下命令:

luarocks install https://raw.github.com/jucor/torch-distributions/master/distributions-0-0.rockspec

以下是在lua中从多维正态分布中绘制样本的实际示例:

require 'distributions'
mu = torch.Tensor({10, 0})
sigma = torch.eye(2)
sample = distributions.mvn.rnd(mu, sigma) -- 从分布中获取样本
2016-05-25 23:03:43