

# Factorization Machines Hyperparameters
<a name="fact-machines-hyperparameters"></a>

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\$1dim | 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\$1factors | 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\$1type | The type of predictor. [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/en_us/sagemaker/latest/dg/fact-machines-hyperparameters.html) **Required** Valid values: String: `binary_classifier` or `regressor`  | 
| bias\$1init\$1method | The initialization method for the bias term: [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/en_us/sagemaker/latest/dg/fact-machines-hyperparameters.html) **Optional** Valid values: `uniform`, `normal`, or `constant` Default value: `normal`  | 
| bias\$1init\$1scale | Range for initialization of the bias term. Takes effect if `bias_init_method` is set to `uniform`.  **Optional** Valid values: Non-negative float. Suggested value range: [1e-8, 512]. Default value: None  | 
| bias\$1init\$1sigma | The standard deviation for initialization of the bias term. Takes effect if `bias_init_method` is set to `normal`.  **Optional** Valid values: Non-negative float. Suggested value range: [1e-8, 512]. Default value: 0.01  | 
| bias\$1init\$1value | The initial value of the bias term. Takes effect if `bias_init_method` is set to `constant`.  **Optional** Valid values: Float. Suggested value range: [1e-8, 512]. Default value: None  | 
| bias\$1lr | The learning rate for the bias term.  **Optional** Valid values: Non-negative float. Suggested value range: [1e-8, 512]. Default value: 0.1  | 
| bias\$1wd | The weight decay for the bias term.  **Optional** Valid values: Non-negative float. Suggested value range: [1e-8, 512]. Default value: 0.01  | 
| clip\$1gradient | Gradient clipping optimizer parameter. Clips the gradient by projecting onto the interval [-`clip_gradient`, \$1`clip_gradient`].  **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\$1init\$1method | The initialization method for factorization terms: [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/en_us/sagemaker/latest/dg/fact-machines-hyperparameters.html) **Optional** Valid values: `uniform`, `normal`, or `constant`. Default value: `normal`  | 
| factors\$1init\$1scale  | The range for initialization of factorization terms. Takes effect if `factors_init_method` is set to `uniform`.  **Optional** Valid values: Non-negative float. Suggested value range: [1e-8, 512]. Default value: None  | 
| factors\$1init\$1sigma | The standard deviation for initialization of factorization terms. Takes effect if `factors_init_method` is set to `normal`.  **Optional** Valid values: Non-negative float. Suggested value range: [1e-8, 512]. Default value: 0.001  | 
| factors\$1init\$1value | The initial value of factorization terms. Takes effect if `factors_init_method` is set to `constant`.  **Optional** Valid values: Float. Suggested value range: [1e-8, 512]. Default value: None  | 
| factors\$1lr | The learning rate for factorization terms.  **Optional** Valid values: Non-negative float. Suggested value range: [1e-8, 512]. Default value: 0.0001  | 
| factors\$1wd | The weight decay for factorization terms.  **Optional** Valid values: Non-negative float. Suggested value range: [1e-8, 512]. Default value: 0.00001  | 
| linear\$1lr | The learning rate for linear terms.  **Optional** Valid values: Non-negative float. Suggested value range: [1e-8, 512]. Default value: 0.001  | 
| linear\$1init\$1method | The initialization method for linear terms: [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/en_us/sagemaker/latest/dg/fact-machines-hyperparameters.html) **Optional** Valid values: `uniform`, `normal`, or `constant`. Default value: `normal`  | 
| linear\$1init\$1scale | Range for initialization of linear terms. Takes effect if `linear_init_method` is set to `uniform`.  **Optional** Valid values: Non-negative float. Suggested value range: [1e-8, 512]. Default value: None  | 
| linear\$1init\$1sigma | The standard deviation for initialization of linear terms. Takes effect if `linear_init_method` is set to `normal`.  **Optional** Valid values: Non-negative float. Suggested value range: [1e-8, 512]. Default value: 0.01  | 
| linear\$1init\$1value | The initial value of linear terms. Takes effect if `linear_init_method` is set to *constant*.  **Optional** Valid values: Float. Suggested value range: [1e-8, 512]. Default value: None  | 
| linear\$1wd | The weight decay for linear terms. **Optional** Valid values: Non-negative float. Suggested value range: [1e-8, 512]. Default value: 0.001  | 
| mini\$1batch\$1size | The size of mini-batch used for training.  **Optional** Valid values: Positive integer Default value: 1000  | 
| rescale\$1grad |  Gradient rescaling optimizer parameter. If set, multiplies the gradient with `rescale_grad` before updating. Often choose to be 1.0/`batch_size`.  **Optional** Valid values: Float Default value: None  | 