百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

采样算法:马尔科夫链中的各类蒙特卡洛采样算法「2.1」

cac55 2024-10-03 17:48 17 浏览 0 评论

最近学习了机器学习中的马尔科夫链蒙特卡洛(Markov Chain Monte Carlo, 简称MCMC) 相关的知识。

主要内容包括:

【1】蒙特卡洛原则,及其应用于采样的必要性

【2】用于求解最大似然、近似推断、期望问题的经典采样算法:Metropolis-Hastings,Rejection,Importan,MetropolisGibbs算法。

【3】马尔可夫链各个性质在蒙特卡洛采样问题中的应用,包括同质性,平移不变性

—————【2】—————

采样过程的本质,可以理解为实现目的【已知目标函数的形状,不能求得函数的真实形式,但又要获取服从此目标函数分布的样本集合】而采用的获取样本的方法。我们的目标,是一个集合{x1,...,xN}。

【拒绝采样算法 Rejection】

假设要从分布p(z)中采样,p(z)不能直接求,但根据贝叶斯公式分解为 P_(z)*(1/Z), 这个假设即意为:分子项P_(z)类似 P(y|x)*P(x),为已知;分母项为 P(y)=积分x(P(y|x)*P(x) dx), 分母项为不可直接求的未知正态化常量

拒绝采样算法的思路是这样的:

下图中,红色曲线及其覆盖的白色区域,是我们要求的目标概率密度函数,即目标分布,同时也是上面提到的P_(z),蓝色曲线及其与红色曲线之间的灰色区域,是我们假设出来的一个函数q(z),它的性质,我们要求它乘以常数k(某个一定存在的常数)后,在z的定义域上每一点,都使得 k*q(z) >= P_(z) 成立。


由于这里的q(z)即途中蓝色曲线是我们所假定的某个函数,我们要求它具有易于完成采样操作的性质,例如,这里我们假设它是高斯分布。而目标函数红色曲线P_(z),我们知道它在整个定义域上对每个z的函数值,但不知道它的具体函数式。

因此接下来重复N次,获取N个样本:

1、在【0,1】的区间内均匀随机取一个小数u

2、从蓝色曲线的假定分布q(z)随机采样zi和q(zi)

3、检验 k*q(zi)*u > p_(z),则拒绝;否则保留此样本作为最终采样结果集合的一个元素

这样就得到了满足真实分布p(z)的计量分布p_(z)的样本集合,即使未求出此分布的具体表达式。

拒绝采样算法使用的假设分布这样取是为了优化速度,如果使用更大范围的q(z)比如矩形,最终结果也不会改变,只是运行更慢。

它的问题在于:1、对整个定义域z,这个假设分布q(z),不一定存在,因为它需要满足kq(z) > p_(z) 的性质,若k非常大才能满足之,则每个随机采样的样本被接受的概率太小,在高维情况下此方法会难以运算。

【重要性采样算法 Importance】

重要性采样的思路,同样假设一个易于采样的分布q(z),但对其样本不是保留一部分,而是全部保留,但使用重要性参数调整其权重,来求目标概率密度函数的期望,此期望由蒙特卡洛原则证明趋近于真实目标函数的概率密度(见【1】)。

目标概率密度函数f(z)的期望,通过引入假设概率q(z),转化为对 (f(z)*p/q)的期望,根据蒙特卡洛原则转化为L个样本的重要性加权函数值的和。重要性系数为p(zi)/q(zi),记为ri。这些重要性系数修正了从假设分布q(z)中采样产生的误差,保留了所有采样样本。

通常,目标函数的后验估计P_(z)容易估计,但正态化系数Zp未知。(【1】中已经讨论),同样的方式定义假设分布 q(z)=q_(z)/Zq ,带入上面的推导,则 E[f]= Zq/Zp *(1/L)* sum(r_*f(z)), 这里 r_= p_(z)/q_(z)

