【发布时间】:2016-08-29 13:35:53
【问题描述】:
我需要知道如何在 Apache Spark 之上使用 HMM。它不存在于 MLlib 中。 还有其他选择吗?
谢谢
艾尔赛德
【问题讨论】:
标签: apache-spark pyspark apache-spark-mllib hidden-markov-models
我需要知道如何在 Apache Spark 之上使用 HMM。它不存在于 MLlib 中。 还有其他选择吗?
谢谢
艾尔赛德
【问题讨论】:
标签: apache-spark pyspark apache-spark-mllib hidden-markov-models
我能找到的最好的是 spark 上的 2 year old implementation。
您可能想使用 spark 或 HMM 以外的其他东西进行调查,或者只是硬着头皮自己实施。实现维特比算法并不是特别难,here 是我多年前的实现。
【讨论】:
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
分布式种子和减少算法(类似于 BlastReduce 和 CloudBurst)的 Python 实现,它利用 RDD(弹性分布式数据集)执行快速迭代分析和
dynamic programming,而不依赖 “链式MapReduce作业” .
Mahout 有一个 HMM 实现,但不确定它是否已分发
https://mahout.apache.org/users/classification/hidden-markov-models.html
【讨论】: