马尔可夫模型
1. 简介
马尔可夫模型用于预测对于嘈杂环境中目标变量的可能性分布。设想在一个环境中,用户只能通过对某些参数的测量来了解这个环境,并且希望基于自己的了解,预测一些事件,那么这个时候我们可以用到马尔可夫模型。一个例子是看病:医生可以询问患者的各种症状,比如头痛常常意味着感冒,但也可能是其他病因如高血压导致头痛,也有可能是患者的心理压力导致的错觉。由于各种原因(比如测量误差的存在),这时我们的测量(症状)可能是嘈杂(noisy)的。例如血压测量计有很小的概率会出错,等等。根据马尔可夫模型可以构建一个模型,综合各种可观察到的信息(症状),考虑各种可能性,然后做出预测(诊断)。
2. 术语
术语 | 解释 |
---|---|
变量 | variable,可取不同值 |
域 | domain,变量可取的值的范围 |
模型 | 数学模型,用来模拟真实的环境,表示现实环境各种变量的关系 |
不确定性 | 各种变量的取值不确定,如:明天的天气(可能是晴或雨) |
概率分布 | 变量取各种值的概率 |
正则化 | normalization,保持各数据之间的比例不变,使所有数据的和为1 |
3. 运算
对各种概率的计算是马尔可夫模型的主要内容之一,其中主要用到了以下几种概率:
- 联合分布
- 边缘分布
- 条件分布
3.1. 联合分布
即两个事件同时发生的概率的分布。用 P(A,B) 表示A,B同时发生的概率
比如:
A => (明天是晴天)
B => (明天很凉快)
P(A,B) =>(明天既是晴天又很凉快的概率)
3.2. 边缘分布
边缘分布简单理解就是从联合分布中得到一个仅关于部分变量的分布。主要思路是运用一个变量取各个值的概率之和为1。(掷硬币正反面的概率各为0.5,和为1)
3.3. 条件分布
条件分布是当已知某些事件发生,其它时间发生的概率的分布。用 P(A|B) 表示已经知道B发生,A发生的概率。
比如:
A => (今天是晴天)
B => (今天凉快)
P(A|B) => (已知今天凉快,今天是晴天的概率)
4. 推演
根据以上三种分布,我们便可以根据观测到的各种现象,计算需要预测的事件发生的概率,从而做出决策。即,如果我们知道所有的联合分布,并且通过一系列观察知道了部分变量的确切值,那么我们便可以运用边缘分布去除掉不相关的变量,运用条件分布带入已知信息,最后正则化,得到一个更为确切的仅包含我们感兴趣的变量的概率分布。而这个分布则更好地帮助我们决策。
下面介绍两个帮助我们推演的工具:
4.1 概率计算公式
Bayes rule:
P ( A , B ) = P ( A ∣ B ) ⋅ P ( B ) = P ( B ∣ A ) ⋅ P ( A ) P(A,B)=P(A|B) \cdot P(B)=P(B|A) \cdot P(A) P(A,B)=P(A∣B)⋅P(B)=P(B∣A)⋅P(A)
Chain rule:
P ( X 1 , X 2 , X 3 , . . . , X n ) = ∏ i P ( X i ∣ X 1 , . . . X i − 1 ) P(X_1,X_2,X_3,...,X_n)=\prod_iP(X_i|X_1,...X_{i-1}) P(X1,X2,X3,...,Xn)=i∏P(X