Used std::array::fill to set every element, instead of iterating.
Initialize weights to uniform random real values in [0.0, 1.0)