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 配列です。既定の設定のシンボルは、1
~ N
の整数です。ここで、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 より前に導入