MatrixFactorizationTrainer.Options.Alpha Field

Definition

Importance of unobserved entries' loss in one-class matrix factorization. Applicable if LossFunction set to SquareLossOneClass

public double Alpha;
val mutable Alpha : double
Public Alpha As Double 

Field Value

Remarks

Importance of unobserved (i.e., negative) entries' loss in one-class matrix factorization. In general, only a few of matrix entries (e.g., less than 1%) in the training are observed (i.e., positive). To balance the contributions from unobserved and observed in the overall loss function, this parameter is usually a small value so that the solver is able to find a factorization equally good to unobserved and observed entries. If only 10000 observed entries present in a 200000-by-300000 training matrix, one can try Alpha = 10000 / (200000*300000 - 10000). When most entries in the training matrix are observed, one can use Alpha >> 1; for example, if only 10000 in previous matrix is not observed, one can try Alpha = (200000 * 300000 - 10000) / 10000. Consequently, Alpha = (# of observed entries) / (# of unobserved entries) can make observed and unobserved entries equally important in the minimized loss function. However, the best setting in machine learning is always data-dependent so user still needs to try multiple values.

Applies to