穷举搜索( 7-2'!2,')
给定隐马尔科夫模型,也就是在模型参数( )3)4(已知的情况下,我们想找到观察序
列的概率。还是考虑天气这个例子,我们有一个用来描述天气及与它密切相关的海藻湿度状
态的隐马尔科夫模型"(, 另外我们还有一个海藻的湿度状态观察序列。假设连续 天
海藻湿度的观察结果是(干燥、湿润、湿透)——而这三天每一天都可能是晴天、多云或下
雨,对于观察 序列以及隐藏的状态,可以将其视为网格:
网格中的每一列都显示了可能的的天气状态,并且每一列中的每个状态都与相邻列中的
每一个状态相连。而其状态间的转移都由状态转移矩阵提供一个概率。在每一列下面都是某
个时间点上的观察状态,给定任一个隐藏状态所得到的观察状态的概率由混淆矩阵提供。
可以看出,一种计算观察序列概率的方法是找到每一个可能的隐藏状态,并且将这些隐
藏状态下的观察序列概率相加。对于上面那个(天气)例子,将有 =0 种不同的天
气序列可能性,因此,观察序列的概率是:
".))88.%(0".))88.%'.)'.)'.(>
".))88.%'.)'.)'.(>".))88.%
'.)'.).(>".))88.%.).).(
用这种方式计算观察序列概率极为昂贵,特别对于大的模型或较长的序列,因此我们可
以利用这些概率的时间不变性来减少问题的复杂度。
使用递归降低问题复杂度
给定一个隐马尔科夫模型(),我们将考虑递归地计算一个观察序列的概率。我
们首先定义局部概率($$.))它是到达网格中的某个中间状态时的概率。
然后,我们将介绍如何在 0 和 0"?(时计算这些局部概率。
假设一个 @长观察序列是:
局部概率" A(
考虑下面这个网格,它显示的是天气状态及对于观察序列干燥,湿润及湿透的一阶状态
转移情况: