月儿认为的在相应健康状况条件下,阿驴的感觉的概率分布 = { 健康,正常:0.5 ,冷 :0.4 ,头晕: 0.1 ; 发烧,正常:0.1 ,冷 :0.3 ,头晕: 0.6 }
阿驴连续三天的身体感觉依次是: 正常、冷、头晕 。 3.题目:
已知如上,求:阿驴这三天的身体健康状态变化的过程是怎么样的? 4.过程:
根据 Viterbi 理论,后一天的状态会依赖前一天的状态和当前的可观察的状态。那么只要根据第一天的正常状态依次推算找出到达第三天头晕状态的最大的概率,就可以知道这三天的身体变化情况。
传不了图片,悲剧了。。。 1.初始情况:
? P(健康) = 0.6,P(发烧)=0.4。
2.求第一天的身体情况:
计算在阿驴感觉正常的情况下最可能的身体状态。
? ?
P(今天健康) = P(健康|正常)*P(健康|初始情况) = 0.5 * 0.6 = 0.3 P(今天发烧) = P(发烧|正常)*P(发烧|初始情况) = 0.1 * 0.4 = 0.04
那么就可以认为第一天最可能的身体状态是:健康。 3.求第二天的身体状况:
计算在阿驴感觉冷的情况下最可能的身体状态。
那么第二天有四种情况,由于第一天的发烧或者健康转换到第二天的发烧或者健康。
? P(前一天发烧,今天发烧) = P(发烧|前一天)*P(发烧->发烧)*P(冷|发烧) = 0.04 * 0.6 * 0.3 = 0.0072
? P(前一天发烧,今天健康) = P(健康|前一天)*P(发烧->健康)*P(冷|健康) = 0.04 * 0.4 * 0.4 = 0.0064
? P(前一天健康,今天健康) = P(发烧|前一天)*P(健康->健康)*P(冷|健康) = 0.3 * 0.7 * 0.4 = 0.084
? P(前一天健康,今天发烧) = P(健康|前一天)*P(健康->发烧)*P(冷|发烧) = 0.3 * 0.3 *.03 = 0.027
那么可以认为,第二天最可能的状态是:健康。 4.求第三天的身体状态:
计算在阿驴感觉头晕的情况下最可能的身体状态。
? P(前一天发烧,今天发烧) = P(发烧|前一天)*P(发烧->发烧)*P(头晕|发烧) = 0.027 * 0.6 * 0.6 = 0.00972
? P(前一天发烧,今天健康) = P(健康|前一天)*P(发烧->健康)*P(头晕|健康) = 0.027 * 0.4 * 0.1 = 0.00108
? P(前一天健康,今天健康) = P(发烧|前一天)*P(健康->健康)*P(头晕|健康) = 0.084 * 0.7 * 0.1 = 0.00588
? P(前一天健康,今天发烧) = P(健康|前一天)*P(健康->发烧)*P(头晕|发烧) = 0.084 * 0.3 *0.6 = 0.01512
那么可以认为:第三天最可能的状态是发烧。 5.结论
根据如上计算。这样月儿断定,阿驴这三天身体变化的序列是:健康->健康->发烧。 发布于 2015-08-272 条评论感谢分享收藏?没有帮助?举报? 作者保留权利 19赞同反对
者也,在读博士,研究小世界里的大数据 19 人赞同
隐马尔科夫模型(Hidden Markov Model)经常被用在时间序列(例如一段时间内的声音信号,运动物体的位置等你所感兴趣的物理量)的建模与分析。它有三个要素,1. 可见随机变量:用来描述你所感兴趣的物理量,随时间变化2. 隐含的状态变量:一个假设的存在,… 显示全部
隐马尔科夫模型(Hidden Markov Model)经常被用在时间序列(例如一段时间内的声音信号,运动物体的位置等你所感兴趣的物理量)的建模与分析。 它有三个要素,
1. 可见随机变量:用来描述你所感兴趣的物理量,随时间变化
2. 隐含的状态变量:一个假设的存在,每个时间点的物理量背后都对应一个状态量
3. 变量间的关系:用概率的方法(通常是概率密度函数)描述以下三个关系或变量:初始状态量,当前的隐含状态量与下一个隐含状态量间关系(此处还用到马尔科夫假设:当前隐含状态只取决于前一个隐含状态),当前的隐含状态量与可见随机量间关系
举例说,我用HMM去描述一组不同类型的手部动作,每个动作有一种特定的模式,例如用手打拍子,2/4拍(上下上),3/4拍(上下右上),4/4拍(上下左右上),现实中,即使重复同样的拍子,手所划过的轨迹还是会有差别,但不同的拍子,其模式完全不同,用HMM去描述一种动作,所对应的可见随机变量就是手的位置,隐含状态变量就是上下左右四个大致位置,变量间关系用你假设的的概率密度函数描述。至于参数估计,推断等技术问题,有成熟高效的算法可以处理,这也是HMM受欢迎的原因。详细内容参考Rabiner的经典论文:An introduction to hidden Markov models。 补充:
1. 隐含状态变量是假设的存在,并不一定有对应的物理解释,此例状态值取上下左右四个值是为了好理解,实现模型时可以取任意数量的状态值,是一个可调参数。 2. 隐含状态变量通常是离散的,可见状态变量可离散可连续。
发布于 2014-04-184 条评论感谢分享收藏?没有帮助?举报? 作者保留权利
66赞同反对
知乎用户,机器学习。 66 人赞同
考虑你和妹子在一起的时候,S_t:妹子在时间 t 的心情。O_t:妹子在时间 t 的表现。你知道的是:P(S_{t+1}|S_t):妹子心情变化的概率。比如说,现在生气,接下来还生气的概率。P(O_{t}|S_t):妹子在一定心情下,可以有什么样的表现。比如说,现在生气,表现… 显示全部 考虑你和妹子在一起的时候, :妹子在时间 t 的心情。 :妹子在时间 t 的表现。 你知道的是:
:妹子心情变化的概率。比如说,现在生气,接下来还生气的概率。
:妹子在一定心情下,可以有什么样的表现。比如说,现在生气,表现为不想理你的
概率。
HMM 研究的问题有,比如说,我们连续观察妹子的表现(能的心情(
举个例子。如果我们知道妹子的表现(
)依次为
)是什么。
),我们来猜她最可
\不理你 -> 不理你 -> 不理你 -> 戳了你一下\那么,我们求出最有可能的心情()序列是
\生气 -> 生气 -> 在考虑要不要原谅你 -> 决定原谅你\
其实到这里就可以了,下面我试着直观地解释下我们是如何求出来这个最可能的心情序列的。 妹子的表现是已知的。我们求最可能的心情序列时,需要试着同时最大化两个量:
1. 这个心情序列本身的可能性。如果你告诉我最大可能的心情序列是
\生气 -> 开心 -> 生气 -> 开心\……这个序列的可能性本身就太小了吧。
2. 在这个心情序列下观察到表现的可能性。如果你告诉我最大可能的心情序列是
\开心 -> 开心 -> 开心 -> 开心 \
这个序列的可能性倒是不小,妹子一直很开心倒是很常见的。可是 心情是开心 表现为不理我 的概率也太小了吧……
所以说,上面(*)不单是个可能的序列,而且符合我们观察到的表现。