我现在手头有一些真实样本和模拟样本,真实样本有一些噪声,但是我并不知道这个噪声的分布,反正至少不是高斯噪声。我可以提取出噪声数据。也就是我有一个未知解析式的分布,我手头只有一大堆由这个分布采集的得到的数据,我该怎么根据这些数据来生成新的采样呢?

我的想法是通过神经网络来去拟合这个分布函数。即网络的输入是高斯随机变量,输出是噪声。然后将网络生成的噪声的分布和我原有的噪声分布进行对比,将这两个分布的相似性或者度量作为损失来对神经网络进行梯度下降。但是这样做有个问题,就是分布之间的相似性,一般常用KL散度来进行度量。但是似乎网上找到的关于KL散度的介绍都是针对1维数据的,如何求多维联合分布之间的KL散度,我不知道该怎么弄。

通过在网上搜索,发现这个问题已经由很成熟的解决方法了,那就是MCMC方法。我发现了个很好的博客介绍这个方法,将其网址放在这里备忘。

MCMC(一)蒙特卡罗方法

MCMC(二)马尔科夫链

MCMC(三)MCMC采样和M-H采样

MCMC(四)Gibbs采样

同时,如果可以根据噪声样本来生成新的噪声,那我岂不是也可以直接根据模拟样本来生成新样本?这就有些类似与GAN网络了。我回头试试看可不可行

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注