我开始阅读更多关于马尔科夫发电机的今天,我真的很感兴趣的整个过程的建筑物之一。从我的理解是,未来国家是依赖于统计过去的国家的存在。

例如:

好的世界。你好,Dolly.好的世界。

"世界"下的"你好"~66%的时间,来源。

如果这是总是这种情况下,怎么那么您避免将相同的结果每一个时间?所统计的出现也不会改变一个静态的串,使我是正确的假设没有变将每能产生的,除非来源数据修改某种方式?

我怎么可能获得的变化,从一个静态的来源,考虑到统计的价值,但允许一些灵活性吗?使用我的例子上,我怎么能让我的发电机,以按照"你好"与"多莉"的时候"多莉"只下"你好",33%的时间?

我猜我要问的是,我怎么基本概率的我的下一个选择的统计存在的话,按照我的本选择?这样,"多莉"显示,33%的时间,以及"世界"表明了66%的时间-或者我完全失去这里吗?

有帮助吗?

解决方案

您使用随机数发生器来接你去了哪条路径。你必须保存每一个状态(这实在是之前N项目的历史)和该州的概率。然后你选择一个随机数,并在此基础上决定下一步的状态,你过渡到是什么。

在你的例子你有一个Markov链具有1的N你将具有看起来是这样的链结构:

<start> -> Hello : 1.0

Hello -> World. : 0.66666
Hello -> Dolly. : 0.33333

Dolly. -> Hello : 1.0

World. -> <end> : 0.5
World. -> Hello : 0.5

如果您的当前状态为你好,你的下一个可能的状态是世界。多莉..生成0和1之间的随机数,并选择世界。如果它小于0.666666,否则选择多利。

使用一个N = 2的马尔可夫链,则得到几乎确定性的行为与该输入:

<start> <start> -> <start> Hello : 1.0

<start> Hello -> Hello World. : 1.0

Hello World. -> World. Hello : 0.5
Hello World. -> World. <end> : 0.5

World. Hello -> Hello Dolly. : 1.0

Hello Dolly. -> Dolly. Hello : 1.0

Dolly. Hello -> Hello World. : 1.0

其他提示

两个意见:

1)产生的样品从一个随机的过程中,是否有某些选择是相当(>50%)有可能的,而其他人不这样,只是需要一个加权"掷硬币":产生一个随机的真实数量上均匀地[的0,1),并考虑可能在相同的固定顺序,保持一个总的概率为止。因为只要总值超过你的随机选择的数量,选择这一选择。如果你的选择具有非标准化(不总结1)的概率,首先需要计算的总和的概率s,和划分他们所有的通过,或者选择你的随机数量在[0,s)

2)防止过度拟合当估计模型,从少量样本的培训数据(数相比较的参数),使用的贝先验的模型参数。一个真的很酷的例子,在那里数量的模型参数(历史的大小)不是固定的,任何有限的数量提前看到的 无限嗯.如果你不用贝叶斯的方法,然后你会想要选择的历史长度适当的训练量数据,以及/或者实施一些特别的平滑(例如线性插值之间的一个便-2和以-1模型)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top