因此,求 Zp/Zq= P_(z)对所有z求积分 /Zq= 1/L * sum(r_),带入求得 E[f]=sum(w*f(z)),其中w为重要性权重w= r_i / sum(r_L),r_=p_(z)/q_(z)可以轻松求得(p_,q_可观测)。

重要性采样算法的不足:

1、算法成功依赖于假设分布q(z)和p(z)的相似性

2、快速波动的p(z)*f(z)会导致大量样在本在z上集中在小区域

3、重要性权重r可能被一小部分值很大的权重主宰

这些因素的存在会导致采样结果失真于真实分布。

【在贝叶斯网络中应用重要性采样】

目标是求P(xf | xe)分布的样本,即为图中概率。

假设不能直接求此条件概率,使用重要性采样获取满足此条件概率的样本。首先将条件概率写成 p(x1,x4,x5,x2=1,x3=1)/p(x2=1,x3=1)=p(xf,xe)/p(xe)=1/Zp * p_(x),其中p_(x)为未正态化的目标分布。

假设分布,可以设为q(x1,x4,x5)=p(x1)p(x4|x3=1)p(x5|x2=1),对此假设分布采样:

从p(x1)中采样x1,从p(x4|x3=1)中采样x4,从假设分布的边缘分布采样x1,x4,x5。边缘分布概率图中已经给出。

