马尔科夫

隐马尔科夫链(hmm)基本原理和简单实例

孤人 提交于 2019-12-06 14:14:42
title: 隐马尔科夫链(hmm) tags: hmm,隐马尔科夫链,基本原理 grammar_cjkRuby: true 隐马尔科夫链基本介绍 隐马尔科夫(Hidden Markov Model,HMM),了解一个算法要做到:会其意,知其形。 引子 隐马尔科夫链: 隐马尔科夫链主要应用问题 1.知道骰子有几种(隐含状态数量),每种骰子是什么(转换概率),根据掷骰子掷出的结果(可见状态链),我想知道每次掷出来的都是哪种骰子(隐含状态链)。 2.还是知道骰子有几种(隐含状态数量),每种骰子是什么(转换概率),根据掷骰子掷出的结果(可见状态链),我想知道掷出这个结果的概率。 3.知道骰子有几种(隐含状态数量),不知道每种骰子是什么(转换概率),观测到很多次掷骰子的结果(可见状态链),我想反推出每种骰子是什么(转换概率)。 任何一个隐马尔科夫链都可以用五个元素来评价: :param obs:观测序列 :param states:隐状态 :param start_p:初始概率(隐状态) :param trans_p:转移概率(隐状态) :param emit_p: 发射概率 (隐状态表现为显状态的概率) states = ('Rainy', 'Sunny') observations = ('walk', 'shop', 'clean') start_probability = {

马尔科夫链蒙特卡罗方法(MCMC)

蹲街弑〆低调 提交于 2019-12-04 07:35:40
一.蒙特卡罗法的缺陷 通常的蒙特卡罗方法可以模拟生成满足某个分布的随机向量,但是蒙特卡罗方法的缺陷就是难以对高维分布进行模拟。对于高维分布的模拟,最受欢迎的算法当属 马尔科夫链蒙特卡罗算法(MCMC), 他通过构造一条马尔科夫链来分步生成随机向量来逼近制定的分布,以达到减小运算量的目的。 二.马尔科夫链方法概要 马尔科夫链蒙特卡罗方法的基本思路就是想办法构造一个马尔科夫链,使得其平稳分布是给定的某分布,再逐步生模拟该马尔科夫链产生随机向量序列。其基本思路如下。就像是普通的蒙特卡罗方法本质上依赖于概率论中的大数定理,蒙特卡罗方法的理论支撑是 具有遍历性的马尔科夫链的大数定理 。马尔科夫链蒙特卡罗方法的大体思路如下: (1)给定某个分布$p(x)$, 构造某个马尔科夫链$\lbrace X_{t}\rbrace_{t\in\mathbb{N}}$使得$p$是其平稳分布,且满足一定的特殊条件; (2)从一点$x_{0}$出发,依照马尔科夫链$\lbrace X_{t}\rbrace_{t\in\mathbb{N}}$随机生成向量序列$x_{0},x_{1},...$; (3)蒙特卡罗积分估计:计算$E_{p}(f)\approx\sum_{t=1}^{N}f(x_{t})$ 三.MCMC的数学基础——马尔科夫链的遍历性,大数定理 MCMC为什么可以近似计算积分?

最大熵马尔科夫模型(MEMM)

依然范特西╮ 提交于 2019-11-28 16:18:50
定义: MEMM是这样的一个概率模型,即在给定的观察状态和前一状态的条件下,出现当前状态的概率。 Ø S表示状态的有限集合 Ø O表示观察序列集合 Ø Pr(s|s­­’,o):观察和状态转移概率矩阵 Ø 初始状态分布:Pr0(s) 注:O表示观察集合,S表示状态集合,M表示模型 最大熵马尔科夫模型(MEMM)的缺点: 看下图,由观察状态O和隐藏状态S找到最有可能的S序列: 路径:s1-s1-s1-s1的概率:0.4*0.45*0.5=0.09 路径s2-s2-s2-s2的概率:0.2*0.3*0.3=0.018 路径s1-s2-s1-s2的概率:0.6*0.2*0.5=0.06 路径s1-s1-s2-s2的概率:0.4*0.55*0.3=0.066 由此可得最优路径为s1-s1-s1-s1 实际上,在上图中,状态1偏向于转移到状态2,而状态2总倾向于停留在状态2,这就是所谓的标注偏置问题,由于分支数不同,概率的分布不均衡,导致状态的转移存在不公平的情况。 由上面的两幅图可知,最大熵隐马尔科夫模型(MEMM)只能达到局部最优解,而不能达到全局最优解,因此MEMM虽然解决了HMM输出独立性假设的问题,但却存在标注偏置问题。 如图所示,“因为”是介词词性p,而 MEMM却错误标注其词性为连词c。产生该情况的原因正是一种偏置问题。 原因:“是”存在两个词性,动词v和代词r