線形動的システム Linear Dynamical System 解説
状態空間モデルの隠れ変数が連続的なモデルである線形動的システム(linear dynamical system, LDS)について紹介します。状態遷移確率、出力確率が条件付き線形ガウス分布で書けるという仮定が必要です。
具体的には以下の形でかけます。
ここで、は観測変数系列、隠れ変数系列を表します。 多くの場合では時系列データを考えるので、indexをtでおいて とします。観測データの次元をN, 系列の長さをT, 隠れ変数の次元をMとします。 は連続値のベクトルになります。
グラフィカルモデルは以下のような形です。
線形動的システムにおいてもHMMと同じような問題が考えられます。
- を最大にするようなパラメーター を推定する
- 観測データを得た時に最適な隠れ状態の系列を知りたい
まずは2の問題について考えます。
目次
最適な経路
2の問題については線形ガウス分布でモデル化されていることから、個々の時刻において最適な隠れ状態を取れば、最適な経路になることが言えます。そのためviterbiアルゴリズムのようなことはしなくてよくて、フォーワードバックワードアルゴリズムだけを計算すればよいです。
カルマンフィルター
カルマンフィルター(Kalman filter)として知られるフォーワードアルゴリズムについて取り上げます。 ここで目標としているのは、 観測データを得た時に、次の時刻の予測をすることです。
HMMでのスケーリングされたフォーワードアルゴリズムにしたがって進めます。 観測データを得た時に、隠れ状態を得る確率について考えます。 全ての条件付き確率がガウス分布なので次の分布はガウス分布でかけます。
ここにおけるはある定数です。
HMMでのフォーワードの式の積分版を考えると、
とかけます。 ここでのこと。 これに具体的なガウス分布を代入してみると、(の具体的な形は今の段階では不明)
where
ガウス分布なので公式のようなものが利用できる
ここで、Kalman gain matrix を次のように定義した。
よってパラメーターの時間発展として、次が得られます。
解釈
はじめにも言ったように、線形動的システムでは隠れ状態の最適な系列はその時刻ごとの最適な状態になるので、 隠れ状態 の予測をするときにはを使います。 そして観測状態の予測はになります。 これらは状態遷移確率、出力確率の仮定から従います。
次に、を実際に観測すると、はがgivenな状態に変わるので予測値は
のように修正が入って新しくなったと解釈できます。
カルマンスムーザ
カルマンスムーザー(Kalman smoother)はバックワードアルゴリズムに対応するものです。 時刻Tまでの観測データを得ている時に隠れ状態 の推定をする時に使います。 具体的には
を計算します。すでには求めているので、 バックワードアルゴリズムからを求めます。 また、フォーワードの計算の時と同じように、線形ガウスで全ての分布が書かれていることから
と置けることがわかります。
バックワードのスケーリングされた時間発展の式は以下のようになります。(HMMで求めたものを隠れ状態については積分形にしただけです)
両辺にをかけると、
ここの過程はあとで書きます。
最終的にパラメーターの時間発展として、次が得られます。
解釈
全時刻の観測データを使うので、より正確な隠れ状態の推定ができていると考えることができます。 隠れ状態の平均は、時刻1からtまで得た時の推定値に 修正を加えたと考えることができます。
パラメーターの推定
観測データを時刻Tまでえたらパラメータの推定ができます。 厳密な解析解があるわけではないので、EMアルゴリズムによってパラメーターを求めます。
完全データの対数尤度関数の値が収束したら終了です。 現実の利用では、パラメーターの変化がある程度小さくなったら打ち切りにすることが多いかと思います。
E step
KL divergenceを0にする隠れ変数の事後分布は現在の尤度関数の形からわかります。
M stepで必要な期待値の計算をします。
M step
Q関数をパラメーターで微分することにより求められる。 まずはQ関数の具体的形をみる。そのために完全データの対数尤度をかくと以下の形になる。
するとQ関数は
となる。具体的な分布を代入すると以下の形になる。
パラメータの更新
Q関数をパラメーターについて微分をする。
補足
ガウス分布の便利な計算について
ならば、
where
行列計算について