接下来求每个样本的重要性权重,wi= r_i / sum(r_L)。例如样本{x1=0,x4=1,x5=1},求出p_(xi)=0.006912,直接根据贝叶斯图给出的关系和概率值计算。q(xi)=0.288,根据我们之前假设的假设分布的概率计算关系q(x1,x4,x5)=p(x1)p(x4|x3=1)p(x5|x2=1。这样就求出了每个样本的权重。

最后,我们真正要求的条件概率 p(x1,x4,x5|x2=1,x3=1) 就是 【满足x1,x4,x5某个条件状态的所有样本权重之和】/【所有状态样本权重之和】。这样就证明了我们采集的样本服从于我们的目标分布。

回顾整个采样过程,避开了直接求条件概率,做了以下几件事:

1、将目标条件概率转换为 联合概率(易求)/ 全概率(回避),联合概率已知

2、应用蒙特卡洛原则,将期望公式变形为假设分布、联合概率相关的权重值公式

3、假设分布已知,联合概率已知,则可求出每个样本的权重值。

4、执行采样,对假设分布均匀采样,经过上述处理求出目标条件概率的数值。

且蒙特卡洛原则证明了随着样本量的扩大,此数值解逼近于真实积分值。

相关推荐

服务器用的CPU和个人电脑用的CPU有什么区别?一篇文章告诉你!

服务器cpu和普通cpu的区别你的电脑CPU是‘短跑健将’,服务器CPU却是‘铁人三项选手’——它不追求瞬间爆发力,而要7×24小时扛住千军万马的数据洪流!想知道为什么企业机房敢收天价服务费?答案全藏...

“吃鸡”新版本第1天,玩家进入游戏点击“立即更新”,后悔了!

欢迎诸位小伙伴们来到天哥开讲的《和平精英》“精英小课堂”~每逢两三个月,这款游戏就会迎来一次大版本迭代更新,很多朋友会在第一时间更新版本,前往全新的主题模式里一探究竟。不过也有一些老玩家并不会立刻更新...

中关村在线·aigo存储杯《无畏契约》全国高校争霸赛招募启事

以青春之名,燃电竞之火1赛事背景与宗旨在金秋送爽的9月,芊芊学子们即将回归校园生活。为了给精彩的校园生活锦上添花,由中关村在线与aigo存储联合主办的《无畏契约》全国高校争霸赛正式启幕,旨在为全国高...

【生肖狗】9.7-9.10提醒:人算不如天算,转变即是转机

九月上旬的风,带着秋意的清爽,也带着几分不可捉摸的变数。对于生肖狗的朋友们来说,9月7日到9月10日这四天,格外需要留意“计划与变化”的碰撞——你们向来习惯提前规划,做事稳妥周全...

转转客服IM系统的WebSocket集群架构设计和部署方案

本文由转转技术李帅分享,原题“转转客服IM的WebSocket集群部署方案”,下文有修订和重新排版。1、引言转转作为国内头部的二手闲置交易平台,拥有上亿的用户。用户在使用转转app遇到问题时,一般可以...

上线3天Steam好评率86%,《时间旅者:重生曙光》开启生存恐怖新篇章

这里究竟发生了什么?末日降临,真正的故事悄然启幕。目前,生存恐怖类游戏《时间旅者:重生曙光(Cronos:TheNewDawn)》已在PC(Steam、EpicGamesStore)、P...

什么神仙洗衣机让我一天有28小时?拆开松下「大四洗」藏了啥秘密

说起家庭洗衣的烦恼,想必很多人都有过类似的经历:贴身内衣要单独洗,宝宝的口水巾得小心呵护,宠物玩具怕藏污纳垢,床单被套又体积庞大,把这些东西混在一起洗担心越洗越脏,分开洗又得反复操作,洗完烘、烘完再洗...

爆料人挖出GTA6注册的奇葩域名 延续经典讽刺风格

等待《侠盗猎车手6》的日子跨越了数个春秋,在游戏圈期盼着这部可能成为史上最重磅游戏的过程中,每过一段时间就会有些许消息浮出水面。最新线索来自数据挖掘者Tez2在GTA论坛的发现,他可能偶然发现了关于...

跟着故事去旅行——读《驼峰间:旅行、探险与征服》

作者:郭冰茹《驼峰间》记录了旅行家伊本·白图泰有生之年流传的一则寓言,说一对父子被关进了监狱,有一天儿子问父亲他们每天吃的都是些什么肉,父亲说有牛、羊和骆驼,并且详细地描述了每种动物的特点。但不管父亲...

前端工程师需要熟悉的Linux服务器(SSH 终端操作)指令

在Linux服务器管理中,SSH(SecureShell)是远程操作的核心工具。以下是SSH终端操作的常用命令和技巧,涵盖连接、文件操作、系统管理等场景:一、SSH连接服务器1.基本连接...

跳票6年后,「丝之歌」首发把Steam服务器干爆了 | 玩点好的

文丨果脯樱花隧道昨天晚上22点,「鸽」了6年的《空洞骑士:丝之歌》终于上线,算是了却不少玩家的执念。毕竟,这款游戏实在让人等了太多太多年,而且曾有过多次定档后跳票的「案底」,不知道把多少人都整出了P...

对标魔兽失败!腾讯版“魔兽”运营一年多后,宣布国际服凉凉

大家好,这里是正惊游戏,我是正惊小弟。有很多游戏都想干掉《魔兽世界》,但是大部分魔兽杀手都知道自己不是魔兽的对手,不过是想蹭一下人气而已。腾讯也有一款曾经想对标魔兽的大作,可是上线才一年半国际服就宣布...

408 Request Timeout:服务器等待客户端发送请求的时间过长。

408RequestTimeout是HTTP状态码之一,表示客户端在发送请求时,服务器等待的时间过长,最终放弃了处理该请求。此问题通常与网络延迟、客户端配置、服务器设置或者应用程序的性能有关...

梦幻西游:9.9维护解读,全新时间服锁定129级

梦幻西游:9.9维护解读,全新时间服锁定129级9月9日维护解读。1、教师节活动开启,一共7天。挂机,答题,收笔墨纸砚,收海马,搞起来。或者是提前收点家具,教师节期间体力珍贵,家具会涨价。又或者是教师...

只是拆掉一面墙,空间就立马大变样,这种设计思路,值得学习

你有没有过这样的经历?刚买的房子户型图看起来方方正正,装修完却发现——玄关鞋柜只能塞在角落,进门就撞墙;餐厅正好在过道中间,吃饭像走流程;明明有四个房间,却有一个空着没用,像块食之无味的鸡肋;客餐厅之...

取消回复欢迎 发表评论: