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五元組如下圖。