关于蒙特卡洛方法的初学问题
人工智能吧
全部回复
仅看楼主
level 4
各位好,初学者又来啦。最近在学习monte carlo 采样方法,有以下几点疑问,可能是我太钻牛角尖,但是真的不能自己弄明白:
以上是老师的板书
问题背景:在机器学习或者 深度学习方面,蒙特卡洛被使用的背景理解,因为网上都是关于什么求位置面积的解释,在这里不太用得到。我理解了一下,为什么会引入蒙特卡洛方法。通过贝叶斯公式p(z|x)=p(x|z)p(z)/p(x),其中,p(x)展开后是一个积分项很难求,因此造成左边后验p(z|x)不好求得,因此才要引入蒙特卡洛方法进行采样。
问题1:为什么老师在讲到采样方法时候,说p(z)已知?我知道montecarlo方法是已知概率,然后来采样,但是我不能理解这个已知概率是设出来的么还是怎么假设出来的?老师又说,p(z)已知,但是图像很难画出来,这个我就很费解了。另外,在实际过程中,p(z)是怎么被假设出来的呀????
希望大佬可以从机器学习的方面给我解释下,最好也解释下具体是怎么使用monte carlo采样的。跪谢跪谢
2021年04月03日 03点04分 1
level 12
你板书可能抄错了。因为错得有点多,并且这种板书相当于断章取意,老师的说明对于这种板书往往是一块必须,所以最好翻书后给出较
正确的
再讨论。
2021年04月03日 04点04分 2
第一个图没啥问题,第二个图是错了的
2021年04月03日 04点04分
为什么p(z)说已知呢,其实是可知,因为要采样,,采样之后自然就知道对应于z的连续微分区域内的概率密度函数,进而可得到微分区域内的p(z)了。至于蒙特卡罗采样,主要是利用马尔可夫覆盖来提高采样效率,约束采样不要采到很多用不上的样。采样的目的就是获得可得出统计量的原始数据。
2021年04月03日 04点04分
最好找书本上的帮助理解,可以缩小需要解决问题的数量。
2021年04月03日 04点04分
现在这种方法主要是吉布斯采样,对于需要的边缘概率,不直接采样那些边缘概率所有的状态,而采样其每一种变化的条件概率,例如p(a,b,c),采样p(a|变b,变c)的,采样p(c|变b,上次变得的a)和p(b|上次变得的c,上次变得的a)的,这样采样容易高效些,因为每次采样,新的abc的状态都来自于原来的有限变化。
2021年04月03日 07点04分
level 1
在贝叶斯统计推断中,似然是根据你对数据的理解或经验选一个分布,比如身高数据选高斯分布。p(z)是先验,一般选beta分布,因为beta分布可以模拟各种常见分布的曲线形式。
先验代表人的经验,首次计算,如果预先不想做任何假设就把beta分布的参数设为默认值1,再通过学习不断更新,但实际情况一般是根据自己的主观经验来设置一个值。
后验可以看作是给定了数据之后更新了的先验,批量更新先验值和一步一步更新的结果是一样的,在很多情况下,每当我们采集了新的数据时就可以更新估计值。
2021年04月03日 13点04分 3
如果是01值,采样结果事实上是伯努利分布或binomial分布,而这种分布与beta分布共轭,bayes公式计算时有简化计算的优势,所以,那些二值的bayes网络,一般用beta,如果是多值,一般会用迪利克雷分布,它是多值的共轭。共轭分布的优势可以查网络上的图解,好处是bayes转换后仍是beta分布且仅参数小变。
2021年04月03日 14点04分
高斯的共轭是高斯,这个最容易记,但高斯主要用于连续值。
2021年04月03日 14点04分
其实中要两种分布相乘,都可以利用共轭分布简化计算。
2021年04月03日 14点04分
比如说我先设先验p(z)是beta分布,然后采样,得到了后验p(z|x),那我该如何去更新原先设置的p(z)的beta分布中的参数呢,我不太清楚如何给先验做批量更新?如果z就取 a b c 三个值,那我不是直接比较p(z=a|x) p(z=b|x) p(z=c|x) 哪个比较大就可以决定选哪个了么?
2021年04月04日 02点04分
level 4
谢谢大佬们的回复,我想通过假设一个例子来cue一遍流程,假设
数据集为{(x_1,z_1),(x_2,z_2),...,(x_n,z_n)},X为观测变量,Z为隐变量以及参数,
实际任务是给一个新的x_new,然后通过学习到的方法得出相关的输出对么,也就是说我们要找到X和Z之间的联系。
然后的大体流程是(如果用贝叶斯派和蒙特卡洛采样的思想怎么来想这个解题的流程)?
2021年04月04日 08点04分 4
你这个成了隐马尔可夫的参数学习了,那不是bayes网络和mcmc模型了,这个可以用HMM,当然,里面也是用了bayes进行中间参数评价的。有软件叫hmmLearn,可以参考这软件的资料学习。
2021年04月04日 12点04分
1