标签: markov

马尔可夫决策过程的问题

alt text http://img693.imageshack.us/img693/724/markov.png

关于这里的一些观点,我有点困惑:

  1. 说70%的时间他会尝试某项行动会成功是什么意思?这是否意味着每次他尝试执行动作A时,70%的时间会执行该动作A而另外30%执行导致相同状态的动作,或者就像他总是这样做行动A,但只有30%的时间他没有做到这一点?我希望我能让自己清楚:(
  2. 如何使用相同的实用程序连续几个状态?理论上,效用不应该总是减少,你离奖励的国家越远?
  3. 只知道我上面给出的信息,是否有可能推断出什么是折扣因子(gamma)?如果有,怎么样?
  4. 是否可以计算各州的奖励?怎么样?

artificial-intelligence markov

7
推荐指数
1
解决办法
1073
查看次数

创建一个任意大小的矩阵,其中行总和为1?

我的任务是为任意数量的事件创建一个模拟离散时间马尔可夫链的程序.然而,现在我正在努力的部分是创建代表概率的正确的随机矩阵.右边的随机矩阵是一个矩阵,其行条目总和为1.对于给定的大小,我知道如何编写执行该操作的矩阵,但问题是我不知道如何做到这一点任意大小.

例如:这是我的3x3矩阵代码,以及我得到的输出示例.

http://pastebin.com/4GXpAYTM

但是,我的代码每次都不起作用 - 有时候行中的第三个条目是负数,因为前两个条目太大了.我不知道怎么解决这个问题,据我所知,Python中没有一个函数可以让你生成随机数,特别是某些东西.

任何帮助表示赞赏.

(请注意,这不是一个家庭作业问题,它仅用于我的数学课程中的额外学分,教授不介意使用外部资源.)

python random matrix markov

7
推荐指数
3
解决办法
4548
查看次数

构建一个更逼真的随机字生成器?

我看到很多使用马尔可夫链来生成基于源数据的随机单词的例子,但它们对我来说似乎有点过于机械和抽象.我正在努力开发一个更好的.

我认为问题的一部分是它们完全依赖于对的整体统计发生,并且忽略了以某种方式开始和结束单词的倾向.例如,如果您使用前1000个婴儿名称作为源数据,则字母J总体上相对较少,但它是名称开头的第二个最常见的字母.或者,如果您使用拉丁语源数据,像-um和-us这样的单词结尾将是常见的结尾,但如果您认为所有对都相同则不常见.

因此,我基本上试图将基于马尔可夫链的字生成器组合在一起,该字生成器考虑了源数据中单词的开始和结束方式.

从概念上讲,这对我来说很有意义,但我无法从软件角度弄清楚如何实现这一点.我正在尝试组合一个小工具,允许您放入源数据(例如,1000个单词的列表),然后从中生成具有真实开始,中间和结尾的各种随机单词.(与大多数基于马尔可夫的单词生成器相反,后者仅基于整体对的统计出现.)

如果可能的话,我还想用源数据确定的字长来做这个; 即,随机生成的单词的长度分解应与源数据的长度分解大致相同.

任何想法都会受到大力赞赏!谢谢.

php random generator cpu-word markov

6
推荐指数
1
解决办法
947
查看次数

实现trigram markov模型

鉴于:

在此输入图像描述

以下内容:

在此输入图像描述

用于:

q(runs | the, dog) = 0.5
Run Code Online (Sandbox Code Playgroud)

这不应该1q(runs | the, dog):xi = run,xi-2 = the,xi-1 = dog

概率是(wi已被替换为xi):

在此输入图像描述

因此:

count(the dog runs) / count(the dog) = 1 / 1 = 1
Run Code Online (Sandbox Code Playgroud)

但在上面的例子中,该值为0.5.0.5如何到达?

基于http://files.asimihsan.com/courses/nlp-coursera-2013/notes/nlp.html#markov-processes-part-1

nlp markov trigram

6
推荐指数
1
解决办法
538
查看次数

用Python计算马尔可夫链的平稳分布

我已经在谷歌foobar问题上工作了几天,并且只有一次测试通过了,而且我在这一点上非常困难.如果您有任何想法,请告诉我!我使用描述的方法在这里,我有一个工作例如多达上repl.it 这里.这是问题规范:

世界末日燃料

为LAMBCHOP的反应堆堆芯制造燃料是一个棘手的过程,因为涉及到奇特的物质.它从原始矿石开始,然后在加工过程中,开始在形式之间随机变化,最终达到稳定的形式.样品最终可能存在多种稳定形式,并非所有形式都可用作燃料.

Lambda指挥官已经责成您通过预测给定矿石样品的最终状态来帮助科学家提高燃料产生效率.您仔细研究了矿石可以采取的不同结构以及它经历的转变.似乎随机,每个结构转换的概率是固定的.也就是说,每次矿石处于1状态时,它具有进入下一状态(可能是相同状态)的相同概率.您已在矩阵中记录观察到的过渡.实验室中的其他人假设矿石可以变成更奇特的形式,但你还没有看到它们全部.

编写一个函数answer(m),它接受一个非负整数数组的数组,表示该状态进入下一个状态的次数,并为每个终端状态返回一个int数组,给出每个终端状态的确切概率,表示为每个州的分子,然后是最后和最简单形式的所有分母.矩阵最多为10乘10.确保无论矿石处于哪种状态,都存在从该状态到终端状态的路径.也就是说,处理总是最终以稳定状态结束.矿石在状态0开始.只要分数被定期简化,分母将在计算期间符合带符号的32位整数.

*例如,考虑矩阵m:

[
  [0,1,0,0,0,1],  # s0, the initial state, goes to s1 and s5 with equal probability
  [4,0,0,3,2,0],  # s1 can become s0, s3, or s4, but with different probabilities
  [0,0,0,0,0,0],  # s2 is terminal, and unreachable (never observed in practice)
  [0,0,0,0,0,0],  # s3 is terminal
  [0,0,0,0,0,0],  # s4 is terminal
  [0,0,0,0,0,0],  # s5 is terminal
]
Run Code Online (Sandbox Code Playgroud)

因此,我们可以考虑到终端状态的不同路径,例如:

s0 -> s1 -> s3
s0 -> s1 -> s0 -> s1 -> s0 …
Run Code Online (Sandbox Code Playgroud)

python markov

5
推荐指数
0
解决办法
1580
查看次数

理解马尔可夫决策过程的值迭代算法

在学习MDP's 我遇到了麻烦value iteration。从概念上讲,此示例非常简单且有意义:

如果您有一个6双面骰子,并且您掷出 a4或 a5或 a,则6您保留该金额,$但如果您掷出 a1或 a2或 a,则3您将失去资金并结束游戏。

一开始你有$0滚动和不滚动之间的选择是:

k = 1
If I roll : 1/6*0 + 1/6*0 + 1/6*0 + 1/6*4 + 1/6*5 + 1/6*6 = 2.5 
I I don't roll : 0
since 2.5 > 0 I should roll

k = 2:
If I roll and get a 4:
    If I roll again: …
Run Code Online (Sandbox Code Playgroud)

python algorithm artificial-intelligence markov

5
推荐指数
1
解决办法
1万
查看次数

r中的马尔可夫链和小数点?

我已经从 r 中的矩阵绘制了一个马尔可夫链。但是,我有许多低于 0.01 的概率,因此我的概率图如下所示:

在此处输入图片说明

我已经搜索了几个小时,但似乎找不到可以显示所有四个小数位的东西。有什么办法可以格式化这个还是我应该保持原样?

我的代码如下:

library(markovchain)

newtransition.matrix <- matrix( data = c(
  .9366, .0066, .0007, .0003 ,.0003, 0, .0015, 0, 
  .0583, .9172, .0225, .0026, .0006, .001, 0, 0,
  .004, .0694, .9176, .0483, .0044, .0032, .0029, 0,
  .0009, .0049, .0518, .8924, .0666, .0046, .0088, 0,
  .0002, .0006, .0049, .0444, .8323, .0572, .0191, 0,
  0, .0009, .002, .0081, .0746, .8362, .1028, 0,
  0, .0002, .0001, .0016, .0105, .0384, .6123, 0,
  0, .0002, .0004, .0023, .0107, .0594, .2526, 1),
  nrow = …
Run Code Online (Sandbox Code Playgroud)

r markov-chains markov

5
推荐指数
2
解决办法
372
查看次数

Python 中的渠道归因(马尔可夫链模型)

如何用Python进行渠道归因(马尔可夫链模型)?就像我们在 R 中有“ChannelAttribution”包一样。

python markov attribution

5
推荐指数
1
解决办法
3774
查看次数

Morkov Chain如何运作,什么是无记忆?

马尔可夫链如何工作?我已经阅读了马尔可夫链的维基百科,但我没有得到的是无记忆.无记忆状态表明:

下一个状态仅取决于当前状态,而不取决于它之前的事件序列.

如果马尔可夫链具有这种属性,那么马尔可夫模型中链的用途是什么?
解释这个属性.

markov-chains markov markov-models

4
推荐指数
1
解决办法
1572
查看次数

隐马尔可夫模型:精度是否可能随着状态数量的增加而降低?

我使用Baum-Welch算法构造了两个隐马尔可夫模型,以处理越来越多的状态。我注意到在8个州之后,验证得分下降了8个以上州。所以我想知道,由于某种过度拟合,隐马尔可夫模型的准确性是否可能随着状态数量的增加而降低?

提前致谢!

machine-learning markov markov-models hidden-markov-models unsupervised-learning

4
推荐指数
1
解决办法
1788
查看次数