We store weights square roots to reduce numerical errors when CompareFeatureVectors ((VA - VB) * VW).square().sum() instead of ((VA - VB).square() * VW).sum() since (VA - VB).square() could lead to big numbers, and VW being multiplied by the variance of the dataset