* as this significantly slows the learning.
*/
NormalDistribution u = new NormalDistribution( this.randNumGenerator, 0, .01, fanIn() );
Matrix weights = new DenseMatrix( this.numberVisibleNeurons, this.numberHiddenNeurons ); //Matrix.zeros(nVisible,nHidden);
weights.assign(0.0);
for (int i = 0; i < this.connectionWeights.numRows(); i++) {
// TODO: figure out whats going on with the weights matrix
// weights.putRow(i,new Matrix(u.sample(this.W.columns)));