隠れマルコフモデル
フィルタリングが系列の最後の状態を求めるのに対して、平滑化 (smoothing) は系列の途中のどこかの時点での潜在変数の確率分布、つまり ある時刻 k < t {\displaystyle k<t} における P ( x ( k ) | y ( 1 ) , ... , y ( t ) ) {\displaystyle P(x(k)\ |\ y(1),\dots ,y(t))} を求めるものである。これはフォワードバックワードアルゴリズムで効率的に解くことができる。
バウム・ウェルチアルゴリズム(Baum-Welch algorithm)は、モデルが出力した系列からモデルパラメータを推定するアルゴリズムである。前向きアルゴリズム、後ろ向きアルゴリズム、EMアルゴリズムから構成される。前向きアルゴリズムおよび後ろ向きアルゴリズムは動的計画法の一種であり、ある時点で各状態にいる確率を求めるアルゴリズムである。
遠くに住んでいる友人のアリスとボブがいて、電話で毎日お互い自分のしたことを話している。ボブは「公園での散歩 (walk)」、「買い物 (shop)」、「部屋の掃除 (clean)」の3つのことにしか関心がない。何をするかは、その日の天気によってのみ決めている。アリスはボブが住んでいる地域の日々の天気については具体的に知らないが、一般的な天候の変化については知っている。ボブが毎日話すことにもとづいて、アリスは天気がどのようになっているかを推測しようとする。
アリスは、天気が離散マルコフ過程として変化すると考える。天気には「雨 (Rainy)」と「晴れ (Sunny)」の2つの状態があるが、アリスはそれを直接知ることができないから「隠れ」た状態である。毎日、ボブは天気に応じて「散歩」「買い物」「掃除」のどれかひとつだけを必ずする。ボブがそれをアリスに話すことが、アリスにとっての観測(ボブからの出力)である。この状況全体が隠れマルコフモデルとなる。