Main Content

hmmviterbi

隠れマルコフ モデルの最も可能性の高い状態パス

構文

STATES = hmmviterbi(seq,TRANS,EMIS)
hmmviterbi(...,'Symbols',SYMBOLS)
hmmviterbi(...,'Statenames',STATENAMES)

説明

STATES = hmmviterbi(seq,TRANS,EMIS) は、列 seq を指定して、遷移確率行列 TRANS および出力確率行列 EMIS によって指定されている隠れマルコフ モデルへの最も可能性の高いパスを計算します。TRANS(i,j) は、状態 i から状態 j への遷移確率、EMIS(i,k) は、シンボル k が状態 i から出力される確率です。

メモ:

関数 hmmviterbi は、最初の出力の前の、ステップ 0 で状態 1 にあるモデルから開始します。hmmviterbi は、モデルが状態 1 で開始することに基づいて最も確率の高いパスを計算します。

hmmviterbi(...,'Symbols',SYMBOLS) は、出力されるシンボルを指定します。SYMBOLS は、シンボルの名前の数値配列、string 配列または cell 配列です。既定の設定のシンボルは、1N の整数です。ここで、N は、可能な出力数です。

hmmviterbi(...,'Statenames',STATENAMES) は、状態の名前を指定します。STATENAMES は、状態の名前の数値配列、string 配列または cell 配列です。既定の設定の状態名は、1 ~ M です。ここで、M は状態の数です。

trans = [0.95,0.05;
         0.10,0.90];
emis = [1/6 1/6 1/6 1/6 1/6 1/6;
   1/10 1/10 1/10 1/10 1/10 1/2];

[seq,states] = hmmgenerate(100,trans,emis);
estimatedStates = hmmviterbi(seq,trans,emis);

[seq,states] = ...
   hmmgenerate(100,trans,emis,...
               'Statenames',{'fair';'loaded'});
estimatesStates = ...
   hmmviterbi(seq,trans,emis,...
              'Statenames',{'fair';'loaded'});

参考文献

[1] Durbin, R., S. Eddy, A. Krogh, and G. Mitchison. Biological Sequence Analysis. Cambridge, UK: Cambridge University Press, 1998.

バージョン履歴

R2006a より前に導入