隐马尔可夫模型 - 使用Apache Spark的HMM

时间:2016-08-29 13:35:53

标签: apache-spark pyspark apache-spark-mllib hidden-markov-models

我需要知道如何在Apache Spark 之上使用 HMM。它不存在于MLlib中。 有其他选择吗?

谢谢

Elsayed

2 个答案:

答案 0 :(得分:2)

我能找到的最好的是火花上的2 year old implementation

您可能想要使用spark或HMM之外的其他内容进行调查,或者只是咬紧牙关并自行实施。实现维特比算法并不是特别困难,here是我多年的实现。

答案 1 :(得分:0)

HMM算法 - 摘自https://en.wikipedia.org/wiki/Hidden_Markov_model

  

Hidden Markov Model (HMM)是统计马尔可夫模型,其中被建模的系统被假定为具有未观察(即隐藏)状态的Markov process。隐马尔可夫模型可以表示为最简单的dynamic Bayesian network

     

隐马尔可夫模型可以被认为是mixture model的推广,其中hidden variables(或latent variables)控制着为每个观察选择的混合成分,通过马尔可夫过程而不是彼此独立。

     

应用dynamic programming的原则,也可以使用forward algorithm有效地处理这个问题。

Spark上没有看到围绕上述概念的算法。

Spark可以支持“超出map-reduce”算法,但我能找到的dynamic programming唯一的问题是https://github.com/bbengfort/brisera

  

分布式种子和reduce算法的Python实现(类似于BlastReduce和CloudBurst),它利用RDD(弹性分布式数据集)执行快速迭代分析,dynamic programming不依赖于“链式{{1工作“

MapReduce有一个Mahout实现,但不确定它是否已分发 https://mahout.apache.org/users/classification/hidden-markov-models.html