隐马尔科夫模型的英文全称是 Hidden Markov Model,缩写为 HMM E@6gTx*
转移概率矩阵,说白了就是一张“从当前状态跳到下一个状态的概率表”。 I
Bko"|e@
它的核 心作用是:把所有状态之间互相转换的可能性,整齐地放在一个表格里。 }=JSd@`_
________________________________________ pWn]$HaoG
一、先理解“转移”和“概率” A
H=%6oT2
• 状态:系统当前所处的某种情况。比如天气的晴、阴、雨。 ArScJ\/Nwv
• 转移:从当前状态变成下一个状态。比如今天晴,明天变阴,这就是一次转移。 1]Cdfj6@
• 概率:这件事发生的可能性有多大。比如今天晴,明天变阴的概率是20%。 49HP2E
把所有这些“从A到B的概率”排成一个表格,就是转移概率矩阵。 KEdqA/F>
________________________________________ C^c<s
二、用天气预报的例子一步步建矩阵 RR|X4h0.
假设天气只有三种状态:晴、阴、雨。 v2a(yH
我们先统计历史规律: ?a*w6,y.
如果今天是晴天:
{?q`9[Z
• 明天还是晴的概率 = 0.7 ;mg.} fI
• 明天变阴的概率 = 0.2 ?]aVRmL
• 明天变雨的概率 = 0.1 HXX9D&c4R
注意:0.7 + 0.2 + 0.1 = 1,因为明天必然是这三种之一。 s8 u`v1
如果今天是阴天: `[e0_g\
• 明天变晴的概率 = 0.3 eC WF0a
• 明天还是阴的概率 = 0.4 &kn?=NW
• 明天变雨的概率 = 0.3 FS!9 j8
如果今天是雨天: C,%Dp0
• 明天变晴的概率 = 0.2 0:-z+`RHE
• 明天变阴的概率 = 0.3 4"\x#
• 明天还是雨的概率 = 0.5 Y;iI=U
________________________________________ @$Yk#N;&(
现在把这些数字排成矩阵。行代表“今天”,列代表“明天”: H= w6
今天 \ 明天 晴 阴 雨 LK!sk5/
晴 0.7 0.2 0.1 Efoy]6P\
阴 0.3 0.4 0.3 w
`+.F;}s
雨 0.2 0.3 0.5 &gW<v\6,
这个表格就是转移概率矩阵。 0!RP7Sx
写成数学形式就是: m%UF{I,
P=[0.70.20.10.30.40.30.20.30.5]P=0.70.30.20.20.40.30.10.30.5 mY[*Cj3WJ
________________________________________ }x&XvI
三、怎么读这个矩阵? O3)B]!xL
读法:先看行,再看列。 %_!0V*X*
• 第1行第2列 = 0.2 → 意思是:今天晴,明天阴的概率是0.2。 }@/Ox
• 第3行第1列 = 0.2 → 意思是:今天雨,明天晴的概率是0.2。 TtnJ
u*
• 第2行第2列 = 0.4 → 意思是:今天阴,明天还是阴的概率是0.4。 f,|;eF-Z
一句话:第 i 行第 j 列的数字,就是从状态 i 转移到状态 j 的概率。 CIsX$W
________________________________________ 4=`1C-v?q
四、这个矩阵有两个重要特点 1r*yYm'
特点1:每一行的和都等于1 !I\eIV>0b
因为从任何一个状态出发,下一步必然转到某个状态,不可能凭空消失。 A[`c+&
比如第1行:0.7 + 0.2 + 0.1 = 1 ✓ F9tWJJUsr
特点2:矩阵不一定要对称 53.jx38xS
今天晴→明天阴的概率,和今天阴→明天晴的概率,可以不一样。 qlg.\H:W~
比如上面:晴→阴是0.2,阴→晴是0.3,不相等。 BT^=p
________________________________________ R<hsG%BS(D
五、它有什么用? l}T@Cgt
有了这个矩阵,就可以做预测: __uk/2q
问题:已知今天晴,后天是雨的概率是多少? ,J<+Wxz
今天晴 → 明天可能是晴、阴、雨,然后再从明天转到后天雨: h/y0Q~|/d
• 今天晴→明天晴→后天雨:0.7 × 0.1 = 0.07 k8SY=HP
• 今天晴→明天阴→后天雨:0.2 × 0.3 = 0.06 #N'9F&:V$
• 今天晴→明天雨→后天雨:0.1 × 0.5 = 0.05 <VQ@I
加起来:0.07 + 0.06 + 0.05 = 0.18 u[4h|*'"|
所以今天晴,后天是雨的概率是18%。 4x=sJ%E
这就是转移概率矩阵的威力:只要知道当前状态,就能一步步算出未来任意时刻各状态的概率。 cRCji^,KJ
________________________________________ C43I(.2g
六、一句话总结 0R0_UvsXU
转移概率矩阵 = 一张“从当前状态到下一状态”的概率查询表。 8/y8tMm]
• 行 = 现在是什么状态 sya!VF]`
• 列 = 下一步变成什么状态 EFu$>Z4
• 格子里 = 这个变化的概率 ep`8LQf
• 每行加起来 = 1 Jy[rA<x$
它是马尔科夫链的“发动机”,决定了系统如何一步步演化。 ti]8_vP}*
KV'3\`v@LY