蒙特卡罗优化中的随机近似方法
1. 随机近似概述
在优化问题中,有时我们会直接处理目标函数 $h$,而非着重于快速探索其定义域 $\Theta$。这类方法借助模拟来近似目标函数 $h$,不过,相较于其他方法,这种近似会引入额外的误差。
2. 蒙特卡罗近似优化
当目标函数 $h(x)$ 可表示为 $E[H(x, Z)]$ 但无法直接计算时,自然会想到用蒙特卡罗方法进行近似。常见的近似公式为:
$\hat{h}(x) = \frac{1}{m} \sum_{i=1}^{m} H(x, z_i)$
其中,$Z_i$ 是从条件分布 $f(z|x)$ 中生成的。虽然这个近似对于每个 $x$ 值都能得到 $h(x)$ 的收敛估计,但在优化场景中并不推荐使用。因为 $Z_i$ 的样本会随 $x$ 的变化而改变,使用迭代优化算法会导致 $h$ 的评估序列不稳定,从而使 $\arg \max h(x)$ 的求解结果噪声较大。
下面通过一个简单的概率单位模型(probit model)的贝叶斯分析示例来说明。在该模型中,二元变量 $Y \in {0, 1}$ 基于协变量 $X$ 的条件分布为:
$P_{\theta}(Y = 1|X = x) = 1 - P_{\theta}(Y = 0|X = x) = \Phi(\theta_0 + \theta_1 x)$
我们希望推导 $\theta_0$ 的边际后验众数。以 Pima.tr 数据集为例,选择身体质量指数(bmi)作为 $X$,糖尿病指标(type)作为 $Y$。在平坦先验下,$\theta_0$ 的边际后验众数可表示为:
$\arg \max_{\theta_0} \