added a weight_trainer that can possibly output a set/vector of weights that increases overall accuracy