作为 inference 部分的小结,我们这里对 machine learning 里面常见的三个 model 的 inference 问题进行整理,当然很幸运的是他们都存在 tractable 的算法是的我们避免了烦人的 approximate inference。
HMM
常意所说的 HMM 是对离散状态、离散观测情形下的一种 generative model,它包括
- 状态的先验分布 (在下面的推导中我们可以将其藏在转移概率中)
- 转移状态 ,这是对 的分布
- 发射概率 ,这是对 的分布
这个模型的潜台词是
- Markovian property:
- time-invariance:
因此联合分布的概率为
其中 故可省略。下面我们分别讨论这上面的 message passing、belief update 和一些常见的 inference 问题。
message passing 需要建立一个 cluster graph,当然实际也是一个 clique tree,这个图上的顶点包括 ,这是将 、 和 绑在一起,;则每个对应的 。于是可以计算前向的消息,
其中 ,后向消息为
其中 。如果仔细分析一下这些消息,我们就会发现,前向消息其实是边际分布
我们可以继续代入后面的消息里面,
如果观测是给定的,即 已知,这获得的将是 。对后向消息而言,
代入后面的消息有
都是常数。如果 是已知的,这将获得 。
对于 MAP 类型的 query,我们需要使用 max-product 算法,此时的前向消息为()
且
后向消息为
且
对 belief update 来说,belief 是 上的边际分布
而对应的 belief update 为
类似可以导出 MAP 类型下的形式。这样,对于 filtering 来说 可以将前向消息归一化,而 prediction 使用的概率
是归一化后的值。smoothing 需要求 ,本质上就是 ,这直接使用 MAP 类型两种 message 就能给出两种算法。
LDS
LDS 和 HMM 具有类似的图结构,但是对应的状态和观测均为连续分布,因而常使用 Gaussian 建模。
其中,
另一种描述这种关系的形式是使用 additive noise,
使用的 clique tree 与前面一致,前向消息为
且
其中 and ,后向消息也均为 1。对 MAP 类型的 query,前向消息为
关于 的优化问题是
其解为
这是 的线性函数,因此大致的求解过程是,从 的二次方程中解出 得到一个使用 的线性函数表示的关系,代入后得到 的消息,这仍然是一个二次函数,向后代入即可。最后获得的 的方程解出 后进行回代就解出了其他的隐变量。
beliefs 为
且
类似有对应 belief。
对 filtering 问题,给定 后计算 可使用前向消息,
其中,
且
其中
令 且 则以上计算可用统一的形式表述。
对 prediction 问题,给定 , 可使用 filtering 的结果计算
MEMM
我们直接对 使用 ME 建模,但是为了引入上下文关系,我们可以将这个 ME 弄成多个 ,这也就是说前面一个状态决定了后面使用的 ME 的参数。这样似然函数为
这里的假定有,
- Markovian 性:,
- ME 假定:
我们使用与 HMM 一致的 cluster graph,前向消息为
后向消息为
max-product message passing 仅仅需要将求和换成 max。belief propagation 中 belief 为
且 belief update 为
其 filtering、prediction 和 smoothing 算法与 HMM 完全一样。
CRF
其假设为
- Markovian 性,与 MEMM 类似;
- invariant factor:对每个 transition,我们引入一个 log-linear 表示,,其中 是所谓的 feature;
类似前面可以定义消息、belief 等。如果需要计算 log-likelihood,我们需要求 partition function 的函数值,这需要使用前向消息
就能避免指数求和项,而计算梯度的时候,
其中后者需要 ,这正是 belief。
——————
And Sarah saw the son of Hagar the Egyptian, which she had born to Abraham, mocking.