diff --git a/Source/Weights.hpp b/Source/Weights.hpp index b4a5f93..b86384c 100644 --- a/Source/Weights.hpp +++ b/Source/Weights.hpp @@ -82,23 +82,27 @@ public: m_w.resize(m_numVisible, m_numHidden); m_bv.resize(m_numVisible); m_bh.resize(m_numHidden); - shuffle(0.01); } void shuffle(double stdDev) { uint32_t i, j; - m_bv.array().fill(stdDev*Noise_Gaussian(&m_noise)); - m_bh.array().fill(stdDev*Noise_Gaussian(&m_noise)); - for (i=0; i < m_numVisible; i++) { for (j=0; j < m_numHidden; j++) { - m_w(i,j) = stdDev*Noise_Gaussian(&m_noise); + m_w(i,j) = stdDev*(Noise_Uniform(&m_noise) - 0.5); } } + for (i=0; i < m_numVisible; i++) + { + m_bv(i) = stdDev*(Noise_Uniform(&m_noise) - 0.5); + } + for (i=0; i < m_numHidden; i++) + { + m_bh(i) = stdDev*(Noise_Uniform(&m_noise) - 0.5); + } } Weights& operator= (const Weights &rhs) diff --git a/Source/noise.c b/Source/noise.c index 00f8d4f..542d48f 100644 --- a/Source/noise.c +++ b/Source/noise.c @@ -46,7 +46,7 @@ double ran0(long *idum) void Noise_Init(noise_gen_t *pObj, long seed) { - pObj->state = seed ^ clock(); + pObj->state = seed; } void Noise_Free(noise_gen_t *pObj)