问题标签 [markov-models]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2782 浏览

statistics - 隐马尔可夫模型

我想开始使用HMM,但不知道如何去做。这里的人可以给我一些基本的指示,在哪里看?

不仅仅是理论,我喜欢做很多实践。因此,我更喜欢资源,我可以在其中编写小代码片段来检查我的学习情况,而不仅仅是枯燥的文本。

0 投票
2 回答
1109 浏览

artificial-intelligence - 训练没有标记语料库数据的隐马尔可夫模型

对于语言学课程,我们使用隐马尔可夫模型实现了词性 (POS) 标记,其中隐变量是词性。我们在一些标记数据上对系统进行了训练,然后对其进行了测试,并将我们的结果与黄金数据进行了比较。

是否可以在没有标记训练集的情况下训练 HMM?

0 投票
2 回答
521 浏览

machine-learning - 强化学习和POMDP

  • 我正在尝试使用多层神经网络在部分可观察马尔可夫过程中实现概率函数..
  • 我认为 NN 的输入是:当前状态、选择的操作、结果状态;输出是 [0,1] 中的概率(概率。对当前状态执行选定操作将导致结果状态)
  • 在训练中,我将前面提到的输入输入到 NN 中,然后我教它输出 = 1.0 的每个已经发生的情况。

问题:
对于几乎所有测试用例,输出概率接近 0.95.. 没有输出低于 0.9!即使对于几乎不可能的结果,它也给出了很高的概率。

PS:我认为这是因为我只教它发生的情况,而不是未发生的情况。但是我不能在剧集中的每一步都教它输出= 0.0 为每个未发生的动作!

有什么建议可以解决这个问题吗?或者可能是使用 NN 或实现 prob 功能的另一种方式?

谢谢

0 投票
1 回答
288 浏览

machine-learning - 时差更新规则

更新规则 TD(0) Q-Learning:

Q(t-1) = (1-alpha) * Q(t-1) + (alpha) * (Reward(t-1) + gamma* Max( Q(t) ) )
然后采取当前最佳行动(优化)或随机行动(探索者)

其中 MaxNextQ 是在下一个状态下可以获得的最大 Q...


但在 TD(1) 中,我认为更新规则将是:

Q(t-2) = (1-alpha) * Q(t-2) + (alpha) * (Reward(t-2) + gamma * Reward(t-1) + gamma * gamma * Max( Q(t) ) )

我的问题:
这个词的gamma * Reward(t-1)意思是我将永远采取我最好的行动t-1......我认为这会阻止探索......
有人可以给我一个提示吗?

谢谢

0 投票
2 回答
2515 浏览

c# - 将隐马尔可夫模型应用于多个同时位序列

这篇关于在 C# 中实现隐马尔可夫模型的优秀文章在根据训练数据对单个位序列进行分类方面做得很好。

如何修改算法或构建它(多个 HMM?)以支持多个同时位序列的分类?

例子

而不是只分类一个流:

而是对双比特流进行分类:

或者更好的是,三个流:

显然训练数据也会被扩展。

0 投票
1 回答
1420 浏览

algorithm - 线性时间的维特比算法

我有一个问题,给定一个隐马尔可夫模型和状态 SI 需要找到一个算法,该算法在时间 O(|S|) 内返回通过隐马尔可夫模型的给定序列 X 的最可能路径。

我正在考虑开发一个图,其中我将在 X 的不同位置拥有所有不同的状态,并在该图上运行最短路径算法。但是我将有 n|S|^2 个边(其中 n 是 X 中的状态数)和 n|S| 顶点。

我发现的最佳算法是在时间 O(|E|+|V|) 中运行的非循环最短路径,在我的情况下为 O(|S|^2)。有没有我可以开发的算法让它在 O(|S|) 时间内运行?我需要的只是总体思路。

谢谢

0 投票
2 回答
277 浏览

unicode - 使用马尔可夫模型将全大写转换为混合大小写和相关问题

我一直在考虑使用马尔可夫技术将丢失的信息恢复为自然语言文本。

  • 将全大写文本恢复为大小写混合。
  • 将重音/变音符号恢复为应具有但已转换为纯 ASCII 的语言。
  • 将粗略的音标转换回本地字母。

这似乎是从最难到最难的顺序。基本上,问题是根据上下文解决歧义。

我可以将维基词典用作字典,将维基百科用作语料库,使用 n-gram 和隐马尔可夫模型来解决歧义。

我在正确的轨道上吗?是否已经有一些用于此类事情的服务、库或工具?

例子

  • 乔治在灌木丛中丢失了他的 SIM 卡 ⇨ 乔治在灌木丛中丢失了他的 SIM 卡
  • tantot il rit a gorge deployee ⇨ tantôt il rit à gorge déployée
0 投票
1 回答
464 浏览

.net - .NET 有哪些可用的 HMM(隐马尔可夫模型)压缩库?

我正在寻找一个使用马尔可夫模型/隐马尔可夫模型进行数据压缩的库。我需要从.NET 中使用它。我用谷歌搜索了 MM/HMM 压缩器,但没有找到任何有用的参考资料(不过我可能是个糟糕的谷歌用户)。

任何相关链接将不胜感激。

0 投票
1 回答
191 浏览

r - 在马尔可夫模型中的状态之间移动 - 如何判断 R?

我一直在努力解决这个问题很长一段时间,任何帮助将不胜感激。

我正在尝试编写一个函数来根据马尔可夫模型的观察数据计算转换矩阵。

我用来构建函数的初始数据看起来像这样;

有 5 个季节和 4 个州。

我知道我将如何计算转换矩阵,但为了做到这一点,我需要计算每个赛季从状态 i 移动到状态 j 的团队数量。

我需要能做这样的事情的代码,

然后我可以为每支球队和每对状态执行此操作,并在所有 5 个赛季中重复。但是,我很难弄清楚如何用引号告诉 R 事情。对不起,如果有一个非常明显的答案,但我是一个垃圾程序员。

非常感谢您的阅读!

0 投票
2 回答
3339 浏览

c# - C# 中的马尔可夫决策过程库

我正在开发一个创建 AI 引擎的项目,其中机器人正在探索 2D 网格世界,并且必须决定接下来要移动到哪个方格。是否有可以使用的现有马尔可夫库(即我只是更改参数)或存在的样本?