👓

蒙特卡洛积分

💡
Why: we want to solve an integral, but it can be too difficult to solve analytically. 给任何一个函数,算出定积分。
💡
What & How: estimate the integral of a function by averaging random samples of the function’s value.
notion image
如果函数比较复杂,写不出解析式,如何求积分?
蒙特卡洛积分,随便取一个数,可以取到 f(x)。如果曲线就是一个长方形,那么高度就是 f(x),长度就是 a 到 b。我们可以用长方形的面积来近似曲线围出来的面积,重复多次这个过程。假如采样到 xi,采样非常多次,每次长方形面积不相同,最后平均起来,就能得到近似的结果,在积分域内不断采样。
notion image

Example: Uniform Monte Carlo Estimator

notion image
如上图右下,如果 a~b 之间均匀地采样,那么采样用的 PDF 应该是各处相同的,为常数 C。因为 PDF 在积分域上积分起来结果是 1,那么 PDF 解出来为 1/b-a。
notion image
如果用蒙特卡洛积分来算,首先要知道 f(x) 和 p(x),然后求 f(x) 除以 p(x) 求平均值即可。p(xi) 永远是 1/b-a。
 
notion image
蒙特卡洛积分要做的事情:在积分域内以一个 PDF 采样,采样的样本对应的 f(x) 和 p(x) 两个一除,求平均即可。任何的积分都能这么做,只需要对积分域之内,知道其采样点和 PDF 概率密度即可, N 越大越准确。