当前位置: 首页 > article >正文

从统计到生成建模的多变量分布采样

原文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。

相关文章:

从统计到生成建模的多变量分布采样

原文:towardsdatascience.com/sampling-from-multivariate-distributions-from-statistical-to-generative-modeling-0177e55a9061 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/37181833a50332ce6287a8359b435e89.png 来源…...

PCL快速部署指南:Ubuntu20下APT安装与版本管理技巧

1. 为什么选择APT安装PCL? 第一次接触点云库PCL的朋友,可能会被它的依赖关系吓到。我自己刚开始折腾的时候,光是解决VTK、FLANN这些依赖项的版本冲突就花了两天时间。后来发现,对于大多数应用场景来说,直接用Ubuntu的…...

Adafruit micro:bit库深度解析:Arduino嵌入式开发实战

1. Adafruit micro:bit 库技术解析:面向嵌入式工程师的 Arduino 集成实践指南micro:bit 是一款由英国 BBC 主导开发、专为青少年编程教育设计的微型嵌入式开发板,其核心控制器为 Nordic Semiconductor 的 nRF51822 —— 一颗集成 Cortex-M0 内核、2.4GHz…...

网站 SEO 检测报告如何与网站分析数据进行对比分析_网站 SEO 检测报告中的页面结构分析有什么用

网站 SEO 检测报告如何与网站分析数据进行对比分析 在当今的互联网时代,网站的成功与否往往取决于其在搜索引擎上的排名。因此,网站 SEO(搜索引擎优化)检测报告和网站分析数据的对比分析显得尤为重要。通过对比分析,可…...

嵌入式Boa Web服务器搭建与优化指南

1. 嵌入式轻量级Web服务器搭建实战:Boa移植与应用 作为一名在嵌入式领域摸爬滚打多年的工程师,我深知在资源受限环境下搭建Web服务的痛点。今天要分享的Boa服务器方案,正是解决这类问题的利器——这个仅有70KB的可执行文件,却能稳…...

SecGPT-14B知识库更新:让OpenClaw掌握最新CVE漏洞检测能力

SecGPT-14B知识库更新:让OpenClaw掌握最新CVE漏洞检测能力 1. 为什么需要持续更新漏洞知识库 去年我在用OpenClaw做自动化安全扫描时,发现一个尴尬现象:虽然它能完美识别2022年前的常见漏洞特征,但对新曝光的CVE漏洞却总是"…...

嵌入式C语言宏定义实战技巧与安全规范

1. 嵌入式开发中宏定义的核心价值在嵌入式C语言开发领域,宏定义(Macro)是每个工程师必须掌握的利器。不同于普通变量或函数,宏在预处理阶段就完成文本替换,这种特性带来了四大核心优势:可移植性强化&#x…...

OpenClaw性能调优:千问3.5-9B响应速度提升30%的实操方法

OpenClaw性能调优:千问3.5-9B响应速度提升30%的实操方法 1. 为什么需要性能调优 第一次在本地部署OpenClaw对接千问3.5-9B模型时,我被它的响应速度惊到了——平均每个简单指令需要等待5-7秒才能得到响应。作为一个追求效率的工具,这样的延迟…...

OpenClaw跨平台控制:千问3.5-35B-A3B-FP8任务手机端触发方案

OpenClaw跨平台控制:千问3.5-35B-A3B-FP8任务手机端触发方案 1. 为什么需要移动端触发自动化任务? 上周三凌晨两点,我被手机闹铃惊醒——服务器监控报警显示生产环境出现异常。当我手忙脚乱打开电脑准备排查时,突然想到&#xf…...

OpenClaw+Qwen2.5-VL-7B:低成本自动化学习助手

OpenClawQwen2.5-VL-7B:低成本自动化学习助手 1. 为什么需要自动化学习助手 作为一个经常需要处理大量学习资料的开发者,我一直在寻找能够提升学习效率的工具。传统的学习方式需要手动整理资料、做笔记、制作练习题,这些重复性工作不仅耗时…...

飞书机器人接入指南:OpenClaw调用千问3.5-27B实现智能问答

飞书机器人接入指南:OpenClaw调用千问3.5-27B实现智能问答 1. 为什么选择OpenClaw飞书千问的组合? 去年我负责团队的知识管理时,每天要处理大量技术文档的检索和摘要需求。最初尝试用现成的SaaS机器人,但遇到三个痛点&#xff1…...

OpenClaw植物养护仪:Qwen3-14b_int4_awq分析的传感器数据与照料建议

OpenClaw植物养护仪:Qwen3-14b_int4_awq分析的传感器数据与照料建议 1. 为什么需要智能植物养护助手 去年冬天,我养了三年的一盆琴叶榕突然开始落叶。作为程序员,我第一反应是写个脚本监控它的生长状态——但很快发现,植物养护远…...

Supabase注册与新增用户全解析:5个关键区别及适用场景指南

Supabase用户管理系统设计指南:注册与手动创建的5大核心差异 在构建现代SaaS平台时,用户管理系统往往是整个架构的基石。Supabase作为开源的Firebase替代方案,提供了完整的认证和用户管理解决方案。但很多开发者在使用过程中,常常…...

从智能音箱到医疗设备:RC正弦波振荡器的10个意想不到的应用场景

从智能音箱到医疗设备:RC正弦波振荡器的10个意想不到的应用场景 在电子工程领域,RC正弦波振荡器就像一位低调的幕后英雄,它不显山露水,却在无数设备中默默发挥着关键作用。这种基于运算放大器和RC网络的经典电路,以其结…...

如何利用 Bing Webmaster Tools 来优化 SEO 自然排名

