基于 Metropolis 的朗之万算法
基于 Metropolis 的朗之万算法
- 1. 未经调整的朗之万算法
- 2. 基于 Metropolis 的朗之万算法 (MALA)
- 2.1. MH算法
- 2.2. 基于 Metropolis 的朗之万算法 (MALA)
- 3. Metropolis 调整的朗之万截断算法(MALTA)
1. 未经调整的朗之万算法
未调整的朗之万算法 (ULA) 是一个离散时间马尔可夫链 U n \mathbf{U}_n Un,它是对普通朗之万扩散 L t \mathbf{L}_t Lt的自然离散化。
任何使用 ∥ P M n ( x , ⋅ ) − π ∥ → 0 \left\|P_{\mathrm{M}}^n(\mathbf{x}, \cdot)-\pi\right\| \rightarrow 0 ∥PMn(x,⋅)−π∥→0的简单算法都可以通过这种方式构造,例如 Parisi (1981) 或 Grenander 和 Miller (1994) 所描述的。
我们将看到,该算法可能具有一些不理想的收敛性质,尽管由于其实现可能比某些更稳健的替代方案需要较少的计算开销,因此它仍可能具有实际价值。
为了形成这个链,给定 U n − 1 \mathbf{U}_{n-1} Un−1,我们只需根据以下公式构造 U n \mathbf{U}_n Un:
N ( U n − 1 + 1 2 ∇ log π ( U n − 1 ) , h I k ) N\left(\mathbf{U}_{n-1}+\frac{1}{2} \nabla \log \pi\left(\mathbf{U}_{n-1}\right), h I_k\right) N(Un−1+21∇logπ(Un−1),hIk)正如 Besag (1994) 所指出的,这个链仅能近似维持 π \pi π 的不变性:例如,如果 π \pi π 本身在 R \mathbb{R} R上是 N ( 0 , 1 ) N(0,1) N(0,1) ,那么当 h = 2 h=2 h=2 时,我们有 U n ∼ N ( 0 , 2 ) U_n \sim N(0,2) Un∼N(0,2) ,这显然表明如果离散化步长 h h h 如此粗䊁,那么我们会得到立即"收敛",但却是到一个完全不期望的分布。
ULA 链实际上可能表现得相当糟糕:例如,即使原始扩散是指数遍历的,它可能会收敛但并非几何快速收敛,或者更为惊人的是,它实际上可能是一个瞬态链,尽管 L t \mathbf{L}_t Lt 具有非常良好的不变分布。
2. 基于 Metropolis 的朗之万算法 (MALA)
2.1. MH算法
这些算法首先考虑一个候选转移核,其密度为 q ( x , y ) q(\mathbf{x}, \mathbf{y}) q(x,y),其中 x , y ∈ X \mathbf{x}, \mathbf{y} \in \mathrm{X} x,y∈X,用于生成在 X X X 上演化的离散时间马尔可夫链的潜在转移。在此,我们通常将 X X X 视为 R k \mathbb{R}^k Rk 的子集,并配备了 Borel σ \sigma σ-代数 B \mathscr{B} B,同时 π ( y ) \pi(\mathbf{y}) π(y) 和 q ( x , y ) q(\mathbf{x}, \mathbf{y}) q(x,y) 都是相对于 Lebesgue 测度 μ Leb \mu^{\text {Leb }} μLeb 的密度,尽管更一般的形式化也是可能的。
根据密度 q ( x , ⋅ ) q(\mathbf{x}, \cdot) q(x,⋅) 生成的“候选转移”到 y \mathbf{y} y 被接受的概率为 α ( x , y ) \alpha(\mathbf{x}, \mathbf{y}) α(x,y),其表达式为
( 1 ) α ( x , y ) = { min { π ( y ) π ( x ) q ( y , x ) q ( x , y ) , 1 } π ( x ) q ( x , y ) > 0 1 π ( x ) q ( x , y ) = 0 (1)\quad \alpha(\mathbf{x}, \mathbf{y})= \begin{cases}\min \left\{\frac{\pi(\mathbf{y})}{\pi(\mathbf{x})} \frac{q(\mathbf{y}, \mathbf{x})}{q(\mathbf{x}, \mathbf{y})}, 1\right\} & \pi(\mathbf{x}) q(\mathbf{x}, \mathbf{y})>0 \\ 1 & \pi(\mathbf{x}) q(\mathbf{x}, \mathbf{y})=0\end{cases} (1)α(x,y)={min{π(x)π(y)q(x,y)q(y,x),1}1π(x)q(x,y)>0π(x)q(x,y)=0因此,Hastings 链的实际转移(我们记作 Φ n \Phi_n Φn)根据转移概率密度的规律 P P P 进行,其转移概率密度为
( 2 ) p ( x , y ) = q ( x , y ) α ( x , y ) , y ≠ x (2)\quad p(\mathbf{x}, \mathbf{y})=q(\mathbf{x}, \mathbf{y}) \alpha(\mathbf{x}, \mathbf{y}), \quad \mathbf{y} \neq \mathbf{x} (2)p(x,y)=q(x,y)α(x,y),y=x且保持在同一点的概率为
( 3 ) r ( x ) = P ( x , { x } ) = ∫ q ( x , y ) [ 1 − α ( x , y ) ] d y (3)\quad r(\mathbf{x})=P(\mathbf{x},\{\mathbf{x}\})=\int q(\mathbf{x}, \mathbf{y})[1-\alpha(\mathbf{x}, \mathbf{y})] \mathrm{d} \mathbf{y} (3)r(x)=P(x,{x})=∫q(x,y)[1−α(x,y)]dy通过选择这样的 α \alpha α,我们有 π \pi π 是不变测度:即满足 π ( A ) = ∫ π ( x ) P ( x , A ) d x , x ∈ X , A ∈ B \pi(A) = \int \pi(\mathbf{x}) P(\mathbf{x}, A) \mathrm{d} \mathbf{x}, \mathbf{x} \in \mathrm{X}, A \in \mathscr{B} π(A)=∫π(x)P(x,A)dx,x∈X,A∈B。
只要链具有适当的不可约性和非周期性,那么标准结果表明,定义为 n n n 步转移概率 P n ( x , A ) = P ( Φ n ∈ A ∣ Φ 0 = x ) P^n(\mathbf{x}, A) = P\left(\Phi_n \in A \mid \Phi_0 = \mathbf{x}\right) Pn(x,A)=P(Φn∈A∣Φ0=x) 对于每个 n ≥ 1 n \geq 1 n≥1 而言, x ∈ X , A ∈ B \mathbf{x} \in \mathrm{X}, A \in \mathscr{B} x∈X,A∈B,在全变差范数下收敛于 π \pi π:即对于几乎所有 π \pi π 上的 x \mathbf{x} x,
( 4 ) ∥ P n ( x , ⋅ ) − π ∥ : = 1 2 sup A ∈ B ∣ P n ( x , A ) − π ( A ) ∣ → 0 (4)\quad \left\|P^n(\mathbf{x}, \cdot)-\pi\right\|:=\frac{1}{2} \sup _{A \in \mathscr{B}}\left|P^n(\mathbf{x}, A)-\pi(A)\right| \rightarrow 0 (4)∥Pn(x,⋅)−π∥:=21A∈Bsup∣Pn(x,A)−π(A)∣→0
2.2. 基于 Metropolis 的朗之万算法 (MALA)
根据 Besag (1994) 的建议,我们引入了进一步的修改,并遵循 (1) 和 (2) 式的结构,构造了基于 Metropolis 的朗之万算法 (MALA)。
这是一个 Hastings-Metropolis 链 M n \mathbf{M}_n Mn,它使用 ULA 来构造候选链。因此,在给定 M n − 1 \mathbf{M}_{n-1} Mn−1 的情况下, U n \mathbf{U}_n Un 首先被设为如下分布的变量:
N ( M n − 1 + 1 2 h ∇ log π ( M n − 1 ) , h I k ) N\left(\mathbf{M}_{n-1}+\frac{1}{2} h \nabla \log \pi\left(\mathbf{M}_{n-1}\right), h I_k\right) N(Mn−1+21h∇logπ(Mn−1),hIk)将此提议密度记为 q ( M n − 1 , U n ) q\left(\mathbf{M}_{n-1}, \mathbf{U}_n\right) q(Mn−1,Un)。接下来执行接受/拒绝步骤,接受 U n \mathbf{U}_n Un 的概率为
( 5 ) α ( M n − 1 , U n ) = 1 ∧ π ( U n ) q ( U n , M n − 1 ) π ( M n − 1 ) q ( M n − 1 , U n ) (5)\quad \alpha\left(\mathbf{M}_{n-1}, \mathbf{U}_n\right)=1 \wedge \frac{\pi\left(\mathbf{U}_n\right) q\left(\mathbf{U}_n, \mathbf{M}_{n-1}\right)}{\pi\left(\mathbf{M}_{n-1}\right) q\left(\mathbf{M}_{n-1}, \mathbf{U}_n\right)} (5)α(Mn−1,Un)=1∧π(Mn−1)q(Mn−1,Un)π(Un)q(Un,Mn−1)如果 U n \mathbf{U}_n Un 被接受,则设 M n = U n \mathbf{M}_n = \mathbf{U}_n Mn=Un,否则令 M n = M n − 1 \mathbf{M}_n = \mathbf{M}_{n-1} Mn=Mn−1。通过 Hastings 构造,如 (2) 和 (3) 式,MALA 链收敛于 π \pi π,其意义是
∥ P M n ( x , ⋅ ) − π ∥ → 0 \left\|P_{\mathrm{M}}^n(\mathbf{x}, \cdot)-\pi\right\| \rightarrow 0 ∥PMn(x,⋅)−π∥→0对于几乎所有 π \pi π 上的 x \mathbf{x} x,其中我们写作 P M n ( x , A ) = P ( M n ∈ A ∣ M 0 = x ) P_{\mathrm{M}}^n(\mathbf{x}, A) = P\left(\mathbf{M}_n \in A \mid \mathbf{M}_0 = \mathbf{x}\right) PMn(x,A)=P(Mn∈A∣M0=x):这遵循于链在 Roberts 和 Tweedie (1996) 中明确为 μ Leb \mu^{\text {Leb }} μLeb -不可约且非周期性的结果。作为我们结果的一个次要但有用的副产品,我们展示了在几何遍历的情况下,收敛性也适用于所有起始点。
寻找几何速率收敛且适用于每个起始点的条件。
- 当 ULA 是瞬态时,MALA 不是指数遍历的;
- 在 ULA 不是瞬态的情况下,MALA 通常是几何遍历的,意味着它可以较快地收敛到目标分布。如果目标分布的尾部比指数分布更重(即,目标分布在远离中心的区域衰减得比指数分布更慢),那么这种快速的几何收敛性可能会受到影响。
3. Metropolis 调整的朗之万截断算法(MALTA)
最后,我们简要提到对算法进行的一个简单调整,旨在尝试结合随机游走 Metropolis 算法和“目标”朗之万候选 ULA 的最佳特性。我们称此算法为 MALTA(Metropolis 调整的朗之万截断算法)。这个修订算法涉及用截断候选分布替换第一个 ULA 近似:
T n ∼ N ( M n − 1 + R ( M n − 1 ) , h I k ) \mathbf{T}_n \sim N\left(\mathbf{M}_{n-1}+R\left(\mathbf{M}_{n-1}\right), h I_k\right) Tn∼N(Mn−1+R(Mn−1),hIk)其中漂移项现在为:
R ( M n ) = D ∇ log π ( x ) 2 ( D ∨ ∣ ∇ log π ( x ) ∣ ) R\left(\mathbf{M}_n\right)=\frac{D \nabla \log \pi(\mathbf{x})}{2(D \vee|\nabla \log \pi(\mathbf{x})|)} R(Mn)=2(D∨∣∇logπ(x)∣)D∇logπ(x)其中 D > 0 D > 0 D>0 是某个常数。
然后,调整候选跳跃 T n \mathbf{T}_n Tn 以确保正确的平稳分布成立,如在 (5) 中所示。
使用 MALTA,链具有更加稳健的几何遍历性。我们不对 MALTA 进行详细分析,仅指出本文以及 Roberts 和 Tweedie (1996) 中使用的方法可以很容易地应用于该算法的分析。
相关文章:
基于 Metropolis 的朗之万算法
基于 Metropolis 的朗之万算法 1. 未经调整的朗之万算法2. 基于 Metropolis 的朗之万算法 (MALA)2.1. MH算法2.2. 基于 Metropolis 的朗之万算法 (MALA) 3. Metropolis 调整的朗之万截断算法(MALTA) 1. 未经调整的朗之万算法 未调整的朗之万算法 (ULA) 是…...

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频
摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架…...
深入理解FastAPI的response_model:自动化数据验证与文档生成
使用 FastAPI 的 response_model 参数 在构建 RESTful API 时,确保数据的一致性和正确性是非常重要的。FastAPI 提供了强大的工具来帮助开发者实现这一目标。其中一个关键特性是 response_model 参数,它允许开发者定义期望的响应格式,并自动…...

【数据结构与算法 | 灵神题单 | 删除链表篇】力扣3217, 82, 237
总结,删除链表节点问题使用到列表,哈希表,递归比较容易超时,我觉得使用计数排序比较稳,处理起来也不是很难。 1. 力扣3217:从链表中移除在数组中的节点 1.1 题目: 给你一个整数数组 nums 和一…...
快速失败 (fail-fast) 和安全失败 (fail-safe)
1. 定义与工作原理 1.1 快速失败(Fail-Fast) 定义: 快速失败是一种系统设计原则,当系统遇到异常情况或错误时,立即停止执行并返回错误,而不是试图继续执行或处理潜在的问题。快速失败系统会主动检测系统中…...

【MySQL】MySQL中表的增删改查——(基础篇)(超详解)
前言: 🌟🌟本期讲解关于MySQL中CDUD的基础操作,希望能帮到屏幕前的你。 🌈上期博客在这里:http://t.csdnimg.cn/fNldO 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 目录 …...

【B题第二套完整论文已出】2024数模国赛B题第二套完整论文+可运行代码参考(无偿分享)
2024数模国赛B题完整论文 摘要: 随着电子产品制造业的快速发展,质量控制与成本优化问题成为生产过程中亟待解决的核心挑战。为应对生产环节中的质量不确定性及成本控制需求,本文结合抽样检测理论和成本效益分析,通过构建数学模型…...

大数据之Flink(四)
11、水位线 11.1、水位线概念 一般实时流处理场景中,事件时间基本与处理时间保持同步,可能会略微延迟。 flink中用来衡量事件时间进展的标记就是水位线(WaterMark)。水位线可以看作一条特殊的数据记录,它是插入到数…...

《Web性能权威指南》-网络技术概览-读书笔记
注:TCP/IP等知识牵涉面太广,且不说本文,哪怕是原书,限于篇幅,很多知识点都是大致介绍下。如果想深入理解,需要更一步Google相关页面资料。 延迟与带宽 WPO,Web Performance Optimization&…...

最新版php进销存系统源码 ERP进销存专业化管理 永久免费升级更新+完整图文搭建教程
在当今信息化时代,企业管理的高效性与精确性是企业竞争力的关键。分享一款最新版的PHP进销存系统源码,一款专为企业设计的ERP进销存管理工具,其丰富的功能、灵活的子账号设置、强大的权限控制、以及独家升级的合同管理和报价单打印功能&#…...
【高效办公】三、两台电脑共享鼠标、键盘和文件,两台电脑当一个用的神操作!barrier
1.下载 ubuntu:sudo apt install barrierwindows:https://github.com/debauchee/barrier/releases-下载 : 2.4.0-Assets-BarrierSetup-2.4.0-release.exe 2.运行 ubuntu:sudo apt install barrierwindows:https://github.com/debauchee/barrier/releases-下载 : 2.4.0-Asset…...
智能合约系统DAPP开发
智能合约系统DAPP(去中心化应用)的开发是一个复杂且综合性的过程,它结合了区块链技术、智能合约编程、前端开发以及安全性等多方面的知识和技能。以下是对智能合约系统DAPP开发过程的详细概述: 一、需求分析 明确应用场景…...

宠物狗检测-目标检测数据集(包括VOC格式、YOLO格式)
宠物狗检测-目标检测数据集(包括VOC格式、YOLO格式) 数据集: 链接:https://pan.baidu.com/s/1roegkaGAURWUVRR-D7OzzA?pwddxv6 提取码:dxv6 数据集信息介绍: 共有20580 张图像和一一对应的标注文件 标…...

2.5多任务示例编程2
1.CUBEMX配置 2.代码 void StartADC(void const * argument) {/* USER CODE BEGIN StartADC */TickType_t pxPreviousWakeTimexTaskGetTickCount();/* Infinite loop */for(;;){HAL_ADC_Start(&hadc1);if(HAL_ADC_PollForConversion(&hadc1,100)HAL_OK){uint32_t valu…...

JavaWeb - 4 - Vue Ajax
一.Vue Vue Vue是一套前端框架,免除原生JavaScript中的DOM操作,简化书写 基于MVVM(Model-VIew-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上 官网:https://cn.vuejs.org…...
深入掌握Go语言中的正则表达式与字符串处理
Go语言中的正则表达式与模式匹配 在编程中,字符串处理是常见的需求之一,而正则表达式则是一个强大的工具,能够帮助我们实现复杂的字符串匹配、提取和替换功能。Go语言内置了对正则表达式的支持,通过regexp包,我们可以…...
Docker进入容器运行命令
Docker进入容器运行命令 1. **使用 docker exec 进入容器并运行命令**语法:示例 1:进入容器并启动交互式 Bash 终端示例 2:在容器中运行单个命令 2. **使用 docker attach 进入容器**3. **使用 docker run 启动新容器并运行命令**4. **使用 d…...

[数据集][目标检测]机油泄漏检测数据集VOC+YOLO格式43张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):43 标注数量(xml文件个数):43 标注数量(txt文件个数):43 标注类别数…...
Python实现读取Excel数据详细教学版
Python实现读取Excel数据详细教学版 在处理数据和进行数据分析时,Excel文件是常见的数据载体。通过Python读取Excel数据,可以方便地对数据进行进一步的处理和分析。以下将详细介绍使用Python读取Excel数据的方法和相关库的使用,并提供具体代…...

【HarmonyOS】- 内存优化
文章目录 知识回顾前言源码分析1. onMemoryLevel2. 使用LRUCache优化ArkTS内存原理介绍3. 使用生命周期管理优化ArkTS内存4. 使用purgeable优化C++内存拓展知识1. Purgeable Memory总结知识回顾 前言 当应用程序占用过多内存时,系统可能会频繁进行内存回收和重新分配,导致应…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...