L13 Bayes Nets Approximate Inference

  • Approximate Inference 近似推理

    • 基本思想
      • 对分布 S 采样 N 次
      • 计算近似的后验概率
      • 表明该近似可以收敛到真实概率P
    • 看一个这样的例子,程序A和B玩大富翁
      • 方法一(精确推理)
        • 我们给定执行的序列s,包含各项动作
        • V(s)表示最终的结果 1 是 win、0是loss
        • 那么A赢的概率是 \(\sum_s P(s)V(s)\)
        • s过于大且多了,完全算不过来啊
      • 方法二(近似推理)
        • 我们执行N次游戏
        • 那么A赢的概率近似是 \(\frac{\sum_i V(s_i)}{N}\)
        • 这是可以接受的
  • Sampling 采样

    • 离散分布拟合
      • 我们有一个从0到1的均匀随机数生成器
      • 为了拟合 \(P(a)=0.6/P(b)=0.3/P(c)=0.1\) 的分布
      • 可以 0-0.6 视作a,0.6-0.9 视作 b,0.9-1 视作 c
    • 四种在Bayes Nets中采样方法 --- prior sampling、rejection sampling、likelihood weighting、Gibbs sampling
      • 💡我们是知道Bayes Nets的即拓扑+CPTs,但是知道CPTs后进行精确推理依然计算量庞大,特别是网络复杂时,因此近似推理依然是有意义的
      • prior sampling 先验采样 --- joint probability
        • 我们根据 Bayes Nets 从根开始往后采样,得到诸多的采样样本
        • 这样我们要计算某个变量或某些变量的联合概率时,我们只用统计该变量各个值或某些变量各种值出现的情况即可
      • rejection sampling 拒绝采样 --- conditional probability
        • 简单的前置采样应用以估计条件概率
          • 假设我们想计算 P(C| r, w)
          • 对于这些计数,带有 -r 或 -w 的样本不相关
          • 因此,只计算具有 r, w 的样本的 C 结果,并拒绝所有其他样本
        • 上述的过程就是 拒绝采样
      • likelihood weighting 似然权重
        • 拒绝采样中,我们有证据了但是很多样本与证据不符合要被删除,导致样本浪费
        • 似然权重就是我们将已知证据的变量固定,然后采样其余变量,这样会导致采样的分布不对,我们需要进行纠正
        • 纠正就需要似然权重,由于我们知道 CPTs,我们就利用证据的CPTs表来更新权重,比如似然权重.png
          • 以上 S 和 W 已经固定为 s和w
          • 当采样到已知证据的变量时,固定为证据,同时需要对权重乘上它CPTs表中对应的概率
          • 而采样未知证据的变量时,正常采样即可
        • 似然加权是重要性采样的一个例子
          • 基于从P中抽取的样本来估计某些数量
          • P难以抽取样本,因此使用Q代替
          • 将每个样本x按P(x)/Q(x)加权
        • 似然权重依然有问题
          • 证据只能影响其下游节点
      • Gibbs sampling 吉布斯采样
        • Markov Chain Monte Carlo (MCMC)(马尔可夫链蒙特卡洛)是一系列用于在大状态空间中近似感兴趣的一些量的随机算法的集合。该采样属于这种算法
        • 考虑X的三种变量构成X的Markov Blanket
          • X的父节点
          • X的子节点
          • X的子节点的其它父节点
        • pipeline
          • 从 P(Xi | X1,..., Хi-1, Xi+1.., Xn) = P(Xi| markov_blanket(Xi)) 中采样非证据变量 X,重复多次,例如Gibbs.png
          • 具体采样的方法:只有包含重新采样变量的CPTs需要考虑,并将它们连接起来,如下mcmc.png