Factorization Machines Hyperparameters
The following table contains the hyperparameters for the Factorization Machines algorithm. These are parameters that are set by users to facilitate the estimation of model parameters from data. The required hyperparameters that must be set are listed first, in alphabetical order. The optional hyperparameters that can be set are listed next, also in alphabetical order.
Parameter Name  Description 

feature_dim 
The dimension of the input feature space. This could be very high with sparse input. Required Valid values: Positive integer. Suggested value range: [10000,10000000] 
num_factors 
The dimensionality of factorization. Required Valid values: Positive integer. Suggested value range: [2,1000], 64 typically generates good outcomes and is a good starting point. 
predictor_type 
The type of predictor.
Required Valid values: String: 
bias_init_method 
The initialization method for the bias term:
Optional Valid values: Default value: 
bias_init_scale 
Range for initialization of the bias term. Takes effect if
Optional Valid values: Nonnegative float. Suggested value range: [1e8, 512]. Default value: None 
bias_init_sigma 
The standard deviation for initialization of the bias term.
Takes effect if Optional Valid values: Nonnegative float. Suggested value range: [1e8, 512]. Default value: 0.01 
bias_init_value 
The initial value of the bias term. Takes effect if
Optional Valid values: Float. Suggested value range: [1e8, 512]. Default value: None 
bias_lr 
The learning rate for the bias term. Optional Valid values: Nonnegative float. Suggested value range: [1e8, 512]. Default value: 0.1 
bias_wd 
The weight decay for the bias term. Optional Valid values: Nonnegative float. Suggested value range: [1e8, 512]. Default value: 0.01 
clip_gradient 
Gradient clipping optimizer parameter. Clips the gradient by
projecting onto the interval [ Optional Valid values: Float Default value: None 
epochs 
The number of training epochs to run. Optional Valid values: Positive integer Default value: 1 
eps 
Epsilon parameter to avoid division by 0. Optional Valid values: Float. Suggested value: small. Default value: None 
factors_init_method 
The initialization method for factorization terms:
Optional Valid values: Default value: 
factors_init_scale

The range for initialization of factorization terms. Takes
effect if Optional Valid values: Nonnegative float. Suggested value range: [1e8, 512]. Default value: None 
factors_init_sigma 
The standard deviation for initialization of factorization
terms. Takes effect if Optional Valid values: Nonnegative float. Suggested value range: [1e8, 512]. Default value: 0.001 
factors_init_value 
The initial value of factorization terms. Takes effect if
Optional Valid values: Float. Suggested value range: [1e8, 512]. Default value: None 
factors_lr 
The learning rate for factorization terms. Optional Valid values: Nonnegative float. Suggested value range: [1e8, 512]. Default value: 0.0001 
factors_wd 
The weight decay for factorization terms. Optional Valid values: Nonnegative float. Suggested value range: [1e8, 512]. Default value: 0.00001 
linear_lr 
The learning rate for linear terms. Optional Valid values: Nonnegative float. Suggested value range: [1e8, 512]. Default value: 0.001 
linear_init_method 
The initialization method for linear terms:
Optional Valid values: Default value: 
linear_init_scale 
Range for initialization of linear terms. Takes effect if
Optional Valid values: Nonnegative float. Suggested value range: [1e8, 512]. Default value: None 
linear_init_sigma 
The standard deviation for initialization of linear terms.
Takes effect if Optional Valid values: Nonnegative float. Suggested value range: [1e8, 512]. Default value: 0.01 
linear_init_value 
The initial value of linear terms. Takes effect if
Optional Valid values: Float. Suggested value range: [1e8, 512]. Default value: None 
linear_wd 
The weight decay for linear terms. Optional Valid values: Nonnegative float. Suggested value range: [1e8, 512]. Default value: 0.001 
mini_batch_size 
The size of minibatch used for training. Optional Valid values: Positive integer Default value: 1000 
rescale_grad 
Gradient rescaling optimizer parameter. If set, multiplies the
gradient with Optional Valid values: Float Default value: None 