types.add(new ParameterTypeDouble(PARAMETER_LEARN_RATE, "Learning rate of algorithm. Range: double; 0-+?; default: 0.01", 0, Double.MAX_VALUE, 0.01, false));
types.add(new ParameterTypeInt(PARAMETER_NUM_ITER, "Number of iterations. Range: integer; 1-+?; default: 30", 1, Integer.MAX_VALUE, 30, false));
types.add(new ParameterTypeDouble(PARAMETER_REGULARIZATION, "Value of regularization parameter. Range: double; 0-+?; default: 0.015", 0, Double.MAX_VALUE, 0.015, true));
types.add(new ParameterTypeDouble(PARAMETER_INIT_MEAN, "Initial mean. Range: double; 0-+?; default: 0", 0, Double.MAX_VALUE, 0, true));
types.add(new ParameterTypeDouble(PARAMETER_INIT_STDEV, "Initial stdev. Range: double; 0-+?; default: 0.1", 0, Double.MAX_VALUE, 0.1, true));
types.add(new ParameterTypeBoolean(PARAMETER_BOLD_DRIVER, "Use bold driver heuristics for learning rate adaption. Range: boolean; default: false", false, true));
types.add(new ParameterTypeBoolean(PARAMETER_MAE_OPTIMIZED, "Use biased matrix factorization optimized for mean average error (MAE). Range: boolean; default: false", false, false));
return types;
}