So, I ran into a problem today in my design of a limited Boltzmann machine, which should be trivial, but it seems to be difficult. Basically, I initialize 2k values ββto random doubles between 0 and 1.
What I would like to do is calculate the geometric mean of this dataset. The problem I am facing is that since the dataset is so long, multiplying everything together will always lead to zero, and the correct root at each step will simply rails to 1.
I could add a list to the list, but I think it's really rude. Any ideas on how to do this in an elegant way?
In theory, I would like to expand my current RBM code to be closer to 15k + entries, and to be able to run RBM across multiple threads. Unfortunately, this excludes the math apache commons (geometric middle method is not synchronized), longs.
source
share