gk nlp
G検定トップ
> 隠れマルコフモデル(HMM)とは?G検定対策
まず結論
- 隠れマルコフモデル(HMM:Hidden Markov Model)とは、直接は見えない隠れ状態が確率的に移り変わり、その状態から観測値が生成されると考える確率モデルです。
- G検定では、隠れ状態・観測値・マルコフ性に加えて、HMMが「観測から状態を推定するモデル」であることを押さえます。
直感的な説明
HMMは、外から見える結果を手がかりに、見えない内部状態を推定するモデルです。
たとえば、部屋の外から人の服装だけが見えるとします。
- 傘を持っている
- 長靴を履いている
- 上着がぬれている
これらは観測値です。 一方、本当に知りたい「晴れ・雨」という天気は、直接は見えない隠れ状態です。
HMMでは、
前の状態から次の状態へ移る確率と、各状態から観測値が出る確率
を使って、見えない状態を推定します。
定義・仕組み
HMMは主に次の要素で構成されます。
- 隠れ状態:直接観測できない内部状態
- 観測値:実際に観測できるデータ
- 初期状態確率:最初に各状態である確率
- 状態遷移確率:ある状態から次の状態へ移る確率
- 出力確率:ある状態から観測値が出る確率
状態遷移には、現在の状態は直前の状態だけに依存するというマルコフ性を仮定します。
HMMでは、代表的に次の3つの問題を扱います。
1. 評価問題
観測列が与えられたとき、
その観測列が出る確率はどれくらいか
を求めます。 代表的な方法はForwardアルゴリズムです。
2. 復号問題
観測列が与えられたとき、
最も可能性が高い隠れ状態の並びは何か
を求めます。 代表的な方法はViterbiアルゴリズムです。
3. 学習問題
観測データから、状態遷移確率や出力確率を推定します。 代表的な方法はBaum-Welch法です。
いつ使う?(得意・不得意)
得意
- 音声認識
- 品詞推定
- 形態素解析
- 時系列データの状態推定
- 観測できない状態を含む系列データ
不得意・注意点
- 長距離の依存関係を表現するのは苦手
- 状態数が増えると計算量が大きくなる
- 状態遷移や出力の確率分布をあらかじめ設計する必要がある
- 複雑な特徴表現ではRNNやLSTMなどが有利なことが多い
G検定ひっかけポイント
HMMとマルコフ連鎖
- マルコフ連鎖:状態そのものを観測できる
- HMM:状態は隠れており、観測値から推定する
「状態が直接見える」と書かれていれば、HMMではありません。
HMMとRNN・LSTM
- HMM:確率モデル。状態遷移確率と出力確率を使う
- RNN・LSTM:ニューラルネットワーク。重みを学習して系列を扱う
「確率的な状態遷移」「隠れ状態から観測が生成される」ならHMMです。
アルゴリズムの役割
- 観測列の確率を求める → Forwardアルゴリズム
- 最尤の状態列を求める → Viterbiアルゴリズム
- パラメータを学習する → Baum-Welch法
名称だけでなく、何を求める方法かで切り分けます。
まとめ(試験直前用)
- HMMは、隠れ状態から観測値が生成される確率モデル
- 状態遷移にはマルコフ性を仮定する
- Forwardは観測列の確率、Viterbiは状態列、Baum-Welchは学習
- 状態が直接見えるモデルはマルコフ連鎖
- 「隠れ状態+観測値+確率的遷移」ならHMM