隐式马尔科夫模型 及 Python + HMMlearn的使用
作者&投稿:呼耍 (若有异议请与网页底部的电邮联系)
隐式马尔科夫模型Hidden Markov Models(HMMs) 是一种通用的概率模型。一个可观测的变量X的序列被一个内部的隐藏状态Z所生成。其中,隐藏状态Z无法被直接观测。在隐藏状态之间的转移被假设是通过 马尔科夫链(Markov chain) 的形式。
模型可以表示为 起始概率向量 和转移概率矩阵 . 一个观测量生成的概率可以是关于 的任意分布, 基于当前的隐藏状态。
HMMs的3个基本问题:
hmmlearn 是Python支持HMMs的包。原来是sklearn的一部分,后来由于接口不一致分成单独的包了。不过使用起来和sklearn的其他模型类似。
构造HMM model:
初始化的参数主要有 n_components , covariance_type , n_iter 。每个参数的作用我还没有研究。
通过 fit 方法。
输入是一个矩阵,包含拼接的观察序列concatenated sequences of observation (也就是samples),和序列的长度。
EM算法是背后拟合模型的算法。基于梯度优化的方法。通常会卡到一个局部极优值上。通常用户需要用不同的初始化跑多次 fit ,然后选择分数最高的模型。
分数通过 score 方法计算。
推导出的最优的隐藏状态可以调用 predict 方法获得。 predict 方法可以指定解码器算法。当前支持的有 viterbi (Vierbi algorithm)和 map (posteriori estimation)。
卞奇铋镁: 一种HMM可以呈现为最简单的动态贝叶斯网络.隐马尔可夫模型背后的数学是由LEBaum和他的同事开发的.它与早期由RuslanL.Stratonovich提出的最优非线性滤波问题息息相关,他是第一个提出前后过程这个概念的.在简单的马尔可夫模型...
公安县17852992569: Python hmmlearn中的混淆矩阵是怎么表示的 - ?
卞奇铋镁: hmmlearn这个库有三种模型,分别是Gaussian,Multinomial和GMMHMM.这三种模型对应的就是三种emission matrix(即混淆矩阵,也就是隐状态到观察态的概率).Gaussian就是说混淆矩阵是一个高斯分布,即观察态是连续的.Multinomiual...
公安县17852992569: 隐马尔可夫模型的基本问题 - ?
卞奇铋镁: 1. 评估问题.给定观测序列 O=O1O2O3…Ot和模型参数λ=(A,B,π),怎样有效计算某一观测序列的概率,进而可对该HMM做出相关评估.例如,已有一些模型参数各异的HMM,给定观测序列O=O1O2O3…Ot,我们想知道哪个HMM模型最可能生...
公安县17852992569: 关于Hidden Markov Models?
卞奇铋镁: 这是隐马尔科夫模型 用在语音信号方面的,是为了分析语音信号而提出的一个算法模型.在语音信号处理上用的比较多 隐马尔可夫模型(HMM)是对语音信号的时间序列结构建立统计模型,可将之看作一个数学上的双重随机过程:一个是用具有...
公安县17852992569: 如何用简单易懂的例子解释隐马尔可夫模型 - ?
卞奇铋镁: 隐马尔可夫(HMM)好讲,简单易懂不好讲.我认为 @者也的回答没什么错误,不过我想说个更通俗易懂的例子.还是用最经典的例子,掷骰子.假设我手里有三个不同的骰子.第一个骰子是我们平常见的骰子(称这个骰子为D6),6个面,每...
公安县17852992569: 隐马尔科夫模型和马尔科夫模型的区别 - ?
卞奇铋镁: 马尔可夫链,因安德烈·马尔可夫(A.A.Markov,1856-1922)得名,是数学中具有马尔可夫性质的离散时间随机过程.该过程中,在给定当前知识或信息的情况下,过去(即当期以前的历史状态)对于预测将来(即当期以后的未来状态)是无关的. 马尔可夫模型介绍 Markov Model 马尔可夫模型是一种统计模型,广泛应用在语音识别,词性自动标注,音字转换,概率文法等各个自然语言处理得应用领域.经过长期发展,尤其是在语音识别中的成功应用,使它成为一种通用的统计工具. 到目前为止,它一直被认为是实现快速精确的语音识别系统的最成功的方法.复杂的语音识别问题通过隐含马尔可夫模型能非常简单地被表述、解决,让人们不由由衷地感叹数学模型之妙.
公安县17852992569: 想使用马尔科夫模型,用什么语言编程 - ?
卞奇铋镁: 将C语言实现的隐马尔科夫模型算法(UMDHMM)改为C#语言实现.功能描述:前向算法(forward algorithm):给定HMM求一个观察序列的概率(评估) 后向算法(backward algorithm):给定HMM求一个观察序列的概率(评估) 前向-后向算法(forward-backward algorithm):根据观察序列生成隐马尔科夫模型(学习) 维特比算法(Viterbi algorithm):搜索最有可能生成一个观察序列的隐藏状态序列(解码)
公安县17852992569: python 机器学习经典实例 怎么样 - ?
卞奇铋镁: 这书不太适合没基础的,讲的不够深入.用最火的Python语言、通过各种各样的机器学习算法来解决实际问题!书中介绍的主要问题如下.- 探索分类分析算法并将其应用于收入等级评估问题- 使用预测建模并将其应用到实际问题中- 了解如何使用无监督学习来执行市场细分- 探索数据可视化技术以多种方式与数据进行交互- 了解如何构建推荐引擎- 理解如何与文本数据交互并构建模型来分析它- 使用隐马尔科夫模型来研究语音数据并识别语音
公安县17852992569: 隐马尔可夫模型的历史 - ?
卞奇铋镁: 隐马尔可夫模型最初是在20世纪60年代后半期Leonard E. Baum和其它一些作者在一系列的统计学论文中描述的.HMM最初的应用之一是开始于20世纪70年代中期的语音识别.在1980年代后半期,HMM开始应用到生物序列尤其是DNA的分析中.此后,在生物信息学领域HMM逐渐成为一项不可或缺的技术.
公安县17852992569: 马尔可夫模型的模型简介 - ?
卞奇铋镁: 到目前为止,它一直被认为是实现快速精确的语音识别系统的最成功的方法.复杂的语音识别问题通过隐含马尔可夫模型能非常简单地被表述、解决,让人们由衷地感叹数学模型之妙.马尔可夫(1856~1922),苏联数学家.切比雪夫的学生.在概率论、数论、函数逼近论和微分方程等方面卓有成就.