我需要知道如何在Apache Spark 之上使用 HMM。它不存在于MLlib中。 有其他选择吗?
谢谢
Elsayed
答案 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