Separated the ParameterGradientEvaluator's input and output types, since they do not necessarily need to be the same.
FactorizationMachine now has a method for computing the gradients of the parameters with respect to an input.