1、參考資料:
部落格園 - 劉建平隨筆:https://www.cnblogs.com/pinard/p/6945257.html
嗶站up主 - 白手起家的百萬富翁:https://www.bilibili.com/video/BV1DK411W7jJ?from=search&seid=2670213518419567446
嗶站up主 - asia1987:https://www.bilibili.com/video/BV13C4y1W7iB/?spm_id_from=trigger_reload
2、馬爾可夫模型(MM)
如下圖例子1:先玩-->再吃-->再睡,就是一條馬爾科夫鏈,是可觀測到的,我們可以直接求解這條馬爾科夫鏈的概率。
如下圖例子2:天氣情況是可觀測的,已知晴天、多雲、雨天之間的轉換概率,如果今天是晴天,就可以推斷出明天各種天氣的概率,同樣後天的天氣可以由明天的天氣進行計算。
3、隱馬爾可夫模型(HMM)
如下圖例子2變形:天氣情況是不可觀測的(即隱藏狀態),但我們發現水藻的乾燥與否和天氣有關,而水藻又是可觀測的,我們可以通過水藻來推測這三天的天氣情況。
從上面的例子我們不難看出:隱馬爾可夫模型是根據我們可見的東西(水藻)去推測我們真正想要的東西(天氣)。
4、HMM五元組、三要素
- 觀測序列-O (水藻狀態,可觀測) (序列長度:任意)
- (隱藏)狀態序列-I (天氣狀態,不可觀測) (序列長度:任意,目前看下來其長度同觀測序列)
- 初始狀態概率向量-Π (向量大小:(1*N)T)
- 狀態轉移概率矩陣-A (矩陣大小:狀態N*狀態N)
- 觀測狀態概率矩陣-B (也叫發射矩陣B) (矩陣大小:狀態N*觀測M)
其中後三項為HMM的三要素:λ=(Π,A,B)
5、HMM兩個基本假設
- 齊次馬爾可夫性假設(一階馬爾可夫假設):當前時刻的隱藏狀態,只依賴於上一時刻的隱藏狀態,與其它時刻狀態和觀測值都是無關的。
- 觀測獨立性假設(隱藏狀態假設):當前時刻的觀測值,只依賴於當前時刻的隱藏狀態,與其它時刻狀態和觀測值都是無關的。
PS:還有一種說法,多了一個轉換函式穩定性假設。
6、應用HMM來求解的三個基本問題
- 概率計算:給定模型λ=(π,A,B)和觀測序列O,求觀測序列O出現的概率。 (前向-後向演算法)
- 解碼問題:給定模型λ=(π,A,B)和觀測序列O,求概率最大的隱藏狀態序列I。 (viterbi演算法)
- 學習問題:給定觀測序列O,求觀測序列O概率最大時模型λ=(π,A,B)的引數。 (極大似然估計演算法)
7、例項一
有三個骰子(D4四面體,D6六面體,D8八面體),每個面都寫有一個數字(如下圖),進行有放回的抽樣。
由上可知:觀測值是骰子上的數字,有8種,即M=8;隱藏狀態是幾面體骰子,有3種,即N=3;
按照HMM五元組:
- 在完成一輪有放回抽樣,我們可以得到一個觀測序列O如下
- 隱藏狀態序列 I 未知,待求
- 初始狀態概率向量π如下,一般平均初始化
- 狀態轉移概率矩陣A如下,一般經驗、統計得到
- 觀測概率分佈矩陣B如下,一般經驗或按照實際情況計算得到
8、例項二
股市有三種隱藏狀態(牛市、熊市、橫盤),有三種觀測狀態(上漲、下跌、不變),HMM五元組如下圖。