エッチ‐エム‐エム【HMM】
読み方:えっちえむえむ
《hidden Markov model》⇒隠れマルコフモデル
隠れマルコフモデル
機械学習および データマイニング |
---|
![]() |
隠れマルコフモデル(かくれマルコフモデル、英: hidden Markov model; HMM)は、確率モデルのひとつであり、観測されない(隠れた)状態をもつマルコフ過程である。
概要
同じマルコフ過程でも、隠れマルコフモデルより単純なマルコフ連鎖では、状態は直接観測可能であり、そのため、状態の遷移確率のみがパラメータである。一方、隠れマルコフモデルにおいては、状態は直接観測されず、出力(事象)のみが観測される。ただしこの出力は、モデルの状態による確率分布である。従って、ある隠れマルコフモデルによって生成された出力の系列は、内部の状態の系列に関する何らかの情報を与えるものとなる。「隠れ」という語はモデルが遷移した状態系列が外部から直接観測されないことを指しており、モデルのパラメータについてのものではない。たとえパラメータが既知であっても隠れマルコフモデルと呼ばれる。隠れマルコフモデルはごく単純な動的ベイジアンネットワークとして表現することができる。
状態空間が離散の場合は離散型隠れマルコフモデル(discrete hidden Markov model)、連続の場合は連続分布型隠れマルコフモデル(continuous density hidden Markov model)と呼ばれ、連続と離散の混合型もある。
隠れマルコフモデルは、潜在変数(hidden variable, latent variable)が各々独立ではなく、マルコフ過程を通じて関連付けられている混合分布モデル(Mixture Model)を拡張したものとみなすことができる。この潜在変数は、それぞれの観測に対して選択されるように混合要素を制御するものである。近年、隠れマルコフモデルは、より複雑なデータ構造と非定常的なデータの取り扱いが可能なpairwise Markov modelsやtriplet Markov modelsに一般化されている。
隠れマルコフモデルに関する数学的概念はL. E. Baumと彼の同僚らによって1966年に発表された[1][2][3][4][5]。これは、最初にフォワードバックワードアルゴリズムを発表したR. L. Stratonovichによる非線形フィルタリング問題の最適化についての初期の成果に関連している。
隠れマルコフモデルは、音声認識、バイオインフォマティクス、形態素解析(自然言語処理)、楽譜追跡、部分放電など、時系列パターンの認識に応用されている。連続的かつ伸縮しうる信号列のパターン抽出には適しているが、反面、長い距離をはさんで呼応しているような信号列からのパターン認識には、間の距離の長さに応じて状態数を増やす必要があり、計算量の観点から実用的ではない。また、局所最適に陥りやすいため、対象に応じて適切なパラメータの初期値を設定してやる(適切なモデルトポロジーを導入する)必要がある。
構成
遠くに住んでいる友人のアリスとボブがいて、電話で毎日お互い自分のしたことを話している。ボブは「公園での散歩 (walk)」、「買い物 (shop)」、「部屋の掃除 (clean)」の3つのことにしか関心がない。何をするかは、その日の天気によってのみ決めている。アリスはボブが住んでいる地域の日々の天気については具体的に知らないが、一般的な天候の変化については知っている。ボブが毎日話すことにもとづいて、アリスは天気がどのようになっているかを推測しようとする。
アリスは、天気が離散マルコフ過程として変化すると考える。天気には「雨 (Rainy)」と「晴れ (Sunny)」の2つの状態があるが、アリスはそれを直接知ることができないから「隠れ」た状態である。毎日、ボブは天気に応じて「散歩」「買い物」「掃除」のどれかひとつだけを必ずする。ボブがそれをアリスに話すことが、アリスにとっての観測(ボブからの出力)である。この状況全体が隠れマルコフモデルとなる。
アリスは、ボブのいる地域の一般的な天候の変化(遷移確率)については知っている。また、どの天気のときにボブがどの行動をするか(出力確率)を知っている。つまり隠れマルコフモデルのパラメータが既知である。これは、Pythonで次のように表される。
states = ('Rainy', 'Sunny')
observations = ('walk', 'shop', 'clean')
start_probability = {'Rainy': 0.6, 'Sunny': 0.4}
transition_probability = {
'Rainy': {'Rainy': 0.7, 'Sunny': 0.3},
'Sunny': {'Rainy': 0.4, 'Sunny': 0.6},
}
emission_probability = {
'Rainy': {'walk': 0.1, 'shop': 0.4, 'clean': 0.5},
'Sunny': {'walk': 0.6, 'shop': 0.3, 'clean': 0.1},
}
このコードでstart_probability
は、ボブが最初に電話する前の時点で、隠れマルコフモデルがどちらの状態にあるかというアリスの考えである(彼女は平均的には雨の方がやや多いと知っている)。この確率分布は平衡なものではない(遷移確率によれば平衡は {'Rainy': 0.57, 'Sunny': 0.43}
)。遷移確率 transition_probability
はマルコフ連鎖での天気の変化を表す。この例では、今日が雨であれば、明日晴れる確率は30%である。出力確率 emission_probability
は、その日にボブが行う行動の確率である。もし雨であれば掃除をする確率は50%で、晴れていれば散歩に行く確率は60%である。
ビタビアルゴリズム
ビタビアルゴリズム(Viterbi algorithm)は、モデルパラメータが既知のとき、与えられた配列を出力した可能性(尤度)が最も高い状態列(最尤状態列)を計算するアルゴリズムで、動的計画法の一種である。ある時点 t での最尤状態遷移列はtまでに観測された情報と、t-1 までで最も確からしい(=尤もらしい)最尤状態遷移列だけに依存すると仮定する。
例えば、出力 'A' と 'B' を確率0.5ずつで出力し、他の状態にまれにしか遷移しない状態 A と、出力 'A' と 'C' を確率0.5ずつで出力し、他の状態にまれにしか遷移しない状態Bがあった場合、時点 t で 'A' が出力され、時点 t-1 で最尤だと推定された状態遷移列からの遷移確率が状態 A の方が高いならば、時点 t では状態 A にいたと推定される。しかし、t+1 以降で 'C' の出力が続いた場合、全体としての尤度は状態 B に遷移していたほうが高くなる。
ビタビアルゴリズムを使用するには、観測可能なイベントは観測不可能な状態遷移と1対1対応していることが求められる。
バウム・ウェルチアルゴリズム
バウム・ウェルチアルゴリズム(Baum-Welch algorithm)は、モデルが出力した系列からモデルパラメータを推定するアルゴリズムである。前向きアルゴリズム、後ろ向きアルゴリズム、EMアルゴリズムから構成される。前向きアルゴリズムおよび後ろ向きアルゴリズムは動的計画法の一種であり、ある時点で各状態にいる確率を求めるアルゴリズムである。
参照
- ^ Baum, L. E.; Petrie, T. (1966). “Statistical Inference for Probabilistic Functions of Finite State Markov Chains”. The Annals of Mathematical Statistics 37 (6): 1554–1563. doi:10.1214/aoms/1177699147 2023年4月5日閲覧。.
- ^ Baum, L. E.; Eagon, J. A. (1967). “An inequality with applications to statistical estimation for probabilistic functions of Markov processes and to a model for ecology”. Bulletin of the American Mathematical Society 73 (3): 360. doi:10.1090/S0002-9904-1967-11751-8. Zbl 0157.11101 .
- ^ Baum, L. E.; Sell, G. R. (1968). “Growth transformations for functions on manifolds”. Pacific Journal of Mathematics 27 (2): 211–227. doi:10.2140/pjm.1968.27.211 2011年11月28日閲覧。.
- ^ Baum, L. E.; Petrie, T.; Soules, G.; Weiss, N. (1970). “A Maximization Technique Occurring in the Statistical Analysis of Probabilistic Functions of Markov Chains”. The Annals of Mathematical Statistics 41 (1): 164–171. doi:10.1214/aoms/1177697196. JSTOR 2239727. MR287613. Zbl 0188.49603.
- ^ Baum, L.E. (1972). “An Inequality and Associated Maximization Technique in Statistical Estimation of Probabilistic Functions of a Markov Process”. Inequalities 3: 1–8.
- Hidden Markov modelのページへのリンク