计算一长串随机双精度的几何平均数

Sla*_*off 5 java math

所以,我今天在构建限制Boltzmann机器时遇到了一个问题,这应该是微不足道的,但似乎很麻烦.基本上我正在将2k值初始化为0到1之间的随机双精度数.

我想要做的是计算这个数据集的几何平均值.我遇到的问题是,由于数据集太长,所以将所有内容相乘将始终导致零,并且在每一步执行正确的根将只会导致1.

我可能会把这个列表列入其中,但我认为这真的很糟糕.关于如何以优雅的方式做到这一点的任何想法?

从理论上讲,我希望将当前的RBM代码扩展到接近15k +条目,并能够跨多个线程运行RBM.可悲的是,这排除了apache commons math(几何平均方法不同步),多头.

Meh*_*dad 11

哇,使用大十进制类型是有点矫枉过正!

只需取一切的对数,找到算术平均值,然后取幂.