Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在scala微风中初始化特定的随机种子,比如高斯分布?_Scala_Scala Breeze - Fatal编程技术网

如何在scala微风中初始化特定的随机种子,比如高斯分布?

如何在scala微风中初始化特定的随机种子,比如高斯分布?,scala,scala-breeze,Scala,Scala Breeze,如何使用scala breeze中的特定种子强制随机数生成器(如果可能的话),也就是说下面的scala代码总是生成相同的序列seq import breeze.stats.distributions._ val g = new Gaussian(0, 1) val seq = gau.sample(3) 我正在使用scala构建monte carlo模拟器,希望模拟结果是可重复的(通过对特定随机种子的参数化)。创建隐式随机基,并将其执行到创建随机生成器的

如何使用scala breeze中的特定种子强制随机数生成器(如果可能的话),也就是说下面的scala代码总是生成相同的序列
seq

    import breeze.stats.distributions._        
    val g = new Gaussian(0, 1)
    val seq = gau.sample(3)

我正在使用scala构建monte carlo模拟器,希望模拟结果是可重复的(通过对特定随机种子的参数化)。

创建隐式随机基,并将其执行到创建随机生成器的任何位置。我可能应该为此改进API,但类似于:

implicit val randBasis: RandBasis = new RandBasis(new ThreadLocalRandomGenerator(new MersenneTwister(seed)))

(该线程可能无法实现您想要的功能。每个线程都获得相同的种子。您可能希望使用基于某个基本种子和线程标识的(稳定)指示符生成种子的工具。)感谢Dave提供的详细信息,特别是我接下来要讨论的单个线程上的注释部分。如果有人想要控制blackbox breeze函数中下游发生的任何随机数生成,这似乎没有帮助。例如,考虑编写一个单元测试,每次只需设置一个随机种子、一些玩具数据和调用优化器函数,就可以复制完全相同的优化器步骤序列。如果测试在调用优化器函数的级别上运行,就像它们是黑匣子一样,那么就没有选项“穿过”这些函数的内部以及它们自己可能维护的任何随机结构。