我正在研究马尔可夫链,我想知道在给定文本文件作为输入的情况下,构建概率转换矩阵(n阶)的有效算法。
我不追求一种算法,但我宁愿建立一个这样的算法列表。关于此类算法的论文也非常受欢迎,因为任何有关术语的提示等。请注意,该主题与 n-gram 识别算法非常相似。
任何帮助将非常感激。
听起来有两个可能的问题,你应该澄清哪一个:
“文本文件”包含概率值和“n”,您直接构建矩阵,但是如何编码呢?这个问题很琐碎,所以我们忽略它
“文本文件”包含类似信号数据的内容,您希望将其建模为马尔可夫链。
“马尔可夫链”通常指的是一阶随机过程,所以我不确定你所说的“顺序”是什么意思,可能是矩阵的大小,但这不是典型的术语。无论如何,对于一阶、nxn 矩阵、离散时间随机过程,您应该查看 Viterbi 算法:http ://en.wikipedia.org/wiki/Viterbi_algorithm
每当处理马尔可夫模型时,我倾向于最终查看crm114 Discriminator。第一,他非常详细地介绍了实际存在的不同模型(马尔可夫并不总是最好的,这取决于应用程序是什么),并提供了有关概率模型如何工作的一般链接和大量背景信息。虽然 crm114 通常用作某种垃圾邮件识别工具,但它实际上是我在其他应用程序中使用过的更通用的概率引擎。