![聊天机器人:入门、进阶与实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/672/26785672/b_26785672.jpg)
1.5 随机过程与马尔可夫模型
随机过程:(Ω,F,P)为已知的概率空间,随机变量X(ω,t),ω∈Ω在概率空间中,都会有t∈T作为Index,可以说X(ω,t)是(Ω,F,P)上的一个随机过程。
马尔可夫链:已知有一组随机变量X1,X2,X3,…,Xt,Xt+1组成的随机过程{Xt,t=0,1,2,…},其中这些变量的取值范围构成状态空间{xi}。如果Xt+1在时间t+1的概率依赖于历史X1,X2,X3,…,Xt的情况,可以将其简化成Xt+1的历史条件概率仅依赖Xt的取值,则有:
P(Xt+1=x|X1=x1,X2=x2,…,Xt=xt)=P(Xt+1=x|Xt=xt)
具有这种性质的随机过程称为马尔可夫过程。马尔可夫链是指时间、状态都是离散情况下的马尔可夫随机过程。
齐次马尔可夫链:如果一条马尔可夫链,Xu=i转移到Xt+u=j的转移概率定义为pij=P(Xt+u=j|Xu=i),pij的取值只依赖于时间t,而与起始时间u无关,则称之为齐次马尔可夫链。
马尔可夫链常用于对一些有内在规律问题的预测,最常见的就是天气预测的问题。
假设通过日常的观察发现:次日与当日的天气情况存在内在关系,当日天气为晴时,次日天晴的概率很大;当日阴天或有雨时,次日为雨的概率很大。统计某县数年内7月份的天气情况,得到天气的转移概率表如表1-4所示。
表1-4 天气的转移概率表
![](https://epubservercos.yuewen.com/137793/15246377705907106/epubprivate/OEBPS/Images/b1-4.jpg?sign=1739570298-oacRUbyXA7B1sk5EcGSIG28hOKkVArf7-0-52d2c95a5da2f68fc8b8fac9387b8777)
问题:如果当天为阴天时,那么接下来的3天的天气情况如何?
那么初始状态X(0)=(0,1,0)T,转移概率矩阵。
则:
PX(0)=X(1)=(0.3,0.4,0.6)T
X(2)=(0.39,0.46,0.45)T
X(3)=(0.423,0.423,0.45)T
如果当天为阴天,则第二天为雨天的概率大,第三天为阴天或雨天的概率更大,第四天几乎哪种天气都有可能,发生概率都差不多。
隐马尔可夫模型(HMM):隐马尔可夫模型也具有马尔可夫性,是隐藏状态序列为马尔可夫链的一种变形,它的观测状态并不像隐状态一样可以直接构成马尔可夫链,但可以通过隐藏状态到观测状态的转移矩阵,间接求出观测状态的概率。如图1-2所示。
![](https://epubservercos.yuewen.com/137793/15246377705907106/epubprivate/OEBPS/Images/t1-2.jpg?sign=1739570298-N79aD6aqIkRId8T2DCfWtOMctlhMhgHE-0-ddc88a9e700de0b9ca3fbbc7ff4e1dc6)
图1-2 隐马尔可夫模型的5个元素
隐马尔可夫模型包含(S,O,Π,A,B)这5个主要元素。
(1)S代表隐马尔可夫模型(HMM)的隐藏状态。
隐马尔可夫的隐藏状态S1,S2,…,Sn满足马尔可夫性。
(2)O代表隐马尔可夫模型(HMM)的观测状态。
观测状态是通过直接观测得到的,本身没有马尔可夫性,通过观测桩体转移矩阵和隐藏状态发生关系。
(3)Π代表初始化状态概率矩阵。
用于初始化各个状态在t=1时的矩阵。
(4)A代表隐藏状态间的转移概率。
隐状态序列可以构成马尔可夫链,Aij=P(it+1=Sj|it=Si),1≤i≤N,1≤j≤N。
隐状态马尔可夫链在t时刻,隐状态为Si的条件已知下,在t+1时刻的隐状态Sj的概率。
(5)B代表观测状态转移矩阵。
Bij=P(Oi|Sj)
在t时刻,在隐藏状态Sj已知的情况下,观测状态是Oi的概率。
一般来说,可以用λ=(A,B,Π)三元组来简洁的表示一个隐马尔可夫模型,现在来看一个隐马尔可夫应用的例子,看看和马尔可夫在应用上有哪些差异。
假设人们根据当天的天气(晴天、阴天、雨天)来决定他们的出行方式,分为步行和搭乘交通工具两种,观测概率转移矩阵可以表示为如表1-5所示。
表1-5 观测概率转移矩阵
![](https://epubservercos.yuewen.com/137793/15246377705907106/epubprivate/OEBPS/Images/b1-5.jpg?sign=1739570298-FkNk5zUmpGO5VNLJS7ckCimPqzwqdzzc-0-04b25ee83884c72fffe76b6b5edbfa52)
天气状态(隐状态)间的转移概率矩阵为表1-6所示:
表1-6 天气状态(隐状态)间的转移概率矩阵
![](https://epubservercos.yuewen.com/137793/15246377705907106/epubprivate/OEBPS/Images/b1-6.jpg?sign=1739570298-mija4GAGrJkLbbg2qKbspUFZ9ds3fZkp-0-24a41bb3a177e8d4c51fa26466f863c5)
假设天气初始化概率为0.3、0.3、0.4,那么人们连续3天的出行方式为:交通工具-走路-交通工具的概率是多少?
O代表的观测状态集合:
O={交通工具,走路}
S代表的隐藏状态集合:
S={晴天,阴天,雨天}
Π代表的初始化状态概率矩阵:
Π={0.3,0.3,0.4}T
A代表的隐藏状态间的转移概率:
![](https://epubservercos.yuewen.com/137793/15246377705907106/epubprivate/OEBPS/Images/015-i.jpg?sign=1739570298-mAp8kq2i6fkw2ITEUv5zl65E0FoYDuxC-0-3f3144a42170416647dbbf3de59aa988)
B代表观测状态转移矩阵:
![](https://epubservercos.yuewen.com/137793/15246377705907106/epubprivate/OEBPS/Images/015-2-i.jpg?sign=1739570298-5MxJwENLho37uALxyryF0C2fp1BjayiG-0-695c7a15c37bbf4b0490861be0ed6235)
考虑HMM模型λ=(A,B,Π),当观测序列为O=(交通工具、走路、交通工具)时,求P=(O|λ)。
1)第一天使用交通工具,隐藏状态天气是晴天的概率为:
α1(1)=p1b1(o1)=0.3*0.5=0.15
隐藏状态天气是阴天的概率为:
α1(2)=p2b2(o2)=0.3*0.6=0.18
隐藏状态天气是雨天的概率为:
α1(3)=p3b3(o3)=0.3*0.7=0.21
2)第二天走路,隐藏状态天气是晴天的概率为:
![](https://epubservercos.yuewen.com/137793/15246377705907106/epubprivate/OEBPS/Images/015-3-i.jpg?sign=1739570298-UOBMCTM3Wi7uaCSk4d1ZGdptmS9GYDOr-0-bdfe71ff05438067bf20f6b04c5c5eae)
隐藏状态天气是阴天的概率为:
![](https://epubservercos.yuewen.com/137793/15246377705907106/epubprivate/OEBPS/Images/015-4-i.jpg?sign=1739570298-mIQOVHlB9wPu5Vs0YAeOwfI3gfuDY0n6-0-af099a90833b5fe8431323dc14367c73)
隐藏状态天气是雨天的概率为:
![](https://epubservercos.yuewen.com/137793/15246377705907106/epubprivate/OEBPS/Images/015-5-i.jpg?sign=1739570298-TwAVRic0KGR7UzeYN8RUknRlgnJcSpAZ-0-c5291fe64e33cfb3d1f56a565b8c87cc)
继续递推第3天的3个状态前向概率:
3)第3天使用交通工具,隐藏状态天气是晴天的概率为:
![](https://epubservercos.yuewen.com/137793/15246377705907106/epubprivate/OEBPS/Images/016-i.jpg?sign=1739570298-Q8PXHEf9E2wUuUHumDWdEngJFF3vNXxP-0-c81f11ddeb872be3077134ec6d3b745a)
隐藏状态天气是阴天的概率为:
![](https://epubservercos.yuewen.com/137793/15246377705907106/epubprivate/OEBPS/Images/016-2-i.jpg?sign=1739570298-kGziYNjgHHD6uF1ujfwsNXZ7QokyKW2k-0-b6a1b094e3ca7d5e7b78022257cd6191)
隐藏状态天气是雨天的概率为:
![](https://epubservercos.yuewen.com/137793/15246377705907106/epubprivate/OEBPS/Images/016-3-i.jpg?sign=1739570298-la3IcNqNRrt0ph20zS2Z1eGKS9nPNlFl-0-02068c81e63dd28f93c7d7625e2cb263)
最终求出观测序列:O=(坐公交、走路、坐公交)时概率为:
![](https://epubservercos.yuewen.com/137793/15246377705907106/epubprivate/OEBPS/Images/016-4-i.jpg?sign=1739570298-J9rbOQIAMzbmUTEJTbMYZh764i3nZpK1-0-33ba1dc1c3d4972b0b7f03f47cd43d8f)