如何利用 Bing Webmaster Tools 来优化 SEO 自然排名 在当今互联网的竞争环境中,搜索引擎优化(SEO)是一个至关重要的环节。而在众多搜索引擎中,Bing作为全球第二大搜索引擎,其市场份额在逐年增长。因此,如…...

轻松搞定Excel公式错误:SpreadJS让表格开发不再头疼

在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...

LongCat 为 OpenClaw 装上效率引擎:你的自动化任务还能再快 30%

在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...

2026年04月04日最热门的开源项目(Github)

根据本期榜单的数据,可以从多个维度对项目进行分析: 1. 项目分布 语言使用情况:榜单中使用的编程语言包括JavaScript(1个项目)、TypeScript(6个项目)、Python(5个项目)…...

OpenClaw+Qwen3.5-9B低成本运营:个人自媒体内容自动化生产

OpenClawQwen3.5-9B低成本运营:个人自媒体内容自动化生产 1. 为什么选择这个技术组合 去年开始全职做科技类自媒体后,我发现自己陷入了"创作-发布-运营"的死亡循环。每周要产出3篇技术文章,还要同步到6个平台,最后连陪…...

学术海报自动生成:OpenClaw+Phi-3-vision科研工作流实践

学术海报自动生成:OpenClawPhi-3-vision科研工作流实践 1. 为什么需要自动化海报生成 作为一名经常参加学术会议的科研工作者,我深刻体会到制作学术海报的痛苦。每次会议前,我们团队都要花费大量时间在PPT或Photoshop中手动调整布局、对齐文…...

OpenClaw技能开发入门:为Qwen3.5-9B定制图片分类插件

OpenClaw技能开发入门:为Qwen3.5-9B定制图片分类插件 1. 为什么需要开发图片分类技能 上周整理手机相册时,我对着3000多张杂乱无章的照片头疼不已——旅行风景、工作截图、宠物照片全都混在一起。手动分类不仅耗时费力,还经常因为主观判断不…...

Kmestepper:单头称重控制系统嵌入式协同驱动框架

1. Kmestepper 库概述:面向单头称重控制系统的嵌入式运动与称重协同驱动框架Kmestepper 是专为 KmeIoT 单头称重设备(1-Head Weigher Device)设计的嵌入式底层驱动库,其核心定位并非通用步进电机或称重传感器抽象层,而…...

别再乱开槽了!手把手教你用HFSS仿真设计一个带Wi-Fi陷波的超宽带天线

别再乱开槽了!手把手教你用HFSS仿真设计一个带Wi-Fi陷波的超宽带天线 在射频工程实践中,超宽带天线设计常面临一个棘手问题:如何在不影响整体性能的前提下,精准抑制特定干扰频段。以2.4GHz Wi-Fi频段为例,当它与其他通…...

别再死记硬背了!用这10个XSS-Labs关卡,手把手教你理解前端过滤与绕过逻辑

从XSS-Labs关卡构建前端安全思维模型:10个实战场景解析 当你在浏览器地址栏输入javascript:alert(1)时,是否思考过为什么有些网站会弹出对话框而有些却毫无反应?这背后隐藏着前端工程师与安全研究者之间持续多年的攻防博弈。XSS-Labs作为经典…...

大疆照片的‘测绘模式’和‘畸变矫正’到底怎么用?一个案例讲清测绘项目中的元数据配置要点

大疆无人机测绘实战:从参数配置到三维建模的精度控制全解析 去年参与某开发区1:500地形测绘项目时,我们团队使用大疆Mavic 3E无人机采集数据后,在ContextCapture中空三解算时遇到了模型局部扭曲的问题。经过排查发现,问题根源竟是…...

别急着重装!Makefile报错‘Command not found‘的通用排查思路:以蜂鸟E203的RISC-V工具链为例

Makefile报错"Command not found"的深度排查指南:从RISC-V工具链到通用解决方案 当你满怀期待地克隆了一个开源项目,准备开始编译时,终端却无情地抛出一行红色错误:"riscv-nuclei-elf-gcc: Command not found"…...

【几何之美】莫利定理(Morley‘s Theorem)的视觉化证明与初中数学思维

1. 莫利定理:藏在三角形里的数学奇迹 第一次听说莫利定理时,我正盯着教室墙上的三角板发呆。谁能想到,这个看似普通的几何图形里,竟然藏着如此精妙的规律——把任意三角形的三个内角各分成三等份,靠近每条边的两条三等…...

别再只会用Flask了!用FastAPI + OpenCV 5分钟搭建一个带炫酷前端界面的图片处理Web服务

5分钟用FastAPIOpenCV打造炫酷图片处理Web应用 如果你还在用Flask开发Web应用,是时候尝试更现代的解决方案了。FastAPI作为Python生态中崛起的新星,凭借其卓越的性能和开发体验,正在成为构建API服务的首选框架。本文将带你快速实现一个功能完…...

PVE 网络优化:构建高效hostonly内网传输方案

1. 为什么需要hostonly内网传输方案 最近在折腾PVE虚拟化环境时,遇到了一个让人头疼的问题:虚拟机之间传输大文件速度慢得像蜗牛爬。我的主力工作机是Win10虚拟机,通过显卡直通获得接近物理机的性能,但每次从跑qbittorrent和Samba…...

uniapp实战:ucharts饼图点击事件全解析(附跳转页面实现)

uniapp实战:ucharts饼图点击事件全解析(附跳转页面实现) 在移动端H5开发中,数据可视化图表的交互体验直接影响用户感知。最近接手一个uniapp项目时,发现ucharts的饼图交互存在几个关键痛点:如何区分图例点…...