从统计到生成建模的多变量分布采样
原文towardsdatascience.com/sampling-from-multivariate-distributions-from-statistical-to-generative-modeling-0177e55a9061https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/37181833a50332ce6287a8359b435e89.png来源Ideogram.背景从多变量分布中采样合成数据对于理解相互依赖关系、促进统计推断以及量化数据分析中的不确定性至关重要。它在金融、工程、医学、环境科学和社会科学中得到广泛应用。这个过程涉及使用数学模型来拟合数据的结构并根据拟合的分布生成新的样本。在统计学领域建模联合多变量分布有着悠久的历史。在简单情况下可以使用具有明确数学描述的预定义统计分布来建模数据例如多变量高斯分布和 Copula 函数——两种经典统计方法。然而随着数据维度和依赖性的增加传统方法显得不足。同时现代生成 AI 技术如生成对抗网络 (GAN) 和扩散模型已经显示出其潜力。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/43be209536829a1a458353217f80f657.png图 1. 多变量采样技术演变。来源作者。本文回顾了以下方法的基本思想核密度估计Copula变分自编码器生成对抗网络扩散模型我们还通过在简单和复杂合成数据上的实验来探索它们的应用为传统和前沿的多变量采样技术提供一瞥——无需涉及疯狂数学多变量采样方法1. 核密度估计 (KDE)核密度估计 (KDE) 是一种在 1950 年代 [1] 介绍的经典统计方法用于推导概率密度函数 (PDF)。应用核密度估计的过程类似于平滑地毯上的凸起使用核函数表示每个数据点的密度然后将 k 维空间中的所有密度值相加以创建一个平滑的全局密度如图 2 所示。密度值高的区域反映了高样本概率。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/aabb0db205cb08028fb3ae83030e3c70.png图 2. KDE 方法可视化。来源en.wikipedia.org/wiki/Multivariate_kernel_density_estimation。版权©DrleftCC BY-SA 4.0 许可证。联合概率密度函数可以表示为https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/ec0ff0d6fbcb8392b8aefcfcda5e192f.png其中K是核函数它由协方差矩阵H和数据点xi参数化。函数K决定了点 wise 概率平滑的方式。由于 KDE 假设任何变量都没有特定的形式它可以捕捉复杂的关系。图 3 展示了在 1 维视图下常用的核形状。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/70c07832d9c2eb6fde1eb3b42c1a36eb.png图 3. KDE 的核函数。来源scikit-learn.org/stable/modules/density.html#kernel-density。版权©scikit-learn 开发者BSD 3-Clause 许可证。在推导出联合概率密度后可以从每个 bin 都有数据点定位概率的空间中抽取新的样本其中每个 bin 都有一个概率。2. CopulaCopula 是另一种经典的统计方法用于建模多元依赖关系可以追溯到 1959 年[2]。Copula 背后的思想是建模所有边缘累积概率函数CDFs之间的依赖关系而不是概率密度函数PDFshttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/cf9dfca3eaa5dbe07fb95a1f958e85e4.png在上述方程中F是累积概率函数U是从F(X)转换而来的均匀分布的随机变量。Copula 函数C是所有Ui的联合多元累积函数。变量的依赖关系嵌入在 Copula 函数中。图 4 描绘了在二元情况下四种常用 Copula 家族的依赖形式https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/0a4efcdafacc3b2eb58f79e8b7531b1e.png图 4. Copula 家族的说明。来源en.wikipedia.org/wiki/Copula_(probability_theory)。公有领域图像。以二元高斯 Copula 为例。二元正态分布中变量的协方差表示了依赖结构https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/2c73a9c455174d2df7a9dec206ce2464.png由于 Copula 完全基于经典统计理论可以从拟合的联合分布中轻松生成新的样本就像其他已知的统计分布一样。3. 变分自编码器VAE从本节开始我们将进入生成式 AI 的领域。第一种方法是 VAE这是一种在 2013 年[3]首次提出的无监督人工神经网络架构。VAE 由两个组件组成一个编码器它将原始数据点映射到一个概率潜在空间一个解码器它从潜在空间重建它。这两个组件都是用户定义的人工神经网络。概率潜在空间z通常表示为多元高斯分布这意味着输入数据点被编码成分布的均值和方差向量。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/60f6328d600b280f2a94b1fada86c822.png图 5. VAE 方法可视化。来源introtodeeplearning.com/slides/6S191_MIT_DeepLearning_L4.pdf。版权所有 © MIT 深度学习导论根据 MIT 许可证授权。训练 VAE 的目标是在尽可能准确地重建数据点的同时避免通过记忆数据点来作弊。因此损失函数由重建误差和正则化项组成后者最小化了推断的潜在分布与先验潜在分布之间的差异https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/854b06301a56ed7539813294afe019f5.png给定训练好的 VAE数据生成是解码随机高斯噪声的过程这是从潜在空间映射回输入空间的过程。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/c00e439c111854d0faebbf5732c7eb67.png图 6. VAE 的样本生成过程。来源introtodeeplearning.com/slides/6S191_MIT_DeepLearning_L6.pdf。版权所有 © MIT 深度学习导论根据 MIT 许可证授权。4. 生成对抗网络GANGAN 是另一种自 2014 年[4]以来广为人知的生成式 AI 技术。它是一个无监督训练框架而不是一种特定的网络架构在图像生成、艺术融合、照片修复等方面有成功的应用。GAN 包括一个生成器来生成假样本和一个判别器来识别真实和假样本。生成器和判别器在网络架构上对不同的应用任务都很灵活。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/da3f9a9c6bc8b3e2aef439a150fe37cf.png图 7. GAN 方法可视化。来源introtodeeplearning.com/slides/6S191_MIT_DeepLearning_L4.pdf。版权所有 © MIT 深度学习导论许可协议为 MIT 许可证。GAN 的目标是同时在零和游戏中训练一个强大的生成器和判别器。因此损失函数是从经典的二元分类交叉熵方案导出的它具有对抗形式其中判别器试图最大化它而生成器则相反https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/a6b9e74a26ef90fac03b09bbdb16cb89.png训练完成后采样过程仅使用生成器将随机噪声转换为位于原始训练数据分布中的样本。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/6bffd292a47ea67aa99347fdaf262d1a.png图 8. GAN 的样本生成。来源introtodeeplearning.com/slides/6S191_MIT_DeepLearning_L4.pdf。版权所有 © MIT 深度学习导论许可协议为 MIT 许可证。5. 扩散模型扩散模型是几种最新流行图像生成技术的核心例如 DALL-E 和 Stable Diffusion。自 2015 年发表以来 [5]它由于 GAN 的训练困难而成为了一个很好的替代品。受热力学的启发扩散模型逐渐破坏数据样本的结构就像热力学扩散过程一样然后通过反向过程重建样本。具体来说正向扩散过程在T步中迭代地向样本添加随机高斯噪声反向过程使用人工神经网络预测在任意步骤的噪声。…/Images/e263806ffdbe9a849090a830a68be367.png图 9. 扩散模型可视化。来源arxiv.org/pdf/2006.11239[6]。在扩散模型的改进版本中即去噪扩散概率模型DDPM[6]可以通过从原始样本的一步扩散来简化训练。训练损失是预测噪声与实际噪声之间的差异。至于采样我们可以从一个高斯噪声开始并预测逐步反转的噪声以生成一个新的样本。…/Images/460c7a6282cb19a863844656bc4c93e3.png图 10. DDPM 算法。来源arxiv.org/abs/2006.11239[6]。数据实验本文的这一部分通过一个数据实验来快速了解上述五种方法的性能。因此我们关注结果而不是实现和模型调整的细节。实验使用这些模型来拟合合成数据集的分布然后生成新的样本与原始样本进行比较。合成数据设计了两个合成数据集。第一个包含来自 3 维联合高斯分布的样本这是一个“标准”的多变量分布具有简单的边缘分布和依赖关系https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/ff2da6ebbb0f5f6d25714c68a1820028.png第二个包含来自自定义高度非线性方程的样本这些样本代表一个“非标准”的多变量分布具有复杂的边缘分布和依赖关系https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/113d78c7d8250183321a28e2195f915c.png其中Beta() 是贝塔分布N() 是正态分布。评估合成数据集被分为训练集和测试集。下面的成对散点图显示了测试集中原始样本和生成样本的边缘和二元分布。KDE这里我们使用高斯 KDE 模型鉴于生成样本的边缘概率密度函数在形状上比原始样本更平坦似乎有点欠拟合。此外对于非标准分布x0 和 x1 之间的高度非线性依赖关系没有得到很好的捕捉。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/21fe5b7410481dc7554d6b297d1392d4.png图 11. KDE 的数据实验。来源作者。Copula在实验中应用了高斯 Copula 模型。Copula 模型表现良好除了对于非标准分布中 x0 和 x1 之间的依赖关系外。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/a50733f23e16bcae6d4fef16a2843e22.png图 12. Copula 的数据实验。来源作者。VAE这里的 VAE 使用 2 层隐藏层全连接神经网络作为编码器和解码器。它们通常能很好地模拟数据。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/ba639502a70c51320c688ba3b1eeda6f.png图 13. VAE 的数据实验。来源作者。GAN对于 GAN生成器和判别器使用 3 层隐藏层全连接神经网络。GAN 与 VAE 具有相似的性能。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/0b98e6f3739dad46f8afd30dff7702cc.png图 14. GAN 的数据实验。来源作者。扩散模型扩散模型实现了用于噪声反向过程的 3 层隐藏层全连接神经网络。尽管捕捉了所有依赖关系但扩散模型产生的样本比原始样本的多样性更少这表明可能需要进一步调整模型。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/92dd6bc9cb13c2d714621175c635de5f.png图 15. 扩散模型的数据实验。来源作者。摘要从任意多元分布中进行采样是许多领域中的基本任务尤其是在数据有限的情况下进行推理时。数据的日益复杂需要各种候选方法从统计模型到生成式 AI 模型。本文简要介绍了五种流行方法的理念。为了更深入地探讨这个主题请跟随我在Medium上的更新获取关于未来文章的更多信息好拟合度评估的指标。一个 Python 库用于自动化上述所有方法的用法。我期待您的评论和反馈参考文献[1]. 罗森布拉特M. (1956). 关于密度函数的一些非参数估计的评论。《数学统计年刊》832–837。[2]. 斯克拉尔M. (1959). n 维分布函数及其边缘。在ISUP 年鉴第 8 卷第 3 期第 229–231 页。[3]. 金卡D. P.韦林M. (2013). 自动编码变分贝叶斯。arXiv 预印本 arXiv:1312.6114。[4]. 古德费洛I.普热格-阿巴迪J.米尔扎M.徐B.沃德-法雷尔D.奥齐尔S.… 本吉奥Y. (2014). 生成对抗网络。神经信息处理系统进展27。[5]. 索尔-迪克斯坦J.韦斯E.马赫斯瓦兰塔纳N.甘古利S. (2015 年 6 月)。使用非平衡热力学进行深度无监督学习。在机器学习国际会议第 2256–2265 页。PMLR。[6]. 何J.贾因A.阿贝尔P. (2020). 去噪扩散概率模型。神经信息处理系统进展336840–6851。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2484329